xref: /plugin/recommend/helper/log.php (revision ffb17f7fd9fbae4ed72722c42ce72f2871b0a09e)
12937e9a5SAnna Dabrowska<?php
22937e9a5SAnna Dabrowska
32937e9a5SAnna Dabrowskaclass helper_plugin_recommend_log
42937e9a5SAnna Dabrowska{
52937e9a5SAnna Dabrowska    protected $path;
62937e9a5SAnna Dabrowska
72937e9a5SAnna Dabrowska    /**
82937e9a5SAnna Dabrowska     * @param $month
92937e9a5SAnna Dabrowska     */
102937e9a5SAnna Dabrowska    public function __construct($month) {
112937e9a5SAnna Dabrowska        $this->path = DOKU_INC . 'data/cache/recommend';
122937e9a5SAnna Dabrowska        if (!file_exists($this->path)) {
132937e9a5SAnna Dabrowska            mkdir($this->path);
142937e9a5SAnna Dabrowska        }
152937e9a5SAnna Dabrowska        $this->path .= '/' . $month . '.log';
162937e9a5SAnna Dabrowska    }
172937e9a5SAnna Dabrowska
182937e9a5SAnna Dabrowska    public function getLogs()
192937e9a5SAnna Dabrowska    {
202937e9a5SAnna Dabrowska        return array_map([$this, 'recommend_strip_extension'], glob(DOKU_INC . 'data/cache/recommend/*.log'));
212937e9a5SAnna Dabrowska    }
222937e9a5SAnna Dabrowska
232937e9a5SAnna Dabrowska    public function getEntries()
242937e9a5SAnna Dabrowska    {
252937e9a5SAnna Dabrowska        return @file($this->path);
262937e9a5SAnna Dabrowska    }
272937e9a5SAnna Dabrowska
282937e9a5SAnna Dabrowska    public function writeEntry($page, $sender, $receiver, $comment)
292937e9a5SAnna Dabrowska    {
30*ffb17f7fSAnna Dabrowska        $comment = str_replace(["\n", '"'], ['', '\''], $comment);
312937e9a5SAnna Dabrowska        $logfile = fopen($this->path, 'a');
322937e9a5SAnna Dabrowska        fwrite($logfile, date('r') . ': ' .
332937e9a5SAnna Dabrowska                         "“${sender}” recommended “${page}” to " .
342937e9a5SAnna Dabrowska                         "“${receiver}” with comment “${comment}”.\n");
352937e9a5SAnna Dabrowska        fclose($logfile);
362937e9a5SAnna Dabrowska    }
372937e9a5SAnna Dabrowska
382937e9a5SAnna Dabrowska
392937e9a5SAnna Dabrowska    protected function recommend_strip_extension($str) {
402937e9a5SAnna Dabrowska        return substr(basename($str), 0, -4);
412937e9a5SAnna Dabrowska    }
422937e9a5SAnna Dabrowska}
43