私のphpbbフォーラムでは、スレッドに返信を投稿した直後にページが表示され、スレッドに戻るまで5秒ほど待たなければなりません。時間を0に短縮するにはどうすればよいですか(「Flood Interval」を0に設定しようとしましたが、うまくいきませんでした。
PhpBB 3を使用している場合、スクリプトのルートディレクトリにあるposting.phpファイルを編集することにより、更新時間を短縮できます。
内部には、バージョンに応じて、次のようなifステートメントがあります(3.0.7PL1の1118行目付近)。
// Check the permissions for post approval. Moderators are not affected.
if ((!$auth->acl_get('f_noapprove', $data['forum_id']) && !$auth->acl_get('m_approve', $data['forum_id']) && empty($data['force_approved_state'])) || (isset($data['force_approved_state']) && !$data['force_approved_state']))
{
meta_refresh(10, $redirect_url);
$message = ($mode == 'edit') ? $user->lang['POST_EDITED_MOD'] : $user->lang['POST_STORED_MOD'];
$message .= (($user->data['user_id'] == ANONYMOUS) ? '' : ' '. $user->lang['POST_APPROVAL_NOTIFY']);
}
else
{
meta_refresh(3, $redirect_url);
$message = ($mode == 'edit') ? 'POST_EDITED' : 'POST_STORED';
$message = $user->lang[$message] . '<br /><br />' . sprintf($user->lang['VIEW_MESSAGE'], '<a href="' . $redirect_url . '">', '</a>');
}
そこにはmeta_refresh()への2つの呼び出しがあることに気付くでしょう。最初の引数-最初の引数に基づいて10秒待機-は、フォーラムがモデレートされ、最初に投稿を承認する必要がある場合に使用されます。ページが更新される前に実際のメッセージを見るのに十分な時間をユーザーに与えるために、この長さに変更されました。
2つ目-現在のphpBBバージョンでは3秒-おそらく変更したいものです。これを0に減らすと、ユーザーをすぐにリダイレクトできます。その後、ページが配信されている間に通常の1〜2秒の遅延が発生し、ブラウザーでレンダリングされます。
注意すべき点が1つあります。これは、コアファイルであるため、phpBBをアップグレードするたびにこれを変更する必要がある場合があります。
メタリフレッシュタグのように思えます。そのタグを見つけて値を「0」に変更すると、すべての設定が完了します。