/** * Return information about cache storage * * @return bool|array True if there is no problems or array of string with error messages otherwise */ function getStatus() { $aErrors = array(); $aConf = $GLOBALS['_MAX']['CONF']; // Check if memcached is enabled in php.ini if (!class_exists('Memcache')) { return array($this->translate('strNoMemcacheModuleInPhp')); } // Check servers list $aServers = explode(',', $aConf[$this->group]['memcachedServers']); if (count($aServers) > 0) { foreach ($aServers as $key => $server) { if (empty($server)) { unset($aServers[$key]); } } } if (count($aServers) == 0) { return $this->translate('strEmptyServerList', array('plugin-settings.php?group=oxMemcached')); } $oMemcache = new Memcache(); foreach ($aServers as $server) { if (!_oxMemcached_addMemcachedServer($oMemcache, $server)) { $aErrors[] = $this->translate('strInvalidServerAddress') . " " . $server; } } // Check expire time if (!empty($aConf[$this->group]['memcachedExpireTime']) && (!is_numeric($aConf[$this->group]['memcachedExpireTime']) || $aConf[$this->group]['memcachedExpireTime'] <= $aConf['delivery']['cacheExpire'])) { $aErrors[] = $this->translate('strInvalidExpireTime'); } // Check if memcached server is running if (@$oMemcache->getVersion() === false) { $aErrors[] = $this->translate('strCouldntConnectToMemcached'); } if (count($aErrors) > 0) { return $aErrors; } return true; }
/** * Function to initialize Memcache connection * Memcache function is stored in $GLOBALS['OA_Delivery_Cache']['MemcachedObject'] * * @return Memcache|bool Memcache object or false on errors */ function _oxMemcached_MemcachedInit() { // Don't use memcached if there is no extension in PHP if (!class_exists('Memcache')) { return false; } $oMemcache = new Memcache(); $aServers = explode(',', $GLOBALS['_MAX']['CONF']['oxMemcached']['memcachedServers']); $serversAdded = false; foreach ($aServers as $server) { if (_oxMemcached_addMemcachedServer($oMemcache, $server)) { $serversAdded = true; } } if ($serversAdded === true) { $GLOBALS['OA_Delivery_Cache']['MemcachedObject'] =& $oMemcache; return $GLOBALS['OA_Delivery_Cache']['MemcachedObject']; } return false; }