2 // PukiWiki - Yet another WikiWikiWeb clone
3 // $Id: yetlist.inc.php,v 1.29 2011/01/25 15:01:01 henoheno Exp $
4 // Copyright (C) 2001-2006 PukiWiki Developers Team
5 // License: GPL v2 or (at your option) any later version
7 // Yet list plugin - Show a list of dangling links (not yet created)
9 function plugin_yetlist_action()
11 global $_title_yetlist, $_err_notexist, $_symbol_noexists, $non_list;
14 $retval = array('msg' => $_title_yetlist, 'body' => '');
17 $pages = array_diff(get_existpages(CACHE_DIR, '.ref'), get_existpages());
19 $retval['body'] = $_err_notexist;
25 // Load .ref files and Output
26 $script = get_script_uri();
27 $refer_regex = '/' . $non_list . '|^' . preg_quote($whatsdeleted, '/') . '$/S';
28 asort($pages, SORT_STRING);
29 foreach ($pages as $file=>$page) {
31 foreach (file(CACHE_DIR . $file) as $line) {
32 list($_page) = explode("\t", rtrim($line));
36 $refer = array_diff($refer, preg_grep($refer_regex, $refer));
37 if (! empty($refer)) {
39 $refer = array_unique($refer);
40 sort($refer, SORT_STRING);
44 foreach ($refer as $_refer) {
45 $r_refer = rawurlencode($_refer);
46 $link_refs[] = '<a href="' . $script . '?' . $r_refer . '">' .
47 htmlsc($_refer) . '</a>';
49 $link_ref = join(' ', $link_refs);
52 $s_page = htmlsc($page);
57 $href = '<span class="noexists">' . $s_page . '<a href="' .
58 $script . '?cmd=edit&page=' . rawurlencode($page) .
59 '&refer=' . $r_refer . '">' . $_symbol_noexists .
62 $retval['body'] .= '<li>' . $href . ' <em>(' . $link_ref . ')</em></li>' . "\n";
67 $retval['body'] = $_err_notexist;
71 if ($retval['body'] != '')
72 $retval['body'] = '<ul>' . "\n" . $retval['body'] . '</ul>' . "\n";