OSDN Git Service

BugTrack/791: Fix typo 0,91 => 0.91
[pukiwiki/pukiwiki.git] / plugin / yetlist.inc.php
index ac5cccb..97dc10d 100644 (file)
@@ -1,53 +1,70 @@
-<?
-// $Id: yetlist.inc.php,v 1.6 2002/10/15 05:28:09 masui Exp $
-
-// modified by PANDA <panda@arino.jp> http://home.arino.jp/
-// Last-Update:2002-09-12 rev.1
-
-function plugin_yetlist_action() {
-       global $script,$LinkPattern;
-
-       $ret['msg'] = 'List of pages,are not made yet';
-       
-       if (!$dir = @opendir(DATA_DIR)) { return $ret; }
-
-       while($file = readdir($dir)) {
-               if ($file == '..' || $file == '.') continue;
-               $page = decode(str_replace('.txt','',$file));
-               $line = join("\n",preg_replace('/^(\s|\/\/|#).*$/','',file(DATA_DIR.$file)));
-               $obj = new link_wrapper($page);
-               foreach ($obj->get_link($line) as $obj) {
-                       if ($obj->name != '' and ($obj->type == 'WikiName' or $obj->type == 'BracketName') and !is_page($obj->name)) {
-                               $refer[$obj->name][] = $page;
-                       }
+<?php
+// 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_action()
+{
+       global $script;
+       global $_title_yetlist,$_err_notexist;
+
+       $retval = array(
+               'msg' => $_title_yetlist,
+               'body' => ''
+       );
+
+       $refer = array();
+       $exists = get_existpages();
+       $pages = array_diff(get_existpages(CACHE_DIR,'.ref'),get_existpages());
+       foreach ($pages as $page)
+       {
+               foreach (file(CACHE_DIR.encode($page).'.ref') as $line)
+               {
+                       list($_page) = explode("\t",$line);
+                       $refer[$page][] = $_page;
                }
        }
-       closedir($dir);
 
        if (count($refer) == 0)
-               return $ret;
+       {
+               $retval['body'] = $_err_notexist;
+               return $retval;
+       }
+
+       ksort($refer,SORT_STRING);
 
-       ksort($refer);
+       foreach($refer as $page=>$refs)
+       {
+               $r_page = rawurlencode($page);
+               $s_page = htmlspecialchars($page);
 
-       foreach($refer as $page=>$refs) {
-               $page_raw  = rawurlencode($page);
-               $page_disp = strip_bracket($page);
-               
                $link_refs = array();
-               foreach(array_unique($refs) as $ref) {
-                       $ref_raw  = rawurlencode($ref);
-                       $ref_disp = strip_bracket($ref);
-                       
-                       $link_refs[] = "<a href=\"$script?$ref_raw\">$ref_disp</a>";
+               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&amp;page=$page_raw&amp;refer=$ref_raw\">$page_disp</a> <em>($link_ref)</em></li>\n";
+
+               if (PKWK_READONLY) {
+                       $href = $s_page;
+               } else {
+                       // Show edit link
+                       // »²¾È¸µ¥Ú¡¼¥¸¤¬Ê£¿ô¤¢¤Ã¤¿¾ì¹ç¡¢refer¤ÏºÇ¸å¤Î¥Ú¡¼¥¸¤ò»Ø¤¹(¤¤¤¤¤Î¤«¤Ê)
+                       $href = '<a href="' . $script . '?cmd=edit&amp;page=' . $r_page .
+                               '&amp;refer=' . $r_refer . '">' . $s_page . '</a>';
+               }
+               $retval['body'] .= '<li>' . $href . ' <em>(' . $link_ref . ')</em></li>' . "\n";
        }
 
-       if ($ret['body'] != '')
-               $ret['body'] = "<ul>\n{$ret['body']}</ul>\n";
+       if ($retval['body'] != '')
+       {
+               $retval['body'] = "<ul>\n".$retval['body']."</ul>\n";
+       }
 
-       return $ret;
+       return $retval;
 }
 ?>