<?php 
/* ***** BEGIN LICENSE BLOCK ***** 
 * Version: MPL 1.1 
 * 
 * The contents of this file are subject to the Mozilla Public License Version 
 * 1.1 (the "License"); you may not use this file except in compliance with 
 * the License. You may obtain a copy of the License at 
 * http://www.mozilla.org/MPL/ 
 * 
 * Software distributed under the License is distributed on an "AS IS" basis, 
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 
 * for the specific language governing rights and limitations under the 
 * License. 
 * 
 * The Original Code is WURFL PHP Libraries. 
 * 
 * The Initial Developer of the Original Code is 
 * Andrea Trasatti. 
 * Portions created by the Initial Developer are Copyright (C) 2004-2005 
 * the Initial Developer. All Rights Reserved. 
 * 
 * ***** END LICENSE BLOCK ***** */ 
 
/* 
 * $Id: update_cache.php,v 1.1 2005/04/16 16:04:21 atrasatti Exp $ 
 * $RCSfile: update_cache.php,v $ v2.1 beta2 (Apr, 16 2005) 
 * 
 * Author: Andrea Trasatti ( atrasatti AT users DOT sourceforge DOT net ) 
 * Multicache implementation: Herouth Maoz ( herouth AT spamcop DOT net ) 
 * 
 */ 
 
/* 
 * 
 * This script should be called manually (CLI is suggested) to update the 
 * multicache files when a new XML is availabled. 
 * This script should be used when you have configured WURFL_CACHE_AUTOUPDATE 
 * to false. 
 * 
 * KNOWN BUG: cache.php will be updated automatically, a race condition might 
 * happen while generating the new files in the temporary directory and before 
 * it's moved to the default path. A temporary cache file should be used along 
 * contributions are welcome. 
 * 
 * More info can be found here in the PHP section: 
 * http://wurfl.sourceforge.net/ 
 * 
 * Questions or comments can be sent to 
 * "Andrea Trasatti" <atrasatti AT users DOT sourceforge DOT net> 
 * 
 * Please, support this software, send any suggestion and improvement to me 
 * or the mailing list and we will try to keep it updated and make it better 
 * every day. 
 * 
 * If you like it and use it, please let me know or contact the wmlprogramming 
 * mailing list: [email protected] 
 * 
 */ 
 
set_time_limit(600); 
 
list($usec, $sec) = explode(" ", microtime()); 
$start = ((float)$usec + (float)$sec);  
 
require_once('./wurfl_config.php'); 
define('FORCED_UPDATE', true); 
require_once(WURFL_PARSER_FILE); 
 
list($usec, $sec) = explode(" ", microtime()); 
$load_parser = ((float)$usec + (float)$sec);  
 
wurfl_log('update_cache', "Forced cache update started"); 
if (WURFL_USE_CACHE === true) { 
    parse(); 
    if ( WURFL_USE_MULTICACHE === true ) { 
        wurfl_log('update_cache', "Updating multicache dir"); 
        touch(MULTICACHE_TOUCH); 
        if ( is_dir(MULTICACHE_DIR) ) 
            rename(substr(MULTICACHE_DIR, 0, -1), substr(MULTICACHE_DIR, 0, -1).'.'.time()); 
        rename(substr(MULTICACHE_TMP_DIR, 0, -1), substr(MULTICACHE_DIR, 0, -1)); 
        unlink(MULTICACHE_TOUCH); 
    } 
    wurfl_log('update_cache', "Done updating cache"); 
} else { 
    wurfl_log('update_cache', "Why update cache if WURFL_URE_CACHE is not set to true?"); 
} 
 
list($usec, $sec) = explode(" ", microtime()); 
$parse = ((float)$usec + (float)$sec);  
 
echo "Parser load time:".($load_parser-$start)."<br>\n"; 
echo "Parsing time:".($parse-$load_parser)."<br>\n"; 
echo "Total:".($end-$start)."<br>\n"; 
 
?> 
 
 |