1<?php
2/**
3 * DokuWiki Plugin linksenhanced (Admin Component)
4 *
5 * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html
6 * @author  Andreas Böhler <dev@aboehler.at>
7 */
8
9// must be run within Dokuwiki
10if (!defined('DOKU_INC')) die();
11require_once(DOKU_PLUGIN.'admin.php');
12
13class admin_plugin_linksenhanced_links extends DokuWiki_Admin_Plugin {
14
15
16
17    function getMenuSort() { return 501; }
18    function forAdminOnly() { return true; }
19
20    function getMenuText($language) {
21        return "Show external link status";
22    }
23
24    function handle() {
25        if(!is_array($_REQUEST['d']) || !checkSecurityToken()) return;
26
27    }
28
29    function getPagesAndLinks()
30    {
31        global $conf;
32        $opts = array(
33        'depth' => 0,
34        'listfiles' => true,
35        'listdirs'  => false,
36        'pagesonly' => true,
37        'firsthead' => true,
38        'sneakyacl' => $conf['sneaky_index'],
39        );
40
41        $data = array();
42        $retData = array();
43        search($data, $conf['datadir'],'search_universal',$opts);
44        foreach($data as $k => $pdata)
45        {
46            $meta = p_get_metadata($pdata['id']);
47            if(is_array($meta['plugin_linksenhanced']['links']))
48            {
49                $retData[$pdata['id']] = $meta['plugin_linksenhanced']['links'];
50            }
51        }
52        return $retData;
53    }
54
55    function html() {
56        echo '<h1>Link Overview</h1>';
57        echo '<table>';
58        echo '<tr><th width="30\%">Page</th><th width="90\%">Link Status</th></tr>';
59        $linkData = $this->getPagesAndLinks();
60        foreach($linkData as $page => $links)
61        {
62            echo '<td rowspan="'.count($links).'">'.$page.'</td>';
63            $first = true;
64            foreach($links as $link)
65            {
66                if(!$first)
67                    echo '<tr>';
68                else
69                    $first = false;
70                echo '<td><a href="'.$link.'" class="plugin_linksenhanced_pending">'.$link.'</td>';
71                echo '</tr>';
72            }
73        }
74        echo '</tr>';
75        echo '</table>';
76    }
77
78}
79
80// vim:ts=4:sw=4:et:enc=utf-8:
81