1*0edf1a56SSascha Leib<?php 2*0edf1a56SSascha Leib/** 3*0edf1a56SSascha Leib * BotMon Helper Plugin 4*0edf1a56SSascha Leib * 5*0edf1a56SSascha Leib * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) 6*0edf1a56SSascha Leib * @author Sascha Leib <ad@hominem.info> 7*0edf1a56SSascha Leib */ 8*0edf1a56SSascha Leib 9*0edf1a56SSascha Leibuse dokuwiki\Extension\Plugin; 10*0edf1a56SSascha Leib 11*0edf1a56SSascha Leibclass helper_plugin_botmon extends Plugin { 12*0edf1a56SSascha Leib 13*0edf1a56SSascha Leib /** 14*0edf1a56SSascha Leib * Constructor 15*0edf1a56SSascha Leib */ 16*0edf1a56SSascha Leib public function __construct() { 17*0edf1a56SSascha Leib echo "<li>Processing logfiles …</li>\n"; 18*0edf1a56SSascha Leib } 19*0edf1a56SSascha Leib 20*0edf1a56SSascha Leib /** 21*0edf1a56SSascha Leib * Cleanup function 22*0edf1a56SSascha Leib */ 23*0edf1a56SSascha Leib public function cleanup() { 24*0edf1a56SSascha Leib 25*0edf1a56SSascha Leib // exclude the following two dates: 26*0edf1a56SSascha Leib $today = gmdate('Y-m-d'); 27*0edf1a56SSascha Leib $yesterday = gmdate('Y-m-d', time() - 86400); 28*0edf1a56SSascha Leib 29*0edf1a56SSascha Leib // scan the log directory and delete all files except for today and yesterday: 30*0edf1a56SSascha Leib $dir = scandir(DOKU_PLUGIN . 'botmon/logs'); 31*0edf1a56SSascha Leib foreach($dir as $file) { 32*0edf1a56SSascha Leib $fName = pathinfo($file, PATHINFO_BASENAME); 33*0edf1a56SSascha Leib $bName = strtok($fName, '.'); 34*0edf1a56SSascha Leib 35*0edf1a56SSascha Leib if ($bName == '' || $bName == 'logfiles' || $bName == 'empty' || $fName == '.htaccess') { 36*0edf1a56SSascha Leib // echo "File “{$fName}” ignored.\n"; 37*0edf1a56SSascha Leib } else if ($bName == $today || $bName == $yesterday) { 38*0edf1a56SSascha Leib echo "<li class='info'>File “{$fName}” skipped.</li>\n"; 39*0edf1a56SSascha Leib } else { 40*0edf1a56SSascha Leib if (unlink(DOKU_PLUGIN . 'botmon/logs/' . $file)) { 41*0edf1a56SSascha Leib echo "<li class='success'>File “{$fName}” deleted.</li>\n"; 42*0edf1a56SSascha Leib } else { 43*0edf1a56SSascha Leib echo "<li class='error'>File “{$fName}” could not be deleted!</li>\n"; 44*0edf1a56SSascha Leib } 45*0edf1a56SSascha Leib } 46*0edf1a56SSascha Leib } 47*0edf1a56SSascha Leib echo "<li class='info'>Done.</li>\n"; 48*0edf1a56SSascha Leib } 49*0edf1a56SSascha Leib 50*0edf1a56SSascha Leib}