OSDN Git Service

BugTrack/785: Adopting nofollow attribute.
[pukiwiki/pukiwiki.git] / plugin / yetlist.inc.php
index 5ee7c1f..50c1f3a 100644 (file)
@@ -2,52 +2,62 @@
 /////////////////////////////////////////////////
 // PukiWiki - Yet another WikiWikiWeb clone.
 //
-// $Id: yetlist.inc.php,v 1.10 2003/01/29 09:48:24 panda Exp $
+// $Id: yetlist.inc.php,v 1.19 2004/07/31 03:09:20 henoheno Exp $
 //
+
 function plugin_yetlist_action()
 {
        global $script;
-       
-       $ret['msg'] = 'List of pages, are not made yet';
-       $ret['body'] = '';
-       
+       global $_title_yetlist,$_err_notexist;
+
+       $retval = array(
+               'msg' => $_title_yetlist,
+               'body' => ''
+       );
+
        $refer = array();
-       foreach (get_existpages() as $page) {
-               $obj = new InlineConverter();
-               $source = join("\n",preg_replace('/^(\s|\/\/|#).*$/','',get_source($page)));
-               foreach ($obj->get_objects($source,$page) as $_obj) {
-                       if (($_obj->name != '') and ($_obj->type == 'pagename') and !is_page($_obj->name)) {
-                               $refer[$_obj->name][] = $page;
-                       }
+       $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;
                }
        }
-       
-       if (count($refer) == 0) {
-               return $ret;
+
+       if (count($refer) == 0)
+       {
+               $retval['body'] = $_err_notexist;
+               return $retval;
        }
-       
-       ksort($refer);
-       
-       foreach($refer as $page=>$refs) {
+
+       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) {
+               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=$r_page&amp;refer=$r_refer\">$s_page</a> <em>($link_ref)</em></li>\n";
+               $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 ($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;
 }
 ?>