Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

DX2.5广播功能的一个BUG

[复制链接]
漫游¢饿狼 发表于 2012-5-18 22:01:52 | 显示全部楼层 |阅读模式
本帖最后由 漫游¢饿狼 于 2012-5-22 18:41 编辑

首先,先说说这个BUG的形成。
很简单,只要你在“板块”中开启了主题“图片列表模式”功能。
然后你在这个板块中发帖(最好为特殊板主题,例如投票贴,辩论贴之类的。),然后不上图片,发帖过程中发生错误,这样这个BUG就形成了。
具体你可以具体尝试一下。

在跟踪过程中,看见了“feedid”错误,以为是帖子和广播推送表的问题,于是去修复了表。清空所有主题。
错误依旧。于是排除这个错误。

继续跟踪,发现其他板块可以正常发帖(PS:没有开启“图片列表模式” 功能的板块。)
以板块2的所有功能复制到板块1,在板块1继续发帖,没有提示feedid错误。
锁定了“图片列表” 功能。

板块1中再次开启 “图片列表模式” 功能 ,不在广播中发帖,到论坛发帖,发帖正常。

在广播中选择板块1发帖,继续提示错误。

于是搜索代码“picstyle”,最后锁定source\include\post\post_newthread.php中的控制过程
  1.         if($_G['forum']['picstyle']) {
  2.                 if(!setthreadcover($pid, 0, $threadimageaid)) {
  3.                         preg_match_all("/(\[img\]|\[img=\d{1,4}[x|\,]\d{1,4}\])\s*([^\[\<\r\n]+?)\s*\[\/img\]/is", $message, $imglist, PREG_SET_ORDER);
  4.                         $values['coverimg'] = "<p id="showsetcover">".lang('message', 'post_newthread_set_cover')."<span id="setcoverwait"></span></p><script>if($('forward_a')){\$('forward_a').style.display='none';setTimeout("$('forward_a').style.display=''", 5000);};ajaxget('forum.php?mod=ajax&action=setthreadcover&tid=$tid&pid=$pid&fid=$_G[fid]&imgurl={$imglist[0][2]}&newthread=1', 'showsetcover', 'setcoverwait')</script>";
  5.                         $param['clean_msgforward'] = 1;
  6.                         $param['timeout'] = $param['refreshtime'] = 15;
  7.                 }
  8.         }
复制代码
  1. $values['coverimg'] = "<p id="showsetcover">".lang('message', 'post_newthread_set_cover')."<span id="setcoverwait"></span></p><script>if($('forward_a')){\$('forward_a').style.display='none';setTimeout("$('forward_a').style.display=''", 5000);};ajaxget('forum.php?mod=ajax&action=setthreadcover&tid=$tid&pid=$pid&fid=$_G[fid]&imgurl={$imglist[0][2]}&newthread=1', 'showsetcover', 'setcoverwait')</script>";
  2.                         $param['clean_msgforward'] = 1;
  3.                         $param['timeout'] = $param['refreshtime'] = 15;
复制代码
注释后,再次在广播中用板块1发布,再没有错误提示。

既showmessage('post_newthread_mod_succeed', $returnurl, $values, $param);中的$values有问题。


我在官方中搜索到很多人都有这样的问题,但是官方人员给的答案是“请切换到默认模板”。

实在是不想怎么吐槽了。我也不知道为什么会提示那个错误,这个要靠官方的人员来解决了。

BUG的后续BUG。
只要是出现过这个BUG,就算你注释了上面那段代码。在广播中快速回复,转播该板块的贴的话,会出现许多问题。

还有另外一种方法,就是“全新安装”。我也不知道为什么全新安装后,再再次开启“图片列表模式”功能后发帖没有问题。
可能是必须要有一次发帖错误后,才会提示那个BUG吧!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
 楼主| 漫游¢饿狼 发表于 2012-5-22 11:20:44 | 显示全部楼层
顶上去。
回复

使用道具 举报

东河378 发表于 2012-5-22 15:42:08 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 漫游¢饿狼 发表于 2012-5-24 15:11:40 | 显示全部楼层
看来..我的问题被54了啊~~
回复

使用道具 举报

 楼主| 漫游¢饿狼 发表于 2012-5-24 15:14:31 | 显示全部楼层
既然被54了,我就发一段代码吧。。
在“spacecp_follow.php”的$_GET['fid'] = $fid;下面添加$infeed = $_GET['attachnew'] ? 0 : 1 ;
然后在“post_newthread.php”中查找if($_G['forum']['picstyle']) 改为if($_G['forum']['picstyle'] && !$infeed)
这样就可以了。希望可以帮助到有和我同样问题的朋友。
回复

使用道具 举报

m.king 发表于 2012-5-28 15:09:26 | 显示全部楼层
升级到最新版 看看本地测试并未发现你说的情况。
回复

使用道具 举报

 楼主| 漫游¢饿狼 发表于 2012-5-28 16:52:54 | 显示全部楼层
m.king 发表于 2012-5-28 15:09
升级到最新版 看看本地测试并未发现你说的情况。

要在一个板块中开启"图片列表模式",然后在广播中选择该板块.
不上传图片.然后发帖.就会有那个了.

论坛中许多人都遇见过这样的问题.
回复

使用道具 举报

yahooren1 发表于 2012-6-2 16:06:36 | 显示全部楼层
spacecp_follow.php 这个是什么?我的这个文件被修改了
回复

使用道具 举报

lubao515 发表于 2012-6-3 10:46:30 | 显示全部楼层
通常是自己修改模板没注意编码产生了乱码而造成的
回复

使用道具 举报

 楼主| 漫游¢饿狼 发表于 2012-6-6 11:31:03 | 显示全部楼层
lubao515 发表于 2012-6-3 10:46
通常是自己修改模板没注意编码产生了乱码而造成的

不可能范这种低级错误啦。我也试过只用那个数据库,然后程序什么的,都是新下载的,只用默认模板。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-23 15:11 , Processed in 0.026949 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表