找回密码
 注册
首页 ≡≡网络技术≡≡ PHP语言 Discuz! Discuz教程:dzx3.4限制会员每天发帖数量(修改每小时发 ...

Discuz教程:dzx3.4限制会员每天发帖数量(修改每小时发帖)

灰儿 2020-3-27 10:03:23
Discuz教程:dzx3.4限制会员每天发帖回帖数量(修改后台每小时发帖)

修改lang_admincp.php、lang_message.php、table_common_member_action_log.php就可以实现这个效果。下面是详细过程。

首选,连接主机下载这三个文件下载到本地电脑
/source/language/lang_admincp.php
/source/language/lang_message.php
/source/class/table/table_common_member_action_log.php
然后以此修改、替换代码如下:

1、修改discuz!x3.4后台功能菜单设置显示提示
使用文本编辑打开\source\language\lang_admincp.php  ,查找定位约4110行

'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 为不限制。此功能会轻微加重服务器负担,且对游客无效',

此处将“每小时”替换为“每天”。


2、用户组每天发帖限制提示
使用文本编辑打开\source\language\lang_message.php,查找约120行
  'post_flood_ctrl_posts_per_hour' => '抱歉,您所在的用户组每小时限制发回帖 {posts_per_hour} 个,请稍候再发表',

此处也将“每小时”替换成"每天"


3、修改检验程序文件:会员每小时发帖数限制更改为会员每天发帖数限制

使用文本编辑打开\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));
        }

此处将 "3600"替换成天"86400"即可。

将上述修改完毕后,上传到原目录进行覆盖后,完成限制论坛会员每天发帖数量的限制。

Dz后台默认的每小时发帖限制成功修改为按会员每天发帖数
01.png

修改完成后登陆后台——用户——用户组——编辑——基本设置——会员每天发主题数限制



您需要登录后才可以回帖 登录 | 注册
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。