xref: /plugin/recommend/admin.php (revision d462c7526f09f14c3298386d427c35a470a1550c)
1cbc3cee5SAdrian Lang<?php
2cbc3cee5SAdrian Langrequire_once DOKU_PLUGIN . 'admin.php';
3cbc3cee5SAdrian Langrequire_once dirname(__FILE__) . '/log.php';
4cbc3cee5SAdrian Lang
5cbc3cee5SAdrian Langclass admin_plugin_recommend extends DokuWiki_Admin_Plugin {
6cbc3cee5SAdrian Lang    function getInfo(){
7b715dd63SDominik Eckelmann        return confToHash(dirname(__FILE__).'/plugin.info.txt');
8cbc3cee5SAdrian Lang    }
9cbc3cee5SAdrian Lang
10cbc3cee5SAdrian Lang    function getMenuText() {
11cbc3cee5SAdrian Lang        return 'Log of recommendations';
12cbc3cee5SAdrian Lang    }
13cbc3cee5SAdrian Lang
14cbc3cee5SAdrian Lang    function handle() {
15cbc3cee5SAdrian Lang        if (isset($_REQUEST['rec_month']) &&
16cbc3cee5SAdrian Lang            preg_match('/^\d{4}-\d{2}$/', $_REQUEST['rec_month'])) {
17cbc3cee5SAdrian Lang            $this->month = $_REQUEST['rec_month'];
18cbc3cee5SAdrian Lang        } else {
19cbc3cee5SAdrian Lang            $this->month = date('Y-m');
20cbc3cee5SAdrian Lang        }
21cbc3cee5SAdrian Lang        $log = new Plugin_Recommend_Log($this->month);
22cbc3cee5SAdrian Lang        $this->entries = $log->getEntries();
23cbc3cee5SAdrian Lang        $this->logs = Plugin_Recommend_Log::getLogs();
24cbc3cee5SAdrian Lang    }
25cbc3cee5SAdrian Lang
26cbc3cee5SAdrian Lang    function getTOC() {
27cbc3cee5SAdrian Lang        return array_map('recommend_make_toc', $this->logs);
28cbc3cee5SAdrian Lang    }
29cbc3cee5SAdrian Lang
30cbc3cee5SAdrian Lang    function html() {
31cbc3cee5SAdrian Lang        if (!$this->logs) {
32cbc3cee5SAdrian Lang            echo 'No recommendations.';
33cbc3cee5SAdrian Lang            return;
34cbc3cee5SAdrian Lang        }
35cbc3cee5SAdrian Lang        if (!$this->entries) {
36cbc3cee5SAdrian Lang            echo 'No recommendations were made in ' . $this->month . '.';
37cbc3cee5SAdrian Lang            return;
38cbc3cee5SAdrian Lang        }
39cbc3cee5SAdrian Lang        echo '<p>In ' . $this->month . ', your users made the following ' . count($this->entries) . ' recommendations:</p>';
40cbc3cee5SAdrian Lang        echo '<ul>';
41cbc3cee5SAdrian Lang        foreach(array_reverse($this->entries) as $entry) {
42*d462c752SAdrian Lang            echo "<li>" . hsc($entry) . "</li>";
43cbc3cee5SAdrian Lang        }
44cbc3cee5SAdrian Lang        echo '</ul>';
45cbc3cee5SAdrian Lang    }
46cbc3cee5SAdrian Lang}
47cbc3cee5SAdrian Lang
48cbc3cee5SAdrian Langfunction recommend_make_toc($month) {
49cbc3cee5SAdrian Lang    global $ID;
50cbc3cee5SAdrian Lang    return html_mktocitem('?do=admin&page=recommend&id=' . $ID . '&rec_month=' . $month, $month, 1, '');
51cbc3cee5SAdrian Lang
52cbc3cee5SAdrian Lang}
53