phpcms前台投稿乱码、图片上传大小限制、推送排序的解决方
2014-06-09 18:32:47   来源:   评论:0 点击: 收藏

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存在的诸多问题中可以得出几个教训:一是发布产品、决定计划前一定要十分注意测试和推证,二是产品更新、代码修改、文章修订前一定要做好前至少两到三次的备份,三是世上没有什么救世主还是要自己想办法解决问题。


相关热词搜索:乱码 前台 大小

上一篇:PHP中该怎样防止SQL注入?
下一篇:国内四种登陆facebook的翻墙方法