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