コード例 #1
0
 /**
  * Get Setting object
  * @param string $module
  * @param string $key
  * @return CustomSetting
  */
 public static function getCustomSetting($module, $key)
 {
     // Check cache
     if (Settings::isCacheEnabled()) {
         $cache_key = 'module_custom_settings_all';
         $cacher = Cacher::getInstance()->getDefaultCacher();
         if (!self::$cached_settings) {
             self::$cached_settings = $cacher->get($cache_key);
         }
     }
     if (!self::$cached_settings) {
         // To prevent more iterations
         self::$cached_settings['empty']['empty'] = '';
         $settings = new CustomSettingRepository();
         foreach ($settings->getAsArrayOfObjects() as $setting) {
             /** @var CustomSetting $setting */
             self::$cached_settings[$setting->getModule()][$setting->getKey()] = $setting;
         }
     }
     // Save cache
     if (Settings::isCacheEnabled()) {
         $cacher->set($cache_key, self::$cached_settings, 86400);
     }
     return isset(self::$cached_settings[$module][$key]) ? self::$cached_settings[$module][$key] : NULL;
 }