Blame | Letzte Änderung | Log anzeigen | RSS feed
#!/usr/bin/php<?php/*** @package Mediaran.de* @author Lars Tiefland <tiefland@weban.de>* @copyright 2009 Webagentur Niewerth* @license propietary* @version $Rev: 402 $* @filesource**//**** @package Mediaran.de* @author Lars Tiefland <tiefland@weban.de>* @copyright 2009 Webagentur Niewerth*/// SVN: $Id: clear_cache.php 402 2011-02-03 15:33:21Z tiefland $/** übergebene Parameter auswerten*/foreach ( $_SERVER["argv"] as $param_id => $param ){list( $param_name, $param_value ) = explode( "=", $param );switch ( strtolower( $param_name ) ){case "base":$base = filter_var( $param_value, FILTER_SANITIZE_STRING );break;case "site":// Abfrage limitieren um beim Entwickel Zeit zu sparen$site = filter_var( $param_value, FILTER_SANITIZE_STRING );break;case "shop":$shop = filter_var( $param_value, FILTER_SANITIZE_STRING );break;}}if ( !$site ){echo "Keine Site angegeben! ==> Kann Cache nicht löschen!\n";exit( 255 );}if ( !$shop ){echo "Kein Shop angegeben! ==> Kann Cache nicht löschen!\n";exit( 255 );}if ( !$base ){$base = "/var/www/vhosts/$shop";}if ( !file_exists( $base ) ){echo "Basisverzeichnis \"$base\" existiert nicht! ==> Kann Cache nicht löschen!\n";exit( 255 );}$cache_dir = $base . "/httpdocs/cache/";if ( !file_exists( $cache_dir ) ){echo "Cacheverzeichnis \"$cache_dir\" existiert nicht! ==> Kann Cache nicht löschen!\n";echo "Verwendet der Shop überhaupt einen Cache?\n";exit( 255 );}/*** Konstanten*//*** Definition für die INI-Datei*/define( "__SITE__", $site );define( "__SHOP__", $shop );define( "__USE_MDB2__", true );require_once ( "module/functions.common.php" );require_once ( "PEAR.php" );require_once ( "File/Find.php" );PEAR::setErrorHandling( PEAR_ERROR_CALLBACK, 'errorHandler' );init_shop();$files = File_Find::glob( "/navigation_|subdir_[0-9]*\.html/i", $cache_dir,'perl' );if ( is_array( $files ) ){foreach ( $files as $file ){$mtime = filemtime( $cache_dir . "/" . $file );if ( strtotime( "1 day", $mtime ) < time() ){unlink( $cache_dir . "/" . $file );}}}$sql = "SELECTUNIX_TIMESTAMP(erstellt_am) AS mtime,father,idFROMdirectoryWHERELanguage='" . $GLOBALS["INI"]["language"] . "'";$res = $GLOBALS["db"]->query( $sql );if ( !PEAR::isError( $res ) ){if ( $res->NumRows() ){$rows = $res->fetchAll();foreach ( $rows as $row ){$file = $cache_dir . "/navigation_" . $row["father"] .".html";if ( file_exists( $file ) ){$mtime = filemtime( $file );if ( $mtime < $row["mtime"] ){unlink( $file );}}$file = $cache_dir . "/subdir_" . $row["father"] . ".html";if ( file_exists( $file ) ){$mtime = filemtime( $file );if ( $mtime < $row["mtime"] ){unlink( $file );}}}}}function errorHandler( $error ){$message = $error->getUserInfo();if ( !empty( $error->backtrace[1]['file'] ) ){$message .= ' (' . $error->backtrace[1]['file'];if ( !empty( $error->backtrace[1]['line'] ) ){$message .= ' in Zeile ' . $error->backtrace[1]['line'];}$message .= ')';}mail_admin( $message );exit;}function mail_admin( $message ){$subject = "Fehler beim Löschen des Cache auf www." . __SHOP__;$from = "info@" . __SHOP__;mail( "tiefland@weban.de", $subject, $message, "From: $form" );mail( "niewerth@weban.de", $subject, $message, "From: $from" );}?>