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