Esempio n. 1
0
/**
* 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);