PuwkiWikiのページ一覧表示のハック

ページ一覧をクリックすると、全ページの一覧が表示される。まあ、当たり前だが。編集ユーザと一般ユーザを分けている場合に、一般ユーザーにもPukiWikiの説明ページ(標準で元からついているページ)が表示されるのがうざいので抑止を考える。


標準添付の説明ページファイルの実行可能ビットを立てておいて、EDIT_OKがdefineされているときだけ、実行可能ビットの立っているファイルを表示するようにする。実行可能ビットで区別しておくと、PukiWikiバージョンアップのときに(プラグインヘルプなどの)置き換えるべきファイルと、そうでないファイルの区別にもなって便利。

lib/file.php の、function get_existpages() の中

         die_message($dir . ' is not found or not readable.');
    $matches = array();
    while ($file = readdir($dp))
!        if ((defined('EDIT_OK')|| !is_executable($dir .'/'. $file))
!         && preg_match($pattern, $file, $matches))
             $aryret[$file] = decode($matches[1]);
         closedir($dp);