コード例 #1
0
 /**
  * Returns a singleton instance of the class
  * 
  * Sets the cache name and checks that the cache directory is writeable
  * @uses defined()
  * @uses substr()
  * @uses md5()
  * 
  * @access public
  * @return Memcache_Cache_Module
  */
 public static function i()
 {
     if (!self::$_singleton instanceof Memcache_Cache_Module) {
         if (Usu_Main::i()->getVar('page_modules', substr(Usu_Main::i()->getVar('filename'), 0, -4)) instanceof aPage_Modules) {
             self::$cache_on = defined('USU5_CACHE_ON') && USU5_CACHE_ON == 'true' ? true : false;
             self::$cache_name = self::$memcache_prefix . md5(HTTP_SERVER . Usu_Main::i()->getVar('page_modules', substr(Usu_Main::i()->getVar('filename'), 0, -4))->buildCacheName());
             Usu_Main::i()->setVar('cache_name', self::$cache_name);
         } else {
             // No module so we set the cache name as the language id plus the called file
             self::$cache_name = self::$memcache_prefix . md5(HTTP_SERVER . Usu_Main::i()->getVar('languages_id') . '_' . substr(Usu_Main::i()->getVar('filename'), 0, -4));
             Usu_Main::i()->setVar('cache_name', self::$cache_name);
         }
         self::$_singleton = new self();
     }
     return self::$_singleton;
 }