xref: /plugin/botmon/helper.php (revision 20997f50c57e537871e9ba04fd9db047b967cb66)
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}