diff options
author | ctrlaltca <> | 2012-07-12 11:21:01 +0000 |
---|---|---|
committer | ctrlaltca <> | 2012-07-12 11:21:01 +0000 |
commit | 903ae8a581fac1e6917fc3e31d2ad8fb91df80c3 (patch) | |
tree | e08bf04f0823650a231227ac3499121270172a23 /framework/I18N/core/MessageCache.php | |
parent | 3e4e6e66aeb3f8fea4e1eb4237498ef9d2358f63 (diff) |
standardize the use of unix eol; use svn properties to enforce native eol
Diffstat (limited to 'framework/I18N/core/MessageCache.php')
-rw-r--r-- | framework/I18N/core/MessageCache.php | 342 |
1 files changed, 171 insertions, 171 deletions
diff --git a/framework/I18N/core/MessageCache.php b/framework/I18N/core/MessageCache.php index d4f58f1d..44392b79 100644 --- a/framework/I18N/core/MessageCache.php +++ b/framework/I18N/core/MessageCache.php @@ -1,171 +1,171 @@ -<?php
-/**
- * Translation table cache.
- * @author $Author: weizhuo $
- * @version $Id$
- * @package System.I18N.core
- */
-
-/**
- * Load the cache lite library.
- */
-require_once(dirname(__FILE__).'/TCache_Lite.php');
-
-/**
- * Cache the translation table into the file system.
- * It can cache each cataloug+variant or just the whole section.
- * @package System.I18N.core
- * @author $Author: weizhuo $
- * @version $Id$
- */
-class MessageCache
-{
-
- /**
- * Cache Lite instance.
- * @var TCache_Lite
- */
- protected $cache;
-
- /**
- * Caceh life time, default is 1 year.
- */
- protected $lifetime = 3153600;
-
-
- /**
- * Create a new Translation cache.
- * @param string $cacheDir Directory to store the cache files.
- */
- public function __construct($cacheDir)
- {
- $cacheDir = $cacheDir.'/';
-
- if(!is_dir($cacheDir))
- throw new Exception(
- 'The cache directory '.$cacheDir.' does not exists.'.
- 'The cache directory must be writable by the server.');
- if(!is_writable($cacheDir))
- throw new Exception(
- 'The cache directory '.$cacheDir.' must be writable '.
- 'by the server.');
-
- $options = array(
- 'cacheDir' => $cacheDir,
- 'lifeTime' => $this->getLifeTime(),
- 'automaticSerialization' => true
- );
-
- $this->cache = new TCache_Lite($options);
- }
-
- /**
- * Get the cache life time.
- * @return int Cache life time.
- */
- public function getLifeTime()
- {
- return $this->lifetime;
- }
-
- /**
- * Set the cache life time.
- * @param int $time Cache life time.
- */
- public function setLifeTime($time)
- {
- $this->lifetime = (int)$time;
- }
-
- /**
- * Get the cache file ID based section and locale.
- * @param string $catalogue The translation section.
- * @param string $culture The translation locale, e.g. "en_AU".
- */
- protected function getID($catalogue, $culture)
- {
- return $catalogue.':'.$culture;
- }
-
- /**
- * Get the cache file GROUP based section and locale.
- * @param string $catalogue The translation section.
- * @param string $culture The translation locale, e.g. "en_AU".
- */
- protected function getGroup($catalogue, $culture)
- {
- return $catalogue.':'.get_class($this);
- }
-
- /**
- * Get the data from the cache.
- * @param string $catalogue The translation section.
- * @param string $culture The translation locale, e.g. "en_AU".
- * @param string $filename If the source is a file, this file's modified
- * time is newer than the cache's modified time, no cache hit.
- * @return mixed Boolean FALSE if no cache hit. Otherwise, translation
- * table data for the specified section and locale.
- */
- public function get($catalogue, $culture, $lastmodified=0)
- {
- $ID = $this->getID($catalogue, $culture);
- $group = $this->getGroup($catalogue, $culture);
-
- $this->cache->_setFileName($ID, $group);
-
- $cache = $this->cache->getCacheFile();
-
- if(is_file($cache) == false)
- return false;
-
-
- $lastmodified = (int)$lastmodified;
-
- if($lastmodified <= 0 || $lastmodified > filemtime($cache))
- return false;
-
- //echo '@@ Cache hit: "'.$ID.'" : "'.$group.'"';
- //echo "<br>\n";
-
- return $this->cache->get($ID, $group);
- }
-
- /**
- * Save the data to cache for the specified section and locale.
- * @param array $data The data to save.
- * @param string $catalogue The translation section.
- * @param string $culture The translation locale, e.g. "en_AU".
- */
- public function save($data, $catalogue, $culture)
- {
- $ID = $this->getID($catalogue, $culture);
- $group = $this->getGroup($catalogue, $culture);
-
- //echo '## Cache save: "'.$ID.'" : "'.$group.'"';
- //echo "<br>\n";
-
- return $this->cache->save($data, $ID, $group);
- }
-
- /**
- * Clean up the cache for the specified section and locale.
- * @param string $catalogue The translation section.
- * @param string $culture The translation locale, e.g. "en_AU".
- */
- public function clean($catalogue, $culture)
- {
- $group = $this->getGroup($catalogue, $culture);
- $this->cache->clean($group);
- }
-
- /**
- * Flush the cache. Deletes all the cache files.
- */
- public function clear()
- {
- $this->cache->clean();
- }
-
-}
-
-?>
+<?php +/** + * Translation table cache. + * @author $Author: weizhuo $ + * @version $Id$ + * @package System.I18N.core + */ + +/** + * Load the cache lite library. + */ +require_once(dirname(__FILE__).'/TCache_Lite.php'); + +/** + * Cache the translation table into the file system. + * It can cache each cataloug+variant or just the whole section. + * @package System.I18N.core + * @author $Author: weizhuo $ + * @version $Id$ + */ +class MessageCache +{ + + /** + * Cache Lite instance. + * @var TCache_Lite + */ + protected $cache; + + /** + * Caceh life time, default is 1 year. + */ + protected $lifetime = 3153600; + + + /** + * Create a new Translation cache. + * @param string $cacheDir Directory to store the cache files. + */ + public function __construct($cacheDir) + { + $cacheDir = $cacheDir.'/'; + + if(!is_dir($cacheDir)) + throw new Exception( + 'The cache directory '.$cacheDir.' does not exists.'. + 'The cache directory must be writable by the server.'); + if(!is_writable($cacheDir)) + throw new Exception( + 'The cache directory '.$cacheDir.' must be writable '. + 'by the server.'); + + $options = array( + 'cacheDir' => $cacheDir, + 'lifeTime' => $this->getLifeTime(), + 'automaticSerialization' => true + ); + + $this->cache = new TCache_Lite($options); + } + + /** + * Get the cache life time. + * @return int Cache life time. + */ + public function getLifeTime() + { + return $this->lifetime; + } + + /** + * Set the cache life time. + * @param int $time Cache life time. + */ + public function setLifeTime($time) + { + $this->lifetime = (int)$time; + } + + /** + * Get the cache file ID based section and locale. + * @param string $catalogue The translation section. + * @param string $culture The translation locale, e.g. "en_AU". + */ + protected function getID($catalogue, $culture) + { + return $catalogue.':'.$culture; + } + + /** + * Get the cache file GROUP based section and locale. + * @param string $catalogue The translation section. + * @param string $culture The translation locale, e.g. "en_AU". + */ + protected function getGroup($catalogue, $culture) + { + return $catalogue.':'.get_class($this); + } + + /** + * Get the data from the cache. + * @param string $catalogue The translation section. + * @param string $culture The translation locale, e.g. "en_AU". + * @param string $filename If the source is a file, this file's modified + * time is newer than the cache's modified time, no cache hit. + * @return mixed Boolean FALSE if no cache hit. Otherwise, translation + * table data for the specified section and locale. + */ + public function get($catalogue, $culture, $lastmodified=0) + { + $ID = $this->getID($catalogue, $culture); + $group = $this->getGroup($catalogue, $culture); + + $this->cache->_setFileName($ID, $group); + + $cache = $this->cache->getCacheFile(); + + if(is_file($cache) == false) + return false; + + + $lastmodified = (int)$lastmodified; + + if($lastmodified <= 0 || $lastmodified > filemtime($cache)) + return false; + + //echo '@@ Cache hit: "'.$ID.'" : "'.$group.'"'; + //echo "<br>\n"; + + return $this->cache->get($ID, $group); + } + + /** + * Save the data to cache for the specified section and locale. + * @param array $data The data to save. + * @param string $catalogue The translation section. + * @param string $culture The translation locale, e.g. "en_AU". + */ + public function save($data, $catalogue, $culture) + { + $ID = $this->getID($catalogue, $culture); + $group = $this->getGroup($catalogue, $culture); + + //echo '## Cache save: "'.$ID.'" : "'.$group.'"'; + //echo "<br>\n"; + + return $this->cache->save($data, $ID, $group); + } + + /** + * Clean up the cache for the specified section and locale. + * @param string $catalogue The translation section. + * @param string $culture The translation locale, e.g. "en_AU". + */ + public function clean($catalogue, $culture) + { + $group = $this->getGroup($catalogue, $culture); + $this->cache->clean($group); + } + + /** + * Flush the cache. Deletes all the cache files. + */ + public function clear() + { + $this->cache->clean(); + } + +} + +?> |