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