Пример #1
0
 /**
  * Prepare cached data for System usage
  * 
  * 
  * @access public
  * 
  * @param bool $forceFlush ,default is bool false
  * @return array cached System data serialized
  */
 public function prepareCachedSystemData($forceFlush = false)
 {
     if ($forceFlush === false) {
         $cachedSystemDataKeys = array(self::SETTINGS_KEY);
         $existingCachedSystemDataKeys = $this->cache->cacheAdapter->hasItems($cachedSystemDataKeys);
     }
     if ($forceFlush === true || $forceFlush === false && count($existingCachedSystemDataKeys) !== count($cachedSystemDataKeys)) {
         $settings = $this->query->findAll('System\\Entity\\Setting');
         $settingsArray = array();
         foreach ($settings as $setting) {
             $settingsArray[$setting->name] = $setting->value;
         }
         $items = array(self::SETTINGS_KEY => serialize($settingsArray));
         $this->cache->setItems($items);
     } else {
         $items = $this->getCachedSystemData();
         $items = array(self::SETTINGS_KEY => serialize($items[self::SETTINGS_KEY]));
     }
     return $items;
 }