Top/PukiWiki/改造/:で始まるページを表示しない

:で始まるページを表示しないはてなブックマーク

問題

通常、コロン(:) で始まるページは ls 等に表示されないが、
プラグインによっては表示されてしまう。

解決するには

list.inc.phpでやっているように、
ページ全体の配列と$non_listでgrepした配列との差分を取る。
とりあえず、次の2つを修正。

パッチ (PukiWiki1.4.4)

--- map.inc.php.orig	2004-07-31 12:09:20.000000000 +0900
+++ map.inc.php	2004-10-26 18:27:23.000000000 +0900
@@ -23,7 +23,7 @@
 
 function plugin_map_action()
 {
-	global $vars,$whatsnew,$defaultpage;
+	global $vars,$non_list,$whatsnew,$defaultpage;
 
 	$reverse = array_key_exists('reverse',$vars);
 
@@ -39,6 +39,10 @@
 
 	$pages = array_values(array_diff(get_existpages(),array($whatsnew)));
 
+	if (!$withfilename)
+	{
+		$pages = array_diff($pages,preg_grep("/$non_list/",$pages));
+	}
 	$count = count($pages);
 
 	if ($count == 0)
--- yetlist.inc.php.orig	2004-07-31 12:09:20.000000000 +0900
+++ yetlist.inc.php		2004-10-26 18:27:42.000000000 +0900
@@ -7,7 +7,7 @@
 
 function plugin_yetlist_action()
 {
-	global $script;
+	global $script, $non_list;
 	global $_title_yetlist,$_err_notexist;
 
 	$retval = array(
@@ -50,7 +50,9 @@
 		}
 		$link_ref = join(' ',$link_refs);
 		// 参照元ページが複数あった場合、referは最後のページを指す(いいのかな)
-		$retval['body'] .= "<li><a href=\"$script?cmd=edit&amp;page=$r_page&amp;refer=$r_refer\">$s_page</a> <em>($link_ref)</em></li>\n";
+		if (!preg_match("/$non_list/", $s_refer)) {
+			$retval['body'] .= "<li><a href=\"$script?cmd=edit&amp;page=$r_page&amp;refer=$r_refer\">$s_page</a> <em>($link_ref)</em></li>\n";
+		}
 	}
 
 	if ($retval['body'] != '')

次回更新用メモ

Amazon

差分 一覧