UI设计 薇晓朵数字商城

Discuz!X3系列 “会员每小时发帖数限制“修改为”vip每天发帖数限制“教程

[复制链接]
小猪哼囔 发表于 2022-10-3 09:43:01 | 显示全部楼层 |阅读模式
修改后台用户组的设置,由“会员每小时发帖数限制“到”会员每天发帖数限制“,下面分别讲一下Discuz! X2和Discuz! X2.5的修改方法。


一、Discuz! X2的修改方法:
1,修改后台设置显示;
"sourcelanguagelang_admincp.php"的5021行

  1. 'project_option_group_maxpostsperhour' => '会员每小时发帖数限制',
复制代码


修改为:

  1. 'project_option_group_maxpostsperhour' => '会员每天发帖数限制',
复制代码



2,修改发帖数超过限制提醒文字;
sourcelanguagelang_message.php"的105行

  1. 'post_flood_ctrl_posts_per_hour' => '抱歉,您所在的用户组每小时限制发帖 {posts_per_hour} 个,请稍候再发表',
复制代码


修改为:

  1. 'post_flood_ctrl_posts_per_hour' => '抱歉,您所在的用户组每天限制发帖 {posts_per_hour} 个,请稍候再发表',
复制代码



3,修改检验程序文件,友“会员每小时发帖数限制“修改为”会员每天发帖数限制“
"sourcefunctionfunction_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,修改后台设置显示;
"sourcelanguagelang_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 为不限制。此功能会轻微加重服务器负担,且对游客无效',
复制代码


sourcelanguagelang_message.php"的144行

  1. 'thread_flood_ctrl_threads_per_hour' => '抱歉,您所在的用户组每天限制发主题 {threads_per_hour} 个,请稍候再发表',
复制代码


修改为:

  1. 'thread_flood_ctrl_threads_per_hour' => '抱歉,您所在的用户组每天限制发主题 {threads_per_hour} 个,请稍候再发表',
复制代码



3,修改检验程序文件,友“会员每小时发帖数限制“修改为”会员每天发帖数限制“
"sourceclasstabletable_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. }
复制代码


参考以上方法,我们可以修改discuz x3系列相关VIP每天发帖数限制
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则 返回列表 发新帖

备案权重域名预定

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

快速回复 返回顶部 返回列表