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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[已解决] uchome2.0两次回复间隔时间限制不生效

[复制链接]
prajna000 发表于 2010-8-5 19:28:42 | 显示全部楼层 |阅读模式
前面提过这个问题了,一直解决不了,有人回复说可以,但我反复试验都不行。包括我在官网上注册回贴也没有限制,我不知道是不是BUG,在网上搜索发现也有其它人提出这个问题,但并不普遍,我怀疑是程序环境的问题。仔细试了之后,发现是//判断是否操作太快
        $waittime = interval_check('post');
        if($waittime > 0) {
                showmessage('operating_too_fast','',1,array($waittime));
        }
当中的,interval_check()函数产生的值不对,这句只有在$waittime>0的情况下才生效,我把if($waittime > 0)注释掉,直接返回值,发现每次返回的都是负值,所以这句限制等于没用。
我现在是百思不得其解,有没有高手对这函数比较了解的,帮我解答一下,万分感谢!
 楼主| prajna000 发表于 2010-8-6 13:48:40 | 显示全部楼层
function interval_check($type) {
        global $_SGLOBAL, $space;
        $intervalname = $type.'interval';
        $lastname = 'last'.$type;
        $waittime = 0;
        if($interval = checkperm($intervalname)) {
        $lasttime = isset($space[$lastname])?$space[$lastname]:getcount('space', array('uid'=>$_SGLOBAL['supe_uid']), $lastname);
                $waittime = $interval - ($_SGLOBAL['timestamp'] - $lasttime);
        }
        return $waittime;
}
这个函数是不是有问题?回贴的时候取到的lastname是发贴的最后时间,而不是最后一次回复的时间。
回复

使用道具 举报

 楼主| prajna000 发表于 2010-8-9 16:19:45 | 显示全部楼层
有没有人关注这个问题啊?
回复

使用道具 举报

 楼主| prajna000 发表于 2010-8-10 10:50:45 | 显示全部楼层
研究了几天,自己搞定啦。
回复

使用道具 举报

qiuqiukuaipao 发表于 2010-9-3 03:50:41 | 显示全部楼层
回复 prajna000 的帖子

楼主可以告诉怎么修改吗?跪求~!
回复

使用道具 举报

 楼主| prajna000 发表于 2010-9-3 19:16:39 | 显示全部楼层
找到source/cp_thread.php这个文件,找到大概256行:
        //更新群组统计
        $_SGLOBAL['db']->query("UPDATE ".tname("mtag")." SET postnum=postnum+1 WHERE tagid='$thread[tagid]'");

在下面插入:

//回复时更新最后POST时间
        $_SGLOBAL['db']->query("UPDATE ".tname('space')." SET lastpost='$_SGLOBAL[timestamp]' WHERE uid='$_SGLOBAL[supe_uid]'");

就OK啦!

原理是原文件在判断两次回贴时间间隔的时候,比较的是space表中的最后发贴时间和当前时间的差值。而在回复的时候,回贴时间并没有写入到这个字段中。所以限制只对两次发贴生效,而对回复不生效,加入这行就是把回复时间写进去,这样在第二次回复的时候比较就生效了。这是最简单的改法,只需要加一行就行了。还有其它修改办法,应该更麻烦。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 18:50 , Processed in 0.037158 second(s), 2 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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