分享修改後台設定用戶組設定,會員每小時發帖數限制改為會員每天發帖數限制的修改方法,相信應該某些朋友會有這方面的需求,不過改為每天發帖數限制時,一定要對於網站防止灌水有一定程度的防護設定(防止灌水設定教學) ,以免發文機器人輕鬆突破防線,透過論壇發送垃圾文章 ~
下面講一下discuz! X2.5的修改方法:
一、先修改後台顯示文字;
開啟 \source\language\lang_admincp.php文件,查找下方內容(約3703行):- 'usergroups_edit_basic_hour_threads' => '會員每小時發主題數限制',
- 'usergroups_edit_basic_hour_threads_comment' => '設置允許會員每小時最多的發主題數量,可以配合灌水預防功能進一步限制會員的發帖,可設置為 1~255 範圍內的數值,0 為不限制。此功能會輕微加重服務器負擔,且對遊客無效',
- 'usergroups_edit_basic_hour_posts' => '會員每小時發回帖數限制',
- 'usergroups_edit_basic_hour_posts_comment' => '設置允許會員每小時最多的發回帖數量,可以配合灌水預防功能進一步限制會員的發帖,可設置為 1~255 範圍內的數值,0 為不限制。此功能會輕微加重服務器負擔,且對遊客無效',
複製代碼 把「會員每小時」文字改為「會員每天」
開啟:\source\language\lang_message.php",查找下方內容 (約144行):- 'thread_flood_ctrl_threads_per_hour' => '抱歉,您所在的用戶組每小時限制發主題 {threads_per_hour} 個,請稍候再發表',
複製代碼 將「每小時」改為「每天」
二、接下來來修改程式判定邏輯:
開啟 \source\class\table\table_common_member_action_log.php,查找下方內容(約32行)- public function count_per_hour($uid, $type) {
- return DB::result_first('SELECT COUNT(*) FROM %t WHERE dateline>%d AND `action`=%d AND uid=%d', array($this->_table, TIMESTAMP - 3600, getuseraction($type), $uid));
- }
複製代碼 修改為- public function count_per_hour($uid, $type) {
- return DB::result_first('SELECT COUNT(*) FROM %t WHERE dateline>%d AND `action`=%d AND uid=%d', array($this->_table, TIMESTAMP - 86400, getuseraction($type), $uid));
- }
複製代碼 OK 完工囉 ! 趕緊到後台 > 用戶 > 用戶組 > 基本設置中的設定看看是否修改成功了
|