热搜词
发表于 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

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



全部评论0
回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2024-12-23 00:21 , Processed in 0.173339 second(s), 26 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2024 Discuz! Team