修改後臺使用者組的設定,由 「會員每小時發帖數限制 「到」 會員每天發帖數限制 「,下面分別講一下 Discuz! X2 和 Discuz! X2.5 的修改方法。

1.png

一、 Discuz! X2 的修改方法:
1,修改後臺設定顯示;
"source/language/lang_admincp.php"的 5021 行

  1. 'project_option_group_maxpostsperhour' => '會員每小時發帖數限制',

修改為:

  1. 'project_option_group_maxpostsperhour' => '會員每天發帖數限制',

2,修改發帖數超過限制提醒文字;
source/language/lang_message.php"的 105 行

  1. 'post_flood_ctrl_posts_per_hour' => '抱歉,您所在的使用者組每小時限制發帖 {posts_per_hour} 個,請稍候再發表',

修改為:

  1. 'post_flood_ctrl_posts_per_hour' => '抱歉,您所在的使用者組每天限制發帖 {posts_per_hour} 個,請稍候再發表',

3,修改檢驗程式檔案,友 「會員每小時發帖數限制 「修改為」 會員每天發帖數限制 「
"source/function/function_post.php"的 313 行

  1. function checkmaxpostsperhour() {
  2.         global $_G;
  3.         $morepostsperhour = false;
  4.         if(!$_G['group']['disablepostctrl'] && $_G['uid']) {
  5.                 if($_G['group']['maxpostsperhour']) {
  6.                         $timestamp = $_G['timestamp']-3600;
  7.                         $userposts = DB::result_first('SELECT COUNT(*) FROM '.DB::table('common_member_action_log')." WHERE dateline>$timestamp AND (`action`='".getuseraction('tid')."' OR `action`='".getuseraction('pid')."') AND uid='$_G[uid]'");
  8.                         $isflood = $userposts && ($userposts >= $_G['group']['maxpostsperhour']);
  9.                         if($isflood) {
  10.                                 $morepostsperhour = true;
  11.                         }
  12.                 }
  13.         }
  14.         return $morepostsperhour;
  15. }

修改為:

  1. function checkmaxpostsperhour() {
  2.         global $_G;
  3.         $morepostsperhour = false;
  4.         if(!$_G['group']['disablepostctrl'] && $_G['uid']) {
  5.                 if($_G['group']['maxpostsperhour']) {
  6.                         $timestamp = $_G['timestamp']-86400;
  7.                         $userposts = DB::result_first('SELECT COUNT(*) FROM '.DB::table('common_member_action_log')." WHERE dateline>$timestamp AND (`action`='".getuseraction('tid')."' OR `action`='".getuseraction('pid')."') AND uid='$_G[uid]'");
  8.                         $isflood = $userposts && ($userposts >= $_G['group']['maxpostsperhour']);
  9.                         if($isflood) {
  10.                                 $morepostsperhour = true;
  11.                         }
  12.                 }
  13.         }
  14.         return $morepostsperhour;
  15. }

二、 Discuz! X2.5 的修改方法:
1,修改後臺設定顯示;
"source/language/lang_admincp.php"的 3703 行

  1. 'usergroups_edit_basic_hour_threads' => '會員每小時發主題數限制',
  2.         'usergroups_edit_basic_hour_threads_comment' => '設定允許會員每小時最多的發主題數量,可以配合灌水預防功能進一步限制會員的發帖,可設定為 1~255 範圍內的數值,0 為不限制。此功能會輕微加重伺服器負擔,且對遊客無效',
  3.         'usergroups_edit_basic_hour_posts' => '會員每小時發回帖數限制',
  4.         'usergroups_edit_basic_hour_posts_comment' => '設定允許會員每小時最多的發回帖數量,可以配合灌水預防功能進一步限制會員的發帖,可設定為 1~255 範圍內的數值,0 為不限制。此功能會輕微加重伺服器負擔,且對遊客無效',

修改為:

  1. 'usergroups_edit_basic_hour_threads' => '會員每天發主題數限制',
  2.         'usergroups_edit_basic_hour_threads_comment' => '設定允許會員每天最多的發主題數量,可以配合灌水預防功能進一步限制會員的發帖,可設定為 1~255 範圍內的數值,0 為不限制。此功能會輕微加重伺服器負擔,且對遊客無效',
  3.         'usergroups_edit_basic_hour_posts' => '會員每天發回帖數限制',
  4.         'usergroups_edit_basic_hour_posts_comment' => '設定允許會員每天最多的發回帖數量,可以配合灌水預防功能進一步限制會員的發帖,可設定為 1~255 範圍內的數值,0 為不限制。此功能會輕微加重伺服器負擔,且對遊客無效',

source/language/lang_message.php"的 144 行

  1.   'thread_flood_ctrl_threads_per_hour' => '抱歉,您所在的使用者組每天限制發主題 {threads_per_hour} 個,請稍候再發表',

修改為:

  1.   'thread_flood_ctrl_threads_per_hour' => '抱歉,您所在的使用者組每天限制發主題 {threads_per_hour} 個,請稍候再發表',

3,修改檢驗程式檔案,友 「會員每小時發帖數限制 「修改為」 會員每天發帖數限制 「
"sourceclass able able_common_member_action_log.php"的 32 行

  1. public function count_per_hour($uid, $type) {
  2.                 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));
  3.         }

修改為:

  1. public function count_per_hour($uid, $type) {
  2.                 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));
  3.         }