<?php
-/////////////////////////////////////////////////
-// PukiWiki - Yet another WikiWikiWeb clone.
-//
-// $Id: yetlist.inc.php,v 1.15 2003/03/15 11:39:04 panda Exp $
+// PukiWiki - Yet another WikiWikiWeb clone
+// $Id: yetlist.inc.php,v 1.21 2005/01/29 02:59:37 henoheno Exp $
//
+// Yet list plugin - Show a dangling link list (not yet created)
-function plugin_yetlist_init()
-{
- if (LANG == 'ja')
- {
- $messages = array(
- '_title_yetlist' => '̤ºîÀ®¤Î¥Ú¡¼¥¸°ìÍ÷'
- );
- }
- else
- {
- $messages = array(
- '_title_yetlist' => 'List of pages, are not made yet'
- );
- }
- set_plugin_messages($messages);
-}
function plugin_yetlist_action()
{
global $script;
- global $_title_yetlist;
-
- $ret['msg'] = $_title_yetlist;
- $ret['body'] = '';
-
+ global $_title_yetlist,$_err_notexist;
+
+ $retval = array(
+ 'msg' => $_title_yetlist,
+ 'body' => ''
+ );
+
$refer = array();
$exists = get_existpages();
- if (defined('LINK_DB'))
- {
- $sql = <<<EOD
-SELECT DISTINCT page.name,refpage.name AS refer
- FROM page
- LEFT JOIN link ON page.id = ref_id
- LEFT JOIN page AS refpage ON page_id = refpage.id
- WHERE page.lastmod=0;
-EOD;
- $rows = db_query($sql);
- foreach ($rows as $row)
- {
- $refer[$row['name']][] = $row['refer'];
- }
- }
- else
+ $pages = array_diff(get_existpages(CACHE_DIR,'.ref'),get_existpages());
+ foreach ($pages as $page)
{
- $pages = array_diff(get_existpages(CACHE_DIR,'.ref'),get_existpages());
- foreach ($pages as $page)
+ foreach (file(CACHE_DIR.encode($page).'.ref') as $line)
{
- foreach (file(CACHE_DIR.encode($page).'.ref') as $line)
- {
- list($_page) = explode("\t",$line);
- $refer[$page][] = $_page;
- }
+ list($_page) = explode("\t",$line);
+ $refer[$page][] = $_page;
}
}
-
+
if (count($refer) == 0)
{
- return $ret;
+ $retval['body'] = $_err_notexist;
+ return $retval;
}
-
+
ksort($refer,SORT_STRING);
-
+
foreach($refer as $page=>$refs)
{
$r_page = rawurlencode($page);
$s_page = htmlspecialchars($page);
-
+
$link_refs = array();
foreach(array_unique($refs) as $_refer)
{
$r_refer = rawurlencode($_refer);
$s_refer = htmlspecialchars($_refer);
-
+
$link_refs[] = "<a href=\"$script?$r_refer\">$s_refer</a>";
}
$link_ref = join(' ',$link_refs);
- // »²¾È¸µ¥Ú¡¼¥¸¤¬Ê£¿ô¤¢¤Ã¤¿¾ì¹ç¡¢refer¤ÏºÇ¸å¤Î¥Ú¡¼¥¸¤ò»Ø¤¹(¤¤¤¤¤Î¤«¤Ê)
- $ret['body'] .= "<li><a href=\"$script?cmd=edit&page=$r_page&refer=$r_refer\">$s_page</a> <em>($link_ref)</em></li>\n";
+
+ if (PKWK_READONLY) {
+ $href = $s_page;
+ } else {
+ // Show edit link
+ // »²¾È¸µ¥Ú¡¼¥¸¤¬Ê£¿ô¤¢¤Ã¤¿¾ì¹ç¡¢refer¤ÏºÇ¸å¤Î¥Ú¡¼¥¸¤ò»Ø¤¹(¤¤¤¤¤Î¤«¤Ê)
+ $href = '<a href="' . $script . '?cmd=edit&page=' . $r_page .
+ '&refer=' . $r_refer . '">' . $s_page . '</a>';
+ }
+ $retval['body'] .= '<li>' . $href . ' <em>(' . $link_ref . ')</em></li>' . "\n";
}
-
- if ($ret['body'] != '')
+
+ if ($retval['body'] != '')
{
- $ret['body'] = "<ul>\n{$ret['body']}</ul>\n";
+ $retval['body'] = "<ul>\n".$retval['body']."</ul>\n";
}
-
- return $ret;
+
+ return $retval;
}
?>