xref: /plugin/recommend/helper/log.php (revision c6f9d3d590f898165ce791277f4554ff3ef97548)
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     */
10*c6f9d3d5SAnna Dabrowska    public function __construct($month)
11*c6f9d3d5SAnna Dabrowska    {
122937e9a5SAnna Dabrowska        $this->path = DOKU_INC . 'data/cache/recommend';
132937e9a5SAnna Dabrowska        if (!file_exists($this->path)) {
142937e9a5SAnna Dabrowska            mkdir($this->path);
152937e9a5SAnna Dabrowska        }
162937e9a5SAnna Dabrowska        $this->path .= '/' . $month . '.log';
172937e9a5SAnna Dabrowska    }
182937e9a5SAnna Dabrowska
192937e9a5SAnna Dabrowska    public function getLogs()
202937e9a5SAnna Dabrowska    {
21*c6f9d3d5SAnna Dabrowska        return array_map([$this, 'recommendStripExtension'], glob(DOKU_INC . 'data/cache/recommend/*.log'));
222937e9a5SAnna Dabrowska    }
232937e9a5SAnna Dabrowska
242937e9a5SAnna Dabrowska    public function getEntries()
252937e9a5SAnna Dabrowska    {
262937e9a5SAnna Dabrowska        return @file($this->path);
272937e9a5SAnna Dabrowska    }
282937e9a5SAnna Dabrowska
292937e9a5SAnna Dabrowska    public function writeEntry($page, $sender, $receiver, $comment)
302937e9a5SAnna Dabrowska    {
31ffb17f7fSAnna Dabrowska        $comment = str_replace(["\n", '"'], ['', '\''], $comment);
322937e9a5SAnna Dabrowska        $logfile = fopen($this->path, 'a');
332937e9a5SAnna Dabrowska        fwrite($logfile, date('r') . ': ' .
342937e9a5SAnna Dabrowska                         "“${sender}” recommended “${page}” to " .
352937e9a5SAnna Dabrowska                         "“${receiver}” with comment “${comment}”.\n");
362937e9a5SAnna Dabrowska        fclose($logfile);
372937e9a5SAnna Dabrowska    }
382937e9a5SAnna Dabrowska
392937e9a5SAnna Dabrowska
40*c6f9d3d5SAnna Dabrowska    protected function recommendStripExtension($str)
41*c6f9d3d5SAnna Dabrowska    {
422937e9a5SAnna Dabrowska        return substr(basename($str), 0, -4);
432937e9a5SAnna Dabrowska    }
442937e9a5SAnna Dabrowska}
45