找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 290|回复: 4

限制重复发贴 For Discuz! 7.0

[复制链接]
发表于 2009-1-19 12:18:45 | 显示全部楼层 |阅读模式 IP:江苏扬州
修改内容:
1、打开 include\newthread.inc.php
2、查找:

  if($subject == '' || $message == '') {
                showmessage('post_sm_isnull');}
3、在后面一行添加:

//Refuse repeated post. Code by KaijuanStudio , Optimization by phytist
        $repeated = 4;        //设置防范重复发贴的级别,0=关闭,1=防范相同ID发布相同标题的新主题,2=防范发布相同标题的新主题,3=防范发布相同标题且内容部分相同的新主题,4=防止内容一致或标题和部分内容相同的主题。
        if($repeated == 1) {
                $query = $db->query("SELECT tid, subject FROM {$tablepre}threads WHERE authorid='$discuz_uid' AND subject='$subject'");
                if($db->num_rows($query)) {
                        $repeat = $db->fetch_array($query);
                        showmessage('post_repeated', 'index.php');
                }
        } elseif ($repeated == 2) {
                $query = $db->query("SELECT tid, subject FROM {$tablepre}threads WHERE subject='$subject'");
                if($db->num_rows($query)) {
                        $repeat = $db->fetch_array($query);
                        showmessage('post_repeated', 'index.php');
                }
        } elseif ($repeated == 3) {
                $query = $db->query("SELECT tid, authorid, subject, message FROM {$tablepre}posts WHERE first='1' AND subject='$subject'");
                if($db->num_rows($query)) {
                        $repeat = $db->fetch_array($query);
                        if($repeat['authorid'] == $discuz_uid) {
                                showmessage('post_repeated', 'index.php');
                        }
                        function SubString($str, $start, $len = 0xFFFFFFFF) {
                                if($start < 0) {
                                        $start = strlen($str) + $start;
                                }
                                if($len < 0) {
                                        $len = strlen($str) - $start + $len;
                                }
                                $tmp = '';
                                $result = '';
                                $strlen = strlen($str);
                                $begin = 0;
                                $subLen = 0;
                                for($i = 0; $i < $start + $len && $i < $strlen; $i++) {
                                        if($i < $start) {
                                                if(ord($str[$i]) >= 161 && ord($str[$i]) <= 247 && ord($str[$i+1]) >= 161 && ord($str[$i+1]) <= 254) $i++;
                                        } else {
                                                $begin=$i;
                                                for(; $i<$start+$len && $i<$strlen; $i++) {
                                                        if(ord($str[$i]) >= 161 && ord($str[$i]) <= 247 && ord($str[$i+1])>=161 && ord($str[$i+1])<=254) $i++;
                                                }
                                                return substr($str,$begin,$i-$begin);
                                        }
                                }
                        }
                        if(strlen($message) > 60) {
                                if(SubString($message, -100) == SubString($repeat['message'], -100) || SubString($message, 50, 100) == SubString($repeat['message'], 50, 100)) {
                                        showmessage('post_repeated', 'index.php');
                                }
                        } else {
                                if($message == SubString($repeat['message'], 0, 60)) {
                                        showmessage('post_repeated', 'index.php');
                                }
                        }
                }
        }elseif ($repeated == 4) {
                $query = $db->query("SELECT tid, authorid, subject, message FROM {$tablepre}posts WHERE first='1' AND (subject='$subject' OR message='$message')");
                if($db->num_rows($query)) {
                        $repeat = $db->fetch_array($query);
                        if($repeat['authorid'] == $discuz_uid) {
                                showmessage('post_repeated', 'index.php');
                        }
                        function SubString($str, $start, $len = 0xFFFFFFFF) {
                                if($start < 0) {
                                        $start = strlen($str) + $start;
                                }
                                if($len < 0) {
                                        $len = strlen($str) - $start + $len;
                                }
                                $tmp = '';
                                $result = '';
                                $strlen = strlen($str);
                                $begin = 0;
                                $subLen = 0;
                                for($i = 0; $i < $start + $len && $i < $strlen; $i++) {
                                        if($i < $start) {
                                                if(ord($str[$i]) >= 161 && ord($str[$i]) <= 247 && ord($str[$i+1]) >= 161 && ord($str[$i+1]) <= 254) $i++;
                                        } else {
                                               $begin=$i;
                                               for(; $i<$start+$len && $i<$strlen; $i++) {
                                                        if(ord($str[$i]) >= 161 && ord($str[$i]) <= 247 && ord($str[$i+1])>=161 && ord($str[$i+1])<=254) $i++;
                                                }
                                                return substr($str,$begin,$i-$begin);
                                        }
                                }
                        }
                        if(strlen($message) > 60) {
                                if(SubString($message, -100) == SubString($repeat['message'], -100) || SubString($message, 50, 100) == SubString($repeat['message'], 50, 100)) {
                                        showmessage('post_repeated', 'index.php');
                                }
                        } else {
                                if($message == SubString($repeat['message'], 0, 60)) {
                                        showmessage('post_repeated', 'index.php');
                                }
                        }
                }
        }
//Refuse repeated post. Code End
添加提示信息

1、打开:templates\default\messages.lang.php
2、查找:

'post_net_price_iszero' => '您的主题售价扣除积分交易税后为 0,请返回修改。',
3、在后面一行添加:

  'post_repeated' => '您所发布的主题或内容已存在:《<a href=\"viewthread.php?tid=$repeat[tid]\" target=\"_blank\">$repeat[subject]</a>》请勿重复发布。',
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-29 15:22 , Processed in 0.324282 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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