ちょっとした変更とか。
使う人の生活圏と違うタイムゾーンにサーバがある場合、タイムスタンプがサーバのタイムゾーン基準で表示されて不便です。Setting TimeZone に従って、タイムスタンプの標準時の設定をすることで、問題回避ができます。
conf ディレクトリに local.protected.php という次のような内容のファイルを作成。local.php が管理設定の変更で書き換わっても変更されないよう、別ファイルにすることになっています。たとえば日本の標準時に合わせるには、次の内容で保存します。
<?php date_default_timezone_set("Asia/Tokyo"); ?>
サイト管理メモ に書いたものを転載。
DokuWiki のページを編集して保存したとき、この日時をテキストファイルに書き出しておくと、外部から最終更新日時の確認が楽になります。
スクリプトを編集する場所は inc/actions.php のなかほど、//delete draft のセクションのすぐ後ろです。
//write to timestamp file $date = gmdate('(Y/m/d H:i)', time()+32400); $fp = fopen('timestamp.dat', w); fputs($fp, $date); fclose($fp);
これで DokuWiki 設置のルートに timestamp.dat というファイルができ、記事書込みのたびに更新されるようになるはずですので、好きなところから参照することができます。
DokuWiki では最終編集者がログインユーザーでない場合に、IP が表示される仕様になっています。日本での運用では、IP 表示が敬遠される場合もあるので、これをまったく表示しないように改変してみました。
DokuWiki フォルダ内の inc/common.php の if($revinfo['user']) の部分(200行よりちょっと後のあたり)で、次の行を、
$info['editor'] = $revinfo['ip'];
次のように変更。
if($revinfo['ip']){ $info['editor'] = 'guest'; }
inc/html.php の if($info['user']) の部分(525行あたり)で、次の行を
if($info['user']){ $form->addElement(editorinfo($info['user'])); if(auth_ismanager()){ $form->addElement(' ('.$info['ip'].')'); } }else{ $form->addElement($info['ip']); }
次のように変更。
if($info['user']){ $form->addElement(editorinfo($info['user'])); if(auth_ismanager()){ $form->addElement(' ('.$info['ip'].')'); } }else{ //$form->addElement($info['ip']); if($info['ip']){ $form->addElement('guest'); } if(auth_ismanager()){ $form->addElement(' ('.$info['ip'].')'); } }