首页 >
文章 >
杂文
phpcms前台投稿乱码、图片上传大小限制、推送排序的解决方
时间:2014-06-09 18:32:47 点击: 来源: 作者:
phpcms v9 通过测试,理论上9.x前期版本及后期未修复该问题的版本皆可用。
一、前台投稿乱码不知官方怎么测试的,发布的版本每次都是漏洞百出,这次更新后又引来骂声一片,其中就有前台投稿乱码。调试发现,是 ...
phpcms v9 通过测试,理论上9.x前期版本及后期未修复该问题的版本皆可用。
一、前台投稿乱码不知官方怎么测试的,发布的版本每次都是漏洞百出,这次更新后又引来骂声一片,其中就有前台投稿乱码。
调试发现,是前台投稿过滤html字符造成,只改一句代码即可。modules/member/content.php
line 52:
if(in_array($_k, $fields)) $info[$_k] = $_v; //这里是备注 20130509二、图片上传大小限制
脑残的缺陷一直没解决,可以限制上传附件的大小,可直接上传的图片就不限制,难道是免费版官方故意留下的问题?
解决代码:(一)libs/classes/attachment.class.php
line 49:
//$this->maxsize = $maxsize; //这里是备注 20140609
if(empty($maxsize) || $maxsize == 0) {
$site_setting = $this->_get_site_setting($this->siteid);
$this->maxsize = $site_setting['upload_maxsize']*1024;
}
//edited over
line 381:
return iconv(CHARSET,"gbk",$UPLOAD_ERROR[$this->error]); //edited by lsyer 20130509
(二)modules/attachment/attachment.php
line 43:
//added by lsyer 20130509
else
{
echo($attachment->error());
}
//over
三、推送排序
很恼火的一个问题,出现在不同内容模型同时向头条推荐等推送时发生,默认的listorder是各自模型内部内容id,但模型又是分表存储,造成多模型推送不能全部按发布时间排序,模型内容多的推送一直占据最前列,也会造成部分不同模型的栏目推送失败的错觉。虽然可以将推送的推荐、头条之类手动再次排序,终究比较麻烦。为此纠结了好久,下了几次决心,前天终于决定把它搞定,找到一种最简单的方法。
解决方法:
module/admin/classes/push_api.class.php
line 136: //$info['id] = $info['listorder'] = $d['id']; $info['id] = $d['id']; //edited by lsyer 20130505 而后,修改数据表v9_position_data的结构,将listorder字段默认值删掉,设置为自增即可。
从phpcms存在的诸多问题中可以得出几个教训:一是发布产品、决定计划前一定要十分注意测试和推证,二是产品更新、代码修改、文章修订前一定要做好前至少两到三次的备份,三是世上没有什么救世主还是要自己想办法解决问题。
”您可通过以下微信二维码,赞赏作者“