Exemple #1
0
 /**
  * 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();
     }
 }