Index: branches/5.2.x/core/kernel/utility/cache.php =================================================================== diff -u -N -r14699 -r14840 --- branches/5.2.x/core/kernel/utility/cache.php (.../cache.php) (revision 14699) +++ branches/5.2.x/core/kernel/utility/cache.php (.../cache.php) (revision 14840) @@ -1,6 +1,6 @@ siteKeyName = 'site_serial:' . crc32(SQL_TYPE . '://' . SQL_USER . ':' . SQL_PASS . '@' . SQL_SERVER . ':' . TABLE_PREFIX . ':' . SQL_DB); // get cache handler class to use - if ( isset($vars['CacheHandler']) ) { - // for advanced users, who want to save one SQL on each page load - $handler_class = $vars['CacheHandler'] . 'CacheHandler'; - } - else { - $this->Application->Conn->nextQueryFromMaster = true; - $handler_class = $this->Application->ConfigValue('CacheHandler') . 'CacheHandler'; - } + $handler_class = (isset($vars['CacheHandler']) ? $vars['CacheHandler'] : '') . 'CacheHandler'; - // defined cache handler doen't exist -> use default - if (!class_exists($handler_class)) { + // defined cache handler doesn't exist -> use default + if ( !class_exists($handler_class) ) { $handler_class = 'FakeCacheHandler'; } $handler = new $handler_class(); - if (!$handler->isWorking()) { + if ( !$handler->isWorking() ) { // defined cache handler is not working -> use default trigger_error('Failed to initialize "' . $handler_class . '" caching handler.', E_USER_WARNING); $handler = new FakeCacheHandler(); } - elseif ($this->Application->isDebugMode() && ($handler->cachingType == CACHING_TYPE_MEMORY)) { + elseif ( $this->Application->isDebugMode() && ($handler->cachingType == CACHING_TYPE_MEMORY) ) { $this->Application->Debugger->appendHTML('Memory Caching: "' . $handler_class . '"'); } @@ -518,39 +511,31 @@ var $cachingType = CACHING_TYPE_MEMORY; - function MemcacheCacheHandler() + function MemcacheCacheHandler($default_servers = '') { $vars = kUtil::getConfigVars(); + $memcached_servers = isset($vars['MemcacheServers']) ? $vars['MemcacheServers'] : $default_servers; - if ( array_key_exists('MemcacheServers', $vars) ) { - // for advanced users, who want to save one SQL on each page load - $memcached_servers = $vars['MemcacheServers']; - } - else { - $application =& kApplication::Instance(); - $memcached_servers = $application->ConfigValue('MemcacheServers'); - } - - if ($memcached_servers && class_exists('Memcache')) { + if ( $memcached_servers && class_exists('Memcache') ) { $this->_enabled = true; $this->_handler = new Memcache(); $servers = explode(';', $memcached_servers); - foreach ($servers as $server) { - if ( preg_match('/(.*):([\d]+)$/', $server, $regs) ) { - // "hostname:port" OR "unix:///path/to/socket:0" - $server = $regs[1]; - $port = $regs[2]; - } - else { - $port = 11211; - } + foreach ($servers as $server) { + if ( preg_match('/(.*):([\d]+)$/', $server, $regs) ) { + // "hostname:port" OR "unix:///path/to/socket:0" + $server = $regs[1]; + $port = $regs[2]; + } + else { + $port = 11211; + } - $this->_handler->addServer($server, $port); - } + $this->_handler->addServer($server, $port); + } - // verify, that memcache server is working - if (!$this->_handler->set('test', 1)) { + // verify, that memcache server is working + if ( !$this->_handler->set('test', 1) ) { $this->_enabled = false; } }