Blame | Letzte Änderung | Log anzeigen | RSS feed
<?php/*** @package Content-management* @author Lars Tiefland <tiefland@weban.de>* @copyright 2009 Webagentur Niewerth* @license propietary* @version $Rev: 3938 $* @filesource**//**** @package Content-management* @author Lars Tiefland <tiefland@weban.de>* @copyright 2009 Webagentur Niewerth*/// SVN: $Id: clean-shop_log.php 3938 2011-09-19 09:54:33Z tiefland $require_once "Config.php";require_once "MDB2.php";define( "XML_FILE", "config.xml" );$datum = date( "Y-m-d", strtotime( "-1day" ) ) . "%";if ( file_exists( XML_FILE ) ){$cfg = new Config();$cfg = $cfg->parseConfig( XML_FILE, "xml" );if ( PEAR::isError( $cfg ) ){die( $cfg->getUserInfo() );}$conf = $cfg->toArray();$conf = $conf["root"]["conf"];if ( isset( $conf["servers"]["server"]["name"] ) ){$server = $conf["servers"]["server"];unset( $conf["servers"]["server"] );$conf["servers"]["server"][0] = $server;}foreach ( $conf["servers"]["server"] as $server_id => $server ){if ( !is_array( $server["db"] ) ){$db = $server["db"];unset( $conf["servers"]["server"][$server_id]["db"] );$conf["servers"]["server"][$server_id]["db"][0] = $db;}}if ( isset( $conf["ip_ranges"]["ip_range"]["from"] ) ){$ip = $conf["ip_ranges"]["ip_range"];unset( $conf["ip_ranges"]["ip_range"] );$conf["ip_ranges"]["ip_range"][0] = $ip;}if ( isset( $conf["ips"]["ip"]["address"] ) ){$ip = $conf["ips"]["ip"];unset( $conf["ips"]["ip"] );$conf["ips"]["ip"][0] = $ip;}foreach ( $conf["servers"]["server"] as $server ){$server_name = $server["name"];echo $server_name . "\n";foreach ( $server["db"] as $db_id => $db_name ){$user = $conf["global"]["user"];$pass = $conf["global"]["pass"];if ( $server["user"] ){$user = $server["user"];}if ( $server["pass"] ){$pass = $server["pass"];}$dsn = "mysqli://$user:$pass@$server_name/$db_name";$db = MDB2::connect( $dsn );$db->setfetchMode( MDB2_FETCHMODE_ASSOC );if ( PEAR::isError( $db ) ){die( $db->getUserInfo() . "\n$dsn\n" );}$sql_d = "DELETE FROMshop_logWHEREeintrag4=:ipANDerstellt_am LIKE :datum";$sql_sth = $db->prepare( $sql_d, array( "text", "text",MDB2_PREPARE_MANIP ) );if ( PEAR::isError( $sql_sth ) ){die( $sql_sth->getUserInfo() );}if ( is_array( $conf["ips"]["ip"] ) ){foreach ( $conf["ips"]["ip"] as $ip ){$address = $ip["address"];$name = ( $ip["name"] ) ? $ip["name"] : $ip["address"];$sql = "DELETE FROMshop_logWHEREerstellt_von='(Preisagentur)'ANDeintrag4='" . $address . "'";$res = $db->exec( $sql );echo "$name ==> ";if ( PEAR::isError( $res ) ){die( $res->getUserInfo() );}echo $res . " Zeilen betroffen\n";}}if ( is_array( $conf["ip_ranges"]["ip_range"] ) ){foreach ( $conf["ip_ranges"]["ip_range"] as $ip ){$sql = "DELETE FROMshop_logWHEREerstellt_von='(Preisagentur)'ANDeintrag4BETWEEN '" . $ip["from"] . "'AND '" . $ip["to"] . "'";$res = $db->exec( $sql );echo "von " . $ip["from"] . " bis " . $ip["to"] ." ==> ";if ( PEAR::isError( $res ) ){die( $res->getUserInfo() );}echo $res . " Zeilen betroffen " . $ip["name"] . " \n";}}$sql = "SELECTeintrag4,COUNT(*) AS anzahlFROMshop_logWHEREerstellt_von='(Preisagentur)'ANDerstellt_am LIKE '" . $datum . "'GROUP BYeintrag4HAVINGanzahl >=2ORDER BYanzahl,eintrag4";$res = $db->query( $sql );if ( PEAR::isError( $res ) ){die( $res->getUserInfo() );}$rows = $res->fetchAll();foreach ( $rows as $row ){$daten = array( "datum" => $datum, "ip" => $row["eintrag4"] );$res = $sql_sth->execute( $daten );if ( PEAR::isError( $res ) ){var_dump( $daten, $row, $sql_d, $sql_sth );die( $res->getUserInfo() );}echo "IP " . $daten["ip"] . " ==> " . $row["anzahl"] ." Zeilen betroffen\n";}}}}else{echo "Konfigurationsdatei " . XML_FILE . " nicht gefunden!\n";exit( 200 );}?>