OSDN Git Service

PKWK_UPDATE_ EXEC => PKWK_UPDATE_EXEC
[pukiwiki/pukiwiki.git] / plugin / related.inc.php
1 <?php
2 // PukiWiki - Yet another WikiWikiWeb clone
3 // $Id: related.inc.php,v 1.7 2005/12/18 15:28:55 henoheno Exp $
4 //
5 // Related plugin: Show Backlinks for the page
6
7 function plugin_related_convert()
8 {
9         global $vars;
10
11         return make_related($vars['page'], 'p');
12 }
13
14 // Show Backlinks: via related caches for the page
15 function plugin_related_action()
16 {
17         global $vars, $script, $defaultpage, $whatsnew;
18
19         $_page = isset($vars['page']) ? $vars['page'] : '';
20         if ($_page == '') $_page = $defaultpage;
21
22         // Get related from cache
23         $data = links_get_related_db($_page);
24         if (! empty($data)) {
25                 // Hide by array keys (not values)
26                 foreach(array_keys($data) as $page)
27                         if ($page == $whatsnew ||
28                             check_non_list($page))
29                                 unset($data[$page]);
30         }
31
32         // Result
33         $r_word = rawurlencode($_page);
34         $s_word = htmlspecialchars($_page);
35         $msg = 'Backlinks for: ' . $s_word;
36         $retval  = '<a href="' . $script . '?' . $r_word . '">' .
37                 'Return to ' . $s_word .'</a><br />'. "\n";
38
39         if (empty($data)) {
40                 $retval .= '<ul><li>No related pages found.</li></ul>' . "\n";  
41         } else {
42                 // Show count($data)?
43                 ksort($data);
44                 $retval .= '<ul>' . "\n";
45                 foreach ($data as $page=>$time) {
46                         $r_page  = rawurlencode($page);
47                         $s_page  = htmlspecialchars($page);
48                         $passage = get_passage($time);
49                         $retval .= ' <li><a href="' . $script . '?' . $r_page . '">' . $s_page .
50                                 '</a> ' . $passage . '</li>' . "\n";
51                 }
52                 $retval .= '</ul>' . "\n";
53         }
54         return array('msg'=>$msg, 'body'=>$retval);
55 }
56 ?>