Discuz! X2 版主和超级版主管理论坛帖子的默认时间范围分别是1周和2周,超出这个时间范围,系统就提醒你:“
时间范围错误!版主只能删除近 1 周的帖子,超级版主可以删除 2 周内的帖子,请重新选择开始时间”。
如图:
要修改管理的帖子的时间范围,要修改两个文件,一是程序文件:source/include/modcp/modcp_thread.php;一是语言包文件:source/language/forum/lang_template.php;
现在以把版主的时间范围改为11天,超级版主修改成22天为例讲一下怎么修改:
1、找到程序文件:source/include/modcp/modcp_thread.php的152行:
- $_G['gp_starttime'] = !preg_match("/^(0|\d{4}\-\d{1,2}\-\d{1,2})$/", getgpc('starttime')) ?
dgmdate(TIMESTAMP - 86400 * ($_G['adminid'] == 2 ? 13 : ($_G['adminid'] == 3 ? 6 : 60)), 'Y-m-d') : getgpc('starttime');
修改为:
- $_G['gp_starttime'] = !preg_match("/^(0|\d{4}\-\d{1,2}\-\d{1,2})$/", getgpc('starttime')) ?
- dgmdate(TIMESTAMP - 86400 * ($_G['adminid'] == 2 ? 21 : ($_G['adminid'] == 3 ? 10 : 60)), 'Y-m-d') : getgpc('starttime');
这个地方需要注意的是,不是直接写11和22,二是11-1=10和22-1=21,如上面的代码;
2、找到程序文件:source/include/modcp/modcp_thread.php的259-262行:
- if(($_G['adminid'] == 2 && $endtime - $starttime > 86400 * 14) || ($_G['adminid'] == 3 && $endtime - $starttime > 86400 * 7)) {
- $error = '2';
- return;
- }
修改为:
- if(($_G['adminid'] == 2 && $endtime - $starttime > 86400 * 22) || ($_G['adminid'] == 3 && $endtime - $starttime > 86400 * 11)) {
- $error = '2';
- return;
- }
这个地方时直接改为你要写的11和22的;
3、找到语言包文件:source/language/forum/lang_template.php的475-476行代码:
- 'modcp_posts_week_1' => '您只能操作最近 1 周的帖子',
- 'modcp_posts_week_2' => '您只能操作最近 2 周的帖子',
修改为:
- 'modcp_posts_week_1' => '您只能操作最近 11天内的帖子',
- 'modcp_posts_week_2' => '您只能操作最近 22天内的帖子',
4、找到语言包文件:source/language/forum/lang_template.php的463行代码:
- 'modcp_posts_error_2' => '时间范围错误!版主只能删除近 1 周的帖子,超级版主可以删除 2 周内的帖子,请重新选择开始时间',
修改为:
- 'modcp_posts_error_2' => '时间范围错误!版主只能删除11天内的帖子,超级版主可以删除 22天内的帖子,请重新选择开始时间',