diff -r de56132c008d -r bdac73ed481e includes/cache.php --- a/includes/cache.php Sun Mar 28 21:49:26 2010 -0400 +++ b/includes/cache.php Sun Mar 28 23:10:46 2010 -0400 @@ -21,70 +21,70 @@ class CacheManager { - /** - * Fetch a cached piece of data. - * @param string Cache ID. The timestamp is checked automatically. - */ - - public function fetch($cache_id) - { - if ( !preg_match('/^[a-z0-9_]+$/', $cache_id) ) - { - throw new Exception('Cache ID must be letters, numbers, and underscores.'); - } - $cache_file = ENANO_ROOT . "/cache/cache_$cache_id.php"; - if ( file_exists($cache_file) ) - { - require($cache_file); - if ( isset($_cache_data) && isset($_cache_ttl) && isset($_cache_timestamp) ) - { - $cache_expire = $_cache_timestamp + ( 60 * $_cache_ttl); - if ( $cache_expire >= time() || $_cache_ttl === -1 ) - { - return $_cache_data; - } - } - } - return false; - } - - /** - * Stores an array by var_export()ing it and saving it to disk. - * @param string Cache ID - human readable name for this store (letters, numbers, underscores) - * @param array Data to store - * @param int TTL for the cached array, in minutes. Defaults to 20. If set to -1, caches indefinitely. - * @return bool True on success, false on failure - */ - - public function store($cache_id, $data, $ttl = 20) - { - if ( getConfig('cache_thumbs') != '1' ) - { - // caching disabled - return false; - } - if ( !preg_match('/^[a-z0-9_]+$/', $cache_id) ) - { - throw new Exception('Cache ID must be letters, numbers, and underscores.'); - } - if ( !is_int($ttl) ) - { - throw new Exception('TTL must be an integer'); - } - - $cache_file = ENANO_ROOT . "/cache/cache_$cache_id.php"; - if ( file_exists($cache_file) ) - { - @unlink($cache_file); - } - $fh = @fopen($cache_file, 'w'); - if ( !$fh ) - { - throw new Exception('Failed to open file for writing.'); - } - $exported = Language::var_export_string($data); - $now = time(); - $content = <<= time() || $_cache_ttl === -1 ) + { + return $_cache_data; + } + } + } + return false; + } + + /** + * Stores an array by var_export()ing it and saving it to disk. + * @param string Cache ID - human readable name for this store (letters, numbers, underscores) + * @param array Data to store + * @param int TTL for the cached array, in minutes. Defaults to 20. If set to -1, caches indefinitely. + * @return bool True on success, false on failure + */ + + public function store($cache_id, $data, $ttl = 20) + { + if ( getConfig('cache_thumbs') != '1' ) + { + // caching disabled + return false; + } + if ( !preg_match('/^[a-z0-9_]+$/', $cache_id) ) + { + throw new Exception('Cache ID must be letters, numbers, and underscores.'); + } + if ( !is_int($ttl) ) + { + throw new Exception('TTL must be an integer'); + } + + $cache_file = ENANO_ROOT . "/cache/cache_$cache_id.php"; + if ( file_exists($cache_file) ) + { + @unlink($cache_file); + } + $fh = @fopen($cache_file, 'w'); + if ( !$fh ) + { + throw new Exception('Failed to open file for writing.'); + } + $exported = Language::var_export_string($data); + $now = time(); + $content = <<