xref: /plugin/recommend/helper/log.php (revision 2937e9a57baddb95935c7f34017ae49649250ec7)
1*2937e9a5SAnna Dabrowska<?php
2*2937e9a5SAnna Dabrowska
3*2937e9a5SAnna Dabrowskaclass helper_plugin_recommend_log
4*2937e9a5SAnna Dabrowska{
5*2937e9a5SAnna Dabrowska    protected $path;
6*2937e9a5SAnna Dabrowska
7*2937e9a5SAnna Dabrowska    /**
8*2937e9a5SAnna Dabrowska     * @param $month
9*2937e9a5SAnna Dabrowska     */
10*2937e9a5SAnna Dabrowska    public function __construct($month) {
11*2937e9a5SAnna Dabrowska        $this->path = DOKU_INC . 'data/cache/recommend';
12*2937e9a5SAnna Dabrowska        if (!file_exists($this->path)) {
13*2937e9a5SAnna Dabrowska            mkdir($this->path);
14*2937e9a5SAnna Dabrowska        }
15*2937e9a5SAnna Dabrowska        $this->path .= '/' . $month . '.log';
16*2937e9a5SAnna Dabrowska    }
17*2937e9a5SAnna Dabrowska
18*2937e9a5SAnna Dabrowska    public function getLogs()
19*2937e9a5SAnna Dabrowska    {
20*2937e9a5SAnna Dabrowska        return array_map([$this, 'recommend_strip_extension'], glob(DOKU_INC . 'data/cache/recommend/*.log'));
21*2937e9a5SAnna Dabrowska    }
22*2937e9a5SAnna Dabrowska
23*2937e9a5SAnna Dabrowska    public function getEntries()
24*2937e9a5SAnna Dabrowska    {
25*2937e9a5SAnna Dabrowska        return @file($this->path);
26*2937e9a5SAnna Dabrowska    }
27*2937e9a5SAnna Dabrowska
28*2937e9a5SAnna Dabrowska    public function writeEntry($page, $sender, $receiver, $comment)
29*2937e9a5SAnna Dabrowska    {
30*2937e9a5SAnna Dabrowska        $logfile = fopen($this->path, 'a');
31*2937e9a5SAnna Dabrowska        fwrite($logfile, date('r') . ': ' .
32*2937e9a5SAnna Dabrowska                         "“${sender}” recommended “${page}” to " .
33*2937e9a5SAnna Dabrowska                         "“${receiver}” with comment “${comment}”.\n");
34*2937e9a5SAnna Dabrowska        fclose($logfile);
35*2937e9a5SAnna Dabrowska    }
36*2937e9a5SAnna Dabrowska
37*2937e9a5SAnna Dabrowska
38*2937e9a5SAnna Dabrowska    protected function recommend_strip_extension($str) {
39*2937e9a5SAnna Dabrowska        return substr(basename($str), 0, -4);
40*2937e9a5SAnna Dabrowska    }
41*2937e9a5SAnna Dabrowska}
42