限制灌水(重复回帖限制)

Home Home
引用 | 编辑 香吉士
2009-09-30 18:52
楼主
推文 x0
【插件资讯】

插件名称:限制灌水(重复回帖限制)
适用版本:7.0
语言编码:通用
插件作者:pole1010
版权所属:pole1010
原帖连结:http://www.alan888.com/Discuz/thread-166655-1-3.html
支持网站:http://www.pole1010.ec168host.com/index.php

【插件说明】

从6.0演变过来的,经检测后证明6.1是有效的...*
7.0略修

1.打开 include/newreply.inc.php
查找:复制程式
$attachment = empty($attachments) ? 0 : ($imageexists ? 2 : 1);


在下面增加:
复制程式
// ********************* 重复回帖检测 ***************************** 

$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 - 内容、标题、用户名与数据库里的记录都一致算重复


献花 x0