public function remove($sName = null, $sType = '') { if (file_exists(PHPFOX_DIR_CACHE . 'cache.lock')) { return false; } $oCache = parent::getInstance(); if (class_exists('Phpfox_Cache_Storage_File') && Phpfox::getParam('core.cache_storage') == 'file') { return $oCache->remove($sName, $sType); } if (class_exists('Phpfox_Cache_Storage_Memcache') && Phpfox::getParam('core.cache_storage') == 'memcache') { $oMemcache = $this->getMemcache(); if ($sName === null) { return $oMemcache->flush(); } switch ($sType) { case 'substr': $sPrefix = is_array($sName) ? $sName[0] : $sName; $aPrefix = $this->get($sPrefix); if ($aPrefix && is_array($aPrefix)) { $oMemcache->delete($sPrefix); foreach ($aPrefix as $key) { if ($key) { $oMemcache->delete($sPrefix . $key); } } } break; default: if (is_array($sName)) { $sName = $sName[0] . isset($sName[1]) ? $sName[1] : ''; } $oMemcache->delete($sName); } } }