/** * prepare module for use by module's controllers */ public static function moduleInit($view) { $view->username = self::$_username; self::loadModels(); // make sure forum model classes are ready to use ///////////////////////////// // ==> SECTION: l10n <== /* Calculate information needed to normalize dates to the timezone and locale * specified in user's profile (users table). Goal: Normalized dates should * have both the user's timezone and user's preferred date format. */ $registry = Zend_Registry::getInstance(); $defaultTimezone = date_default_timezone_get(); if (!self::$_user) { self::$_userLocale = $registry['userLocale']; $view->timezone = $defaultTimezone; } else { // paranoia: check if data in DB was valid (locales in CLDR do change infrequently) if (Zend_Locale::isLocale(self::$_user->locale)) { self::$_userLocale = new Zend_Locale(self::$_user->locale); } if (empty(self::$_userLocale)) { self::$_userLocale = $registry['userLocale']; } else { // export var by overriding default user locale with locale from user's profile $registry['userLocale'] = self::$_userLocale; } self::$_timeOffset = mktime(0, 0, 0, 1, 2, 1970) - gmmktime(0, 0, 0, 1, 2, 1970); date_default_timezone_set(self::$_user->timezone); self::$_timeOffset -= mktime(0, 0, 0, 1, 2, 1970) - gmmktime(0, 0, 0, 1, 2, 1970); $now = Zend_Date::now(self::$_userLocale); $registry['now'] = $now; date_default_timezone_set($defaultTimezone); $view->now = $now; $view->timezone = self::$_user->timezone; $view->userRegion = self::$_userLocale->getRegion(); } }