#!/usr/bin/php
<?php
	chdir(dirname($argv[0]));
	require("../libraries/banshee.php");

	$db = new MySQLi_connection(DB_HOSTNAME, DB_DATABASE, DB_USERNAME, DB_PASSWORD);
	if ($db->connected == false) {
		exit("Internal error: database not available.\n");
	}

	$date = date("Y-m-d", strtotime("-".MONITOR_DAYS." days"));

	/* Actions
	 */
	$query = "delete from events where timestamp<%s";
	if ($db->query($query, $date) == false) {
		exit("Error deleting events.\n");
	}

	/* Server statistics
	 */
	$query = "delete from server_statistics where timestamp_end<%s";
	if ($db->query($query, $date) == false) {
		exit("Error deleting server statistics.\n");
	}

	/* Host statistics
	 */
	$query = "delete from host_statistics where timestamp_end<%s";
	if ($db->query($query, $date) == false) {
		exit("Error deleting host statistics.\n");
	}

	/* CGI statistics
	 */
	$query = "delete from cgi_statistics where timestamp_end<%s";
	if ($db->query($query, $date) == false) {
		exit("Error deleting CGI statistics.\n");
	}

	/* Unsed hostnames
	 */
	$query = "select id from hostnames h where ".
	         "(select count(*) from host_statistics where hostname_id=h.id)=0 and ".
	         "(select count(*) from cgi_statistics where hostname_id=h.id)=0";
	if (($ids = $db->execute($query)) === false) {
		exit("Error deleting unused hostnames.\n");
	}

	if (($count = count($ids) > 0)) {
		$params = implode(", ", array_fill(0, $count, "%d"));

		$query = "delete from hostnames where id in (".$params.")";
		if ($db->query($query, $ids) == false) {
			exit("Error deleting unused hostnames.\n");
		}
	}
?>
