OSDN Git Service

BugTrack2/139: Correct. Deleted a first space at preview.
[pukiwiki/pukiwiki.git] / plugin / yetlist.inc.php
1 <?php
2 // PukiWiki - Yet another WikiWikiWeb clone
3 // $Id: yetlist.inc.php,v 1.23 2005/06/18 10:44:00 teanan Exp $
4 //
5 // Yet list plugin - Show a dangling link list (not yet created)
6
7 function plugin_yetlist_action()
8 {
9         global $script;
10         global $_title_yetlist, $_err_notexist;
11
12         $retval = array(
13                 'msg' => $_title_yetlist,
14                 'body' => ''
15         );
16
17         $refer = array();
18         $pages = array_diff(get_existpages(CACHE_DIR, '.ref'), get_existpages());
19         foreach ($pages as $page) {
20                 foreach (file(CACHE_DIR . encode($page) . '.ref') as $line) {
21                         list($_page) = explode("\t", rtrim($line));
22                         $refer[$page][] = $_page;
23                 }
24         }
25
26         if (empty($refer)) {
27                 $retval['body'] = $_err_notexist;
28                 return $retval;
29         }
30
31         ksort($refer, SORT_STRING);
32
33         foreach ($refer as $page=>$refs) {
34                 $r_page = rawurlencode($page);
35                 $s_page = htmlspecialchars($page);
36
37                 $link_refs = array();
38                 foreach (array_unique($refs) as $_refer) {
39                         $r_refer = rawurlencode($_refer);
40                         $s_refer = htmlspecialchars($_refer);
41
42                         $link_refs[] = "<a href=\"$script?$r_refer\">$s_refer</a>";
43                 }
44                 $link_ref = join(' ', $link_refs);
45
46                 if (PKWK_READONLY) {
47                         $href = $s_page;
48                 } else {
49                         // Show edit link
50                         // »²¾È¸µ¥Ú¡¼¥¸¤¬Ê£¿ô¤¢¤Ã¤¿¾ì¹ç¡¢refer¤ÏºÇ¸å¤Î¥Ú¡¼¥¸¤ò»Ø¤¹(¤¤¤¤¤Î¤«¤Ê)
51                         $href = '<a href="' . $script . '?cmd=edit&amp;page=' . $r_page .
52                                 '&amp;refer=' . $r_refer . '">' . $s_page . '</a>';
53                 }
54                 $retval['body'] .= '<li>' . $href . ' <em>(' . $link_ref . ')</em></li>' . "\n";
55         }
56
57         if ($retval['body'] != '') {
58                 $retval['body'] = "<ul>\n" . $retval['body'] . "</ul>\n";
59         }
60
61         return $retval;
62 }
63 ?>