Discuz! X2 版主和超级版主管理论坛帖子的默认时间范围分别是 1 周和 2 周,超出这个时间范围,系统就提醒你:「

时间范围错误!版主只能删除近 1 周的帖子,超级版主可以删除 2 周内的帖子,请重新选择开始时间」 。

如图:

22.jpg

要修改管理的帖子的时间范围,要修改两个文件,一是程序文件:source/include/modcp/modcp_thread.php;一是语言包文件:source/language/forum/lang_template.php;

现在以把版主的时间范围改为 11 天,超级版主修改成 22 天为例讲一下怎么修改:

1 、找到程序文件:source/include/modcp/modcp_thread.php 的 152 行:

  1. $_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');

修改为:

  1. $_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 行:

  1. if(($_G['adminid']
    == 2 && $endtime - $starttime > 86400 * 14) ||
    ($_G['adminid'] == 3 && $endtime - $starttime > 86400 * 7)) {
  2. $error = '2';
  3. return;
  4. }

修改为:

  1. if(($_G['adminid']
    == 2 && $endtime - $starttime > 86400 * 22) ||
    ($_G['adminid'] == 3 && $endtime - $starttime > 86400 * 11)) {
  2. $error = '2';
  3. return;
  4. }

这个地方时直接改为你要写的 11 和 22 的;

3 、找到语言包文件:source/language/forum/lang_template.php 的 475-476 行代码:

  1. 'modcp_posts_week_1' => '您只能操作最近 1 周的帖子',
  2. 'modcp_posts_week_2' => '您只能操作最近 2 周的帖子',

修改为:

  1. 'modcp_posts_week_1' => '您只能操作最近 11 天内的帖子',
  2. 'modcp_posts_week_2' => '您只能操作最近 22 天内的帖子',

4 、找到语言包文件:source/language/forum/lang_template.php 的 463 行代码:

  1. 'modcp_posts_error_2' => '时间范围错误!版主只能删除近 1 周的帖子,超级版主可以删除 2 周内的帖子,请重新选择开始时间',

修改为:

  1. 'modcp_posts_error_2' => '时间范围错误!版主只能删除 11 天内的帖子,超级版主可以删除 22 天内的帖子,请重新选择开始时间',