/** * Save data * * @param string $data * @param string $id * @param array $tags * @param int $lifeTime * @return bool */ public function save($data, $id, $tags = array(), $lifeTime = null) { if (!in_array(self::CACHE_TAG, $tags)) { $tags[] = self::CACHE_TAG; } if (is_null($lifeTime)) { $lifeTime = (int) $this->getFrontend()->getOption('lifetime'); } // edit cached object $cacheData = new Varien_Object(); $cacheData->setCachedata($data); $cacheData->setCacheId($id); $cacheData->setTags($tags); $cacheData->setLifeTime($lifeTime); Mage::dispatchEvent('fpc_save_data_before', array('cache_data' => $cacheData)); $data = $cacheData->getCachedata(); $id = $cacheData->getCacheId(); $tags = $cacheData->getTags(); $lifeTime = $cacheData->getLifeTime(); $compressLevel = Mage::getStoreConfig(self::GZCOMPRESS_LEVEL_XML_PATH); if ($compressLevel != -2) { $data = gzcompress($data, $compressLevel); } return $this->_frontend->save($data, $this->_id($id), $this->_tags($tags), $lifeTime); }