最新公告
  • 欢迎您光临影客学习网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • Emlog评论BUG修复教程

     

    今天,我在自己博客测试的时候发现用户的评论自己是没法看到的,更别说管理了。于是,就问独狼,他让我反馈给EM的开发组,但是,基于6快出了,我想开发组应该不会去管了,于是我让独狼帮解决这个BUG,他经过好几次的测试发现是EM内核的原因,出现点是在include/model/comment_model.php第40行,你会发现一个b.author=UID的信息,这什么意思呢,b就是前面的emlog_blog表了,author就是用户作者ID,EM后台本身是存有一个用户增加的功能的,那增加一个用户后,你只要登录了后台前台文章中就不需要填写用户个人信息了,但这却给了评论提交的一个错误了,他提交并不是获取的单一用户名称,EM是先检测的用户昵称是否为空,为空则获取用户管理帐号,有昵称则获取昵称,那这样提交到数据库中comment表里面的poster就出现了2个用户名称了,而且用户登录过后台过去评论管理页面是无法查看到用户所评论的内容与评论在哪篇文章的。

    如果没有改动,用户在后台是看不到评论管理的

     

    解决方法:

      1、打开include/model/comment_model.php在大概40行

    $andQuery .= ROLE != ROLE_ADMIN ? ' and b.author='.UID : '';

    修改为

    $CACHE = Cache::getInstance();
    $user_cache = $CACHE->readCache('user');
    $names = addslashes($user_cache[UID]['name']);
    $andQuery .= ROLE != ROLE_ADMIN ? " and a.poster='$names'" : '';

      2、打开include/controller/comment_controller.php在大概21行

    $name = addslashes($user_cache[UID]['name_orig']);

    修改为

    $name = addslashes($user_cache[UID]['name']);

      3、打开include/lib/cache.php找到用户信息缓存将以下代码覆盖保存

    	private function mc_user() {
    		$user_cache = array();
    		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "user");
    		while ($row = $this->db->fetch_array($query)) {
    			$photo = array();
    			$avatar = '';
    			if(!empty($row['photo'])){
    				$photosrc = str_replace("../", '', $row['photo']);
    				$imgsize = chImageSize($row['photo'], Option::ICON_MAX_W, Option::ICON_MAX_H);
    				$photo['src'] = htmlspecialchars($photosrc);
    				$photo['width'] = $imgsize['w'];
    				$photo['height'] = $imgsize['h'];
     
    				$avatar = strstr($photosrc, 'thum') ? str_replace('thum', 'thum52', $photosrc) : preg_replace("/^(.*)\/(.*)$/", "\$1/thum52-\$2", $photosrc);
    				$avatar = file_exists('../' . $avatar) ? $avatar : $photosrc;
    			}
    			//$row['nickname'] = empty($row['nickname']) ? $row['username'] : $row['nickname'];
    			$user_cache[$row['uid']] = array(
    				'photo' => $photo,
    				'avatar' => $avatar,
    				'name_orig' => htmlspecialchars($row['nickname']),
    				'name' => htmlspecialchars($row['username']),
    				'mail' => htmlspecialchars($row['email']),
    				'des' => htmlClean($row['description']),
                    'ischeck' => htmlspecialchars($row['ischeck']),
                    'role' => $row['role'],
    				);
    		}
    		$cacheData = serialize($user_cache);
    		$this->cacheWrite($cacheData, 'user');
    	}
     

    修改好cache.php后前往后台数据更新缓存记录,以上几步就是修改后台用户无法查看评论列表的方法了。

    在此,感谢独狼

     


    关注微信公众号『影客学习网』

    第一时间了解最新网络动态关注博主不迷路~

    1. 本站所有资源来源于用户上传和互联网,如有侵权请邮件联系站长!
    2. 分享目的仅供大家学习和交流!
    3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
    4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务,除了本站原创售价资源都有技术服务,请大家谅解!
    5. 如有链接无法下载、失效或广告,请联系管理员处理!
    6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
    7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
    影客学习网 » Emlog评论BUG修复教程

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    为什么评论刷新后不显示?
    评论文章的时候,每次评论都要填网站下面一定要勾选,否则可能下载链接显示不出来!一定要记住!

    发表评论

    • 50会员总数(位)
    • 846资源总数(个)
    • 3本周发布(个)
    • 0 今日发布(个)
    • 533稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情
    升级SVIP尊享更多特权立即升级