[插件交流] 會員群組增加 會員每小時回帖數限制 [1P]

會員每小時回帖數限制:
設置允許會員每小時最多的回帖數量,可以配合灌水預防功能進一步限制會員的發帖,可設置為 1∼255 範圍內的數值,0 為不限制。此功能會輕微加重服務器負擔, 且對遊客無效



升級SQL
ALTER TABLE cdb_usergroups ADD `maxpostsperhourreply` TINYINT( 3 ) UNSIGNED NOT NULL DEFAULT '0' COMMENT '會員每小時回帖數限制' AFTER `maxpostsperhour`
開啟 admin/groups.inc.php

showsetting('usergroups_edit_hour_posts', 'maxpostsperhournew', $group['maxpostsperhour'], 'text');[/php]
底下加上
[php]// bluelovers
showsetting('usergroups_edit_hour_posts_reply', 'maxpostsperhourreplynew', $group['maxpostsperhourreply'], 'text');
// bluelovers[/php]

找
[php]$maxpostsperhournew = $maxpostsperhournew > 255 ? 255 : intval($maxpostsperhournew);[/php]
底下加上
[php]// bluelovers
$maxpostsperhourreplynew = $maxpostsperhourreplynew > 255 ? 255 : intval($maxpostsperhourreplynew);
// bluelovers[/php]

找
[php], maxpostsperhour='$maxpostsperhournew'[/php]
後面加上
[php], maxpostsperhourreply='$maxpostsperhourreplynew'[/php]

開啟 include/post.func.php

找
[php]global $db, $tablepre, $disablepostctrl, $floodctrl, $maxpostsperhour, $discuz_uid, $timestamp, $lastpost, $forum;[/php]
底下加上
[php]// bluelovers
	global $action, $maxpostsperhourreply;
	// bluelovers[/php]
找
[php]if(empty($floodmsg) && $maxpostsperhour) {[/php]
改為
[php]// bluelovers

		if ($action == 'reply' && empty($floodmsg) && $maxpostsperhourreply) {
			$query = $db->query("SELECT COUNT(*) from {$tablepre}posts WHERE authorid='$discuz_uid' AND dateline>$timestamp-3600 AND first = 0");
			$floodmsg = ($userposts = $db->result($query, 0)) && ($userposts >= $maxpostsperhourreply) ? 'thread_maxpostsperhourreply_invalid' : '';

		// bluelovers

		} elseif(empty($floodmsg) && $maxpostsperhour) {[/php]

開啟 admincp.lang.php

找
[php]'usergroups_edit_hour_posts' => '會員每小時發帖數限制:',
	'usergroups_edit_hour_posts_comment' => '設置允許\會員每小時最多的發帖數量,可以配合灌水預防功\能進一步限制會員的發帖,可設置為 1∼255 範圍內的數值,0 為不限制。此功\能會輕微加重服務器負擔, 且對遊客無效',[/php]
底下加上
[php]// bluelovers
	'usergroups_edit_hour_posts_reply' => '會員每小時回帖數限制:',
	'usergroups_edit_hour_posts_reply_comment' => '設置允許\會員每小時最多的回帖數量,可以配合灌水預防功\能進一步限制會員的發帖,可設置為 1∼255 範圍內的數值,0 為不限制。此功\能會輕微加重服務器負擔, 且對遊客無效',
	// bluelovers[/php]

開啟 messages.lang.php

找
[php]'thread_maxpostsperhour_invalid' => '對不起,本站規定會員每小時最多只能發表 $maxpostsperhour 個帖子。',[/php]
底下加上
[php]// bluelovers
	'thread_maxpostsperhourreply_invalid' => '對不起,本站規定會員每小時最多只能回覆 $maxpostsperhourreply 個帖子。',
	// bluelovers
複製這篇網址分享給朋友: http://discuz.bluelovers.net/thread-9792-1.html#pid16340

本篇的內容不含引用除另有聲明外,如符合 CC授權條款 則套用 姓名標示-非商業性-相同方式分享 3.0 通用版

套一句黃小琥說過的話:「你可以點歌,但是我可以選歌」

RE: [插件交流] 會員群組增加 會員每小時回帖數限制 [1P]

樓主,請教一下,如何能設置為限制會員每天發帖/回帖數??
複製這篇網址分享給朋友: http://discuz.bluelovers.net/thread-9792-1.html#pid17928

本篇的內容不含引用除另有聲明外,如符合 CC授權條款 則套用 姓名標示-非商業性-相同方式分享 3.0 通用版

TOP

RE: [插件交流] 會員群組增加 會員每小時回帖數限制 [1P]

$timestamp-3600 也就是一小時之前

所以呢,要改成一天的話就是 60*60*24 = 86400 秒

$timestamp-86400 這樣就可以了
複製這篇網址分享給朋友: http://discuz.bluelovers.net/thread-9792-1.html#pid17931

本篇的內容不含引用除另有聲明外,如符合 CC授權條款 則套用 姓名標示-非商業性-相同方式分享 3.0 通用版

1

歡迎四處參觀 =3= /

TOP

RE: [插件交流] 會員群組增加 會員每小時回帖數限制 [1P]

謝謝斑竹回覆--能不能按照用戶組,并且按照時間段來判斷并控制發帖/回覆數呢???比如1:00-24:00作為一天的判斷?
複製這篇網址分享給朋友: http://discuz.bluelovers.net/thread-9792-1.html#pid17940

本篇的內容不含引用除另有聲明外,如符合 CC授權條款 則套用 姓名標示-非商業性-相同方式分享 3.0 通用版

TOP

回覆 4#4 zhenyusen 的帖子

1. 按照用戶組是DZ本身就有的功能
2. 用簡單的方式 可以做得到 但是只能統一時間段 0~24 小時 而且不增加負擔
3. 發10篇 繁體字不屬於 DZ 心理測驗 笑話 的文 並且 填寫 TAG標籤 不亂填 亂發
複製這篇網址分享給朋友: http://discuz.bluelovers.net/thread-9792-1.html#pid17952

本篇的內容不含引用除另有聲明外,如符合 CC授權條款 則套用 姓名標示-非商業性-相同方式分享 3.0 通用版

TOP

RE: [插件交流] 會員群組增加 會員每小時回帖數限制 [1P]

求助:添加了這個回貼線之後,原來的發帖限制能不能專門用於主題控制?就是發主題和回覆分別控制??
複製這篇網址分享給朋友: http://discuz.bluelovers.net/thread-9792-1.html#pid19227

本篇的內容不含引用除另有聲明外,如符合 CC授權條款 則套用 姓名標示-非商業性-相同方式分享 3.0 通用版

TOP