Pukiwiki のプラグイン calendar2 で作成したページに閲覧制限をかけた場合、表示されたカレンダーの月移動を行うことで当日および各月1日の内容をパスワード無しで閲覧されてしまう。これは「当日分ページを表示する機能」によるものであり、月移動の際にこの機能を抑制する(無効にする)ことができないのを原因としている。
したがってこのページでは、プラグインを直接編集することで「当日分ページを表示する機能」を無効にする方法について紹介する。なお、この方法によってどの様な障害が生じても保障はしないのでその点についてはご了承願いたい。
サーバに PukiWiki を設置しているユーザでログインしてから作業を行う。
(以下、既に PukiWiki フォルダに移動しているものとする)
まず編集前にプラグイン calendar2 のオリジナルバックアップを取っておく。
$ cp plugin/calendar2.inc.php plugin/calendar2.inc.php.org
次にプラグイン calendar2 の記述されたファイル calendar2.inc.php を編集する。
$ vi plugin/calendar2.inc.php
編集内容は下記と同じ箇所コメントアウトするだけである。
if ($today_view) { //===================================================================================== // Comment out by Webmaster //===================================================================================== // $tpage = $prefix . sprintf('%4d-%02d-%02d', $today['year'], // $today['mon'], $today['mday']); // $r_tpage = rawurlencode($tpage); // if (is_page($tpage)) { // $_page = $vars['page']; // $get['page'] = $post['page'] = $vars['page'] = $tpage; // $str = convert_html(get_source($tpage)); // $str .= '<hr /><a class="small" href="' . $script . // '?cmd=edit&page=' . $r_tpage . '">' . // $_calendar2_plugin_edit . '</a>'; // $get['page'] = $post['page'] = $vars['page'] = $_page; // } else { // $str = sprintf($_calendar2_plugin_empty, // make_pagelink(sprintf('%s%4d-%02d-%02d', $prefix, // $today['year'], $today['mon'], $today['mday']))); // } //===================================================================================== $ret .= ' </td>' . "\n" . ' <td valign="top">' . $str . '</td>' . "\n" . ' </tr>' . "\n" . '</table>' . "\n"; } return $ret; }
編集済みのプラグインファイルはこちら。
#calendar2(":calendar2")
|
:calendar2/2024-03-19は空です。 |