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 天內的帖子,請重新選擇開始時間',