10edf1a56SSascha Leib<?php 20edf1a56SSascha Leib/** 30edf1a56SSascha Leib * BotMon Helper Plugin 40edf1a56SSascha Leib * 50edf1a56SSascha Leib * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) 60edf1a56SSascha Leib * @author Sascha Leib <ad@hominem.info> 70edf1a56SSascha Leib */ 80edf1a56SSascha Leib 90edf1a56SSascha Leibuse dokuwiki\Extension\Plugin; 100edf1a56SSascha Leib 110edf1a56SSascha Leibclass helper_plugin_botmon extends Plugin { 120edf1a56SSascha Leib 130edf1a56SSascha Leib /** 140edf1a56SSascha Leib * Constructor 150edf1a56SSascha Leib */ 160edf1a56SSascha Leib public function __construct() { 170edf1a56SSascha Leib echo "<li>Processing logfiles …</li>\n"; 180edf1a56SSascha Leib } 190edf1a56SSascha Leib 200edf1a56SSascha Leib /** 210edf1a56SSascha Leib * Cleanup function 220edf1a56SSascha Leib */ 230edf1a56SSascha Leib public function cleanup() { 240edf1a56SSascha Leib 250edf1a56SSascha Leib // exclude the following two dates: 260edf1a56SSascha Leib $today = gmdate('Y-m-d'); 270edf1a56SSascha Leib $yesterday = gmdate('Y-m-d', time() - 86400); 280edf1a56SSascha Leib 290edf1a56SSascha Leib // scan the log directory and delete all files except for today and yesterday: 300edf1a56SSascha Leib $dir = scandir(DOKU_PLUGIN . 'botmon/logs'); 310edf1a56SSascha Leib foreach($dir as $file) { 320edf1a56SSascha Leib $fName = pathinfo($file, PATHINFO_BASENAME); 330edf1a56SSascha Leib $bName = strtok($fName, '.'); 340edf1a56SSascha Leib 350edf1a56SSascha Leib if ($bName == '' || $bName == 'logfiles' || $bName == 'empty' || $fName == '.htaccess') { 360edf1a56SSascha Leib // echo "File “{$fName}” ignored.\n"; 370edf1a56SSascha Leib } else if ($bName == $today || $bName == $yesterday) { 38*20997f50SSascha Leib echo "<li class='skipped'>File “{$fName}” skipped.</li>\n"; 390edf1a56SSascha Leib } else { 400edf1a56SSascha Leib if (unlink(DOKU_PLUGIN . 'botmon/logs/' . $file)) { 410edf1a56SSascha Leib echo "<li class='success'>File “{$fName}” deleted.</li>\n"; 420edf1a56SSascha Leib } else { 430edf1a56SSascha Leib echo "<li class='error'>File “{$fName}” could not be deleted!</li>\n"; 440edf1a56SSascha Leib } 450edf1a56SSascha Leib } 460edf1a56SSascha Leib } 47*20997f50SSascha Leib echo "<li>Done.</li>\n"; 480edf1a56SSascha Leib } 490edf1a56SSascha Leib 500edf1a56SSascha Leib}