1#!/usr/local/bin/php
2<?php
3	chdir(dirname($argv[0]));
4	require("../libraries/banshee.php");
5
6	$db = new MySQLi_connection(DB_HOSTNAME, DB_DATABASE, DB_USERNAME, DB_PASSWORD);
7	if ($db->connected == false) {
8		exit("Internal error: database not available.\n");
9	}
10
11	$date = date("Y-m-d", strtotime("-".MONITOR_DAYS." days"));
12
13	/* Actions
14	 */
15	$query = "delete from events where timestamp<%s";
16	if ($db->query($query, $date) == false) {
17		exit("Error deleting events.\n");
18	}
19
20	/* Server statistics
21	 */
22	$query = "delete from server_statistics where date<=%s";
23	if ($db->query($query, $date) == false) {
24		exit("Error deleting server statistics.\n");
25	}
26
27	/* Host statistics
28	 */
29	$query = "delete from host_statistics where date<=%s";
30	if ($db->query($query, $date) == false) {
31		exit("Error deleting host statistics.\n");
32	}
33
34	/* CGI statistics
35	 */
36	$query = "delete from cgi_statistics where date<=%s";
37	if ($db->query($query, $date) == false) {
38		exit("Error deleting CGI statistics.\n");
39	}
40
41	/* Unsed hostnames
42	 */
43	$query = "select id from hostnames h where ".
44	         "(select count(*) from host_statistics where hostname_id=h.id)=0 and ".
45	         "(select count(*) from cgi_statistics where hostname_id=h.id)=0";
46	if (($ids = $db->execute($query)) === false) {
47		exit("Error deleting unused hostnames.\n");
48	}
49
50	if (($count = count($ids) > 0)) {
51		$params = implode(", ", array_fill(0, $count, "%d"));
52
53		$query = "delete from hostnames where id in (".$params.")";
54		if ($db->query($query, $ids) == false) {
55			exit("Error deleting unused hostnames.\n");
56		}
57	}
58?>
59