/**
  * 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;
}