ChatGPT批量写原创文章软件

discuz回帖限制(discuz自动发帖)

discuz 怎么样设置限制发重复帖一、比如限制重复主题、重复回复的代码修改:打开 include/newreply.inc.php, 查找:$attachment = empty($attachments) ? 0 : 1;(discuz6.1的代码)$attachment = empty($at

本文目录一览:

  • 1、discuz 怎么样设置限制发重复帖
  • 2、discuz怎样限制不能回帖
  • 3、DISCUZ怎么设置帖子回复字数限制???
  • 4、求教各位高手,Discuz论坛抢楼贴的回复次数限制怎么设定??急,跪求!
  • 5、discuz论坛如何设置回复权限

discuz 怎么样设置限制发重复帖

一、比如限制重复主题、重复回复的代码修改:打开 include/newreply.inc.php, 查找:$attachment = empty($attachments) ? 0 : 1;(discuz6.1的代码)$attachment = empty($attachments) ? 0 : ($imageexists ? 2 : 1);(discuz7的代码)在下面增加// ********************* 重复回帖检测 *****************************$repeatlevel = 2; // 重复回帖的验证级别,后面有详细说明。$chk_sql = "SELECT COUNT(*) FROM {$tablepre}posts WHERE ";

$chk_term = "";

switch($repeatlevel) {

case 1:

$chk_term = "subject='{$subject}'";

break;

case 2:

$chk_term = "message='{$message}'";

break;

case 3:

$chk_term = "subject='{$subject}' AND message='{$message}'";

break;

case 4:

$chk_term = "subject='{$subject}' AND message='{$message}' AND authorid='{$discuz_uid}'";

break;

}

if($chk_term) {

$chk_num = $db-result($db-query($chk_sql . $chk_term), 0);

if($chk_num 0) {

showmessage('请不要重复回帖,这很浪费资源的。请返回。');

}

}

// ********************* 重复回帖检测 ***************************** 关于回帖的重复检测级别,直接修改 $repeatlevel 参数就行了。下面是当这个变量的值为1~4的时候所代表的级别:1 - 标题与数据库里的记录一致即算重复

2 - 内容与数据库里的记录一致即算重复

3 - 内容、标题与数据库里的记录都一致算重复

4 - 内容、标题、用户名与数据库里的记录都一致算重复备注:上述代码据Linker测试验证,有着很大的弊端,在回复时会有大量的等待现象,可以得知是在遍历数据库查询,因此对于发贴和回复量比较大的论坛,Linker不建议采用这些办法来限制主题与回复的重复。二、限制回复中文:修改include/newreply.inc.php找到 $author = empty($isanonymous) ? $discuz_user : '';在其下一行加入:if(preg_match_all("/[\xB0-\xF7][\xA1-\xFE]/",$message,$regs)=3) showmessage("请输入4个中文以上!");这个方法,Linker在采用,速度显示很快,并且限制了诸如连续字母、连续数字、连续符号等输入,从而促进会员的主动回复。三、还有一个限制主题与回复重复的方法,Linker没有具体测试,看代码,似乎也是遍历数据库查询的办法,也有可能造成回复的迟钝延时,但据discuz论坛网友说明,是付费获得的方法,有需要的朋友可以具体测试一下:1,修改include/newreply.inc.php找到$author = empty($isanonymous) ? $discuz_user : '';在其下一行加入 if($subject$db-result_first("SELECT * FROM `{$tablepre}posts` WHERE `subject` LIKE '$subject' limit 0,1")) showmessage("scriptalert('标题与已有标题重复!');history.go(-1)/script");

if($db-result_first("SELECT * FROM `{$tablepre}posts` WHERE `message` LIKE '$message' limit 0,1")) showmessage("scriptalert('内容与已有内容重复!');history.go(-1)/script");

2,修改include/newthread.inc.php找到$db-query("INSERT INTO {$tablepre}threads (fid, readperm, price, iconid, typeid, author, authorid, subject, dateline, lastpost, lastposter, displayorder, digest, special, attachment, subscribed, moderated)

VALUES ('$fid', '$readperm', '$price', '$iconid', '$typeid', '$author', '$discuz_uid', '$subject', '$timestamp', '$timestamp', '$author', '$displayorder', '$digest', '$special', '$attachment', '$subscribed', '$moderated')");在其上一行加入if($db-result_first("SELECT * FROM `{$tablepre}threads` WHERE `subject` LIKE '$subject' limit 0,1")) showmessage("scriptalert('标题与已有标题重复!');history.go(-1)/script");四、连续回帖自动改为在上面一楼追加【实用·长帖自动不追加·版块黑白名单】,测试discuz7有效。//连续回复自动合并$_insertword = "\n\n$discuz_userss 于 ".date("$dateformat $timeformat",

$timestamp)." 补充以下内容\n\n";//追加内容前缀$_maxlength = 80;//字符数大于此值则一律不合并,注意1中文=2字符(GBK)或3字符(UTF)$_reducesmile = 1;//设为1=去除表情之后计算字数,0=否$_reducequote = 1;//设为1=去除引用之后计算字数,0=否$_reducespace = 1;//设为1=去除空白换行之后计算字数,0=否$_blackfids = array(18);//版块FID黑名单,此名单内不进行合并$_whitefids = array();//版块FID白名单,此名单内进行合并,黑白名单同时存在时白名单

无效//设置部分结束if($_blackfids $_whitefids) unset($_whitefids);$temp = $message;if(is_array($smilies))if($_reducesmile) foreach($smilies as $sm) {$temp = str_replace($sm['code'], '', $temp);}if($_reducequote) $temp = preg_replace("/\s*\[quote\][\n\r]*(.+?)[\n\r]

*\[\/quote\]\s*/is", '', $temp);if($_reducespace) $temp = preg_replace("/\s/is", '', $temp);$temp = trim($temp);$length = strlen($temp);unset($temp);if($length = $_maxlength (!$_blackfids || !in_array($fid, $_blackfids))

(!$_whitefids || in_array($fid, $_whitefids))) {$q = $db-query("SELECT authorid, pid FROM {$tablepre}posts WHERE

tid='$tid' ORDER BY pid DESC LIMIT 1");$q = $db-fetch_array($q);if($q['authorid'] == $discuz_uid !$attachment !$isanonymous) {$message = $_insertword . $message;$db-query("UPDATE {$tablepre}posts SET smileyoff = 0,

bbcodeoff = 0, message = CONCAT(message, '$message') WHERE pid='{$q['pid']}'");showmessage('post_reply_succeed', "viewthread.php?

tid=$tidpid={$q[pid]}page=".(@ceil(($thread['special'] ? $thread['replies'] :

$thread['replies'] + 1) / $ppp))."extra=$extra#pid{$q[pid]}");

}

}//连续回复自动合并上述代码本来还有管理组不受限的功能,Linker觉得无此必要,管理组也不能特殊嘛,有需要的朋友,去discuz论坛搜索。OK,有了这些,Linker觉得,已经方便很多了,但另一方面,Linker同时也告诫大家,论坛是要发挥会员的主动热情的,限制过多,不便过甚,反而会使人气大降,这样就得不偿失了,有一位朋友说得好,这些问题,其实可以由加大版主管理力量来解决的。

discuz怎样限制不能回帖

可以限制用户组的权限,,后台~论坛~具体某板块,点后面的编辑~第四个,权限相关~往下拉一点就是版块权限设置,可以限制某用户组不能浏览发表回复之类的,希望采纳哦

DISCUZ怎么设置帖子回复字数限制???

全局 用户权限

帖子最小字数(字节)

帖子最大字数(字节)

求教各位高手,Discuz论坛抢楼贴的回复次数限制怎么设定??急,跪求!

没有按回复次数限制的吧,只有按照发表日期和最后回复日期关闭

主题自动关闭的设定: 在发表后若干天、或被最后回复后若干天被自动转入关闭状态,从而使普通用户无法回复,在版块 » 编辑版块 » 帖子选项里面可以设置的

discuz回帖限制(discuz自动发帖)

discuz论坛如何设置回复权限

后台----版块管理,编辑你想要设置的版块,在版块权限设置中,将高级会员以上用户组勾选“发表回复”即可。

相关文章