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后台默认的每小时发帖限制成功修改为按会员每天发帖数
修改完成后登陆后台——用户——用户组——编辑——基本设置——会员每天发主题数限制
|
|