Example #1
0
 /**
  * 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);
 }