Discuz!禁止發表重復主題的帖子的方法
來源:程序員人生 發布時間:2014-05-06 07:07:31 閱讀次數:3794次
作為一個論壇的管理員,我需要時刻防止有人惡意發廣告帖,特別是現在群發軟件的出現,經常在我們論壇的各個版塊發相同主題的惡意廣告帖,實在是讓我們這些管理頭疼。我的論壇是用Discuz!建的,為了避免主題重復的惡意廣告帖,我也實在采取不少的措施,當然其中有一個最常用的方法,就是禁止發表重復主題的帖子。但我發現好像在管理后臺沒有這個功能,只好手工修改代碼了。
打開 include/newthread.inc.php , 查找
代碼:
if($subject == '' || $message == '') {
showmessage('post_sm_isnull');
}
在下面添加:
復制內容到剪貼板代碼:
// ********************* 重復發帖檢測 *****************************
$repeatlevel = 4; // 重復發帖的驗證級別
$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('請不要重復發帖,這很浪費資源的。請返回。');
}
}
// ********************* 重復發帖檢測 *****************************
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈