/** * Default Settings From Database */ // Retrieve Cached Settings $cache = Cache::instance(); $subdomain = Kohana::config('settings.subdomain'); $settings = $cache->get($subdomain . '_settings'); if (!$settings or !is_array($settings)) { // Cache is Empty so Re-Cache $settings = Settings_Model::get_array(); $cache->set($subdomain . '_settings', $settings, array('settings'), 60); // 1 Day } // Set Site Language Kohana::config_set('locale.language', $settings['site_language']); ush_locale::detect_language(); // Copy everything into kohana config settings.XYZ foreach ($settings as $key => $setting) { Kohana::config_set('settings.' . $key, $setting); } // Set Site Timezone if (function_exists('date_default_timezone_set')) { $timezone = isset($settings['site_timezone']) ? $settings['site_timezone'] : null; // Set default timezone, due to increased validation of date settings // which cause massive amounts of E_NOTICEs to be generated in PHP 5.2+ date_default_timezone_set(empty($timezone) ? date_default_timezone_get() : $timezone); Kohana::config_set('settings.site_timezone', $timezone); } // Cache Settings $cache_pages = (isset($settings['cache_pages']) and $settings['cache_pages']) ? TRUE : FALSE; Kohana::config_set('cache.cache_pages', $cache_pages);