yetlistからページ名を削除したい Edit

発端 Edit

pukiwiki.ini.phpの

/////////////////////////////////////////////////
// _Disable_ WikiName auto-linking
$nowikiname = 1;

を後からオートリンクしないように設定した場合等、既に作成されてしまったyetlistのページ名を削除したい。yetlistをtodo管理っぽく使っていると関係ないものが入っていると目障り。しかし、FTPでキャッシュディレクトリの*.relファイルを削除するのは、ページ名=>ファイル名の変換が面倒。何か簡単に消す方法が欲しかった。

差分 Edit

--- yetlist.inc.org.php	Sun May  7 12:55:26 2006
+++ yetlist.inc.php	Tue Jun  5 17:45:47 2007
@@ -6,10 +6,23 @@
 //
 // Yet list plugin - Show a list of dangling links (not yet created)
 
+define('PLUGIN_YETLIST_DELETE' , FALSE);
+
 function plugin_yetlist_action()
 {
 	global $_title_yetlist, $_err_notexist, $_symbol_noexists, $non_list;
-	global $whatsdeleted;
+	global $whatsdeleted , $vars;
+
+	$script = get_script_uri();
+
+	// Remove pagename from yetlist
+	$delpage = isset($vars['del'])  ? $vars['del']  : '';
+	$http_referer = isset($_SERVER['HTTP_REFERER'])  ? $_SERVER['HTTP_REFERER'] : '';
+	if ((PLUGIN_YETLIST_DELETE) and ($delpage !== '') and (!(is_page($delpage)))
+		and (strpos($http_referer, $script.'?plugin=yetlist') === 0 )){
+		$delfile = CACHE_DIR . encode($delpage) . '.ref';
+		if (is_file($delfile)) unlink ($delfile);
+	}
 
 	$retval = array('msg' => $_title_yetlist, 'body' => '');
 
@@ -23,7 +36,6 @@
 	$empty = TRUE;
 
 	// Load .ref files and Output
-	$script      = get_script_uri();
 	$refer_regex = '/' . $non_list . '|^' . preg_quote($whatsdeleted, '/') . '$/S';
 	asort($pages, SORT_STRING);
 	foreach ($pages as $file=>$page) {
@@ -50,16 +62,21 @@
 			unset($link_refs);
 
 			$s_page = htmlspecialchars($page);
+			$r_page = rawurlencode($page);
 			if (PKWK_READONLY) {
 				$href = $s_page;
 			} else {
 				// Dangling link
 				$href = '<span class="noexists">' . $s_page . '<a href="' .
-					$script . '?cmd=edit&amp;page=' . rawurlencode($page) .
+					$script . '?cmd=edit&amp;page=' . $r_page .
 					'&amp;refer=' . $r_refer . '">' . $_symbol_noexists .
 					'</a></span>';
 			}
-			$retval['body'] .= '<li>' . $href . ' <em>(' . $link_ref . ')</em></li>' . "\n";
+			if (PLUGIN_YETLIST_DELETE) {
+				$retval['body'] .= '<li>' . $href . ' <em>(' . $link_ref . ')</em> [<a href="'.$script.'?plugin=yetlist&amp;del='.$r_page.'">del</a>]</li>' . "\n";
+			} else {
+				$retval['body'] .= '<li>' . $href . ' <em>(' . $link_ref . ')</em></li>' . "\n";
+			}
 		}
 	}





トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 下位頁新規  一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-02-21 Sun 22:41:09 JST (3045d)
Valid XHTML 1.1 Valid CSS