/** * init tine framework */ protected function _initFramework() { $this->_setupCliConfig(); Tinebase_Core::setupTempDir(); Tinebase_Core::setupServerTimezone(); Tinebase_Core::setupLogger(); Tinebase_Core::setupStreamWrapper(); Tinebase_Core::setupSession(); Tinebase_Core::set(Tinebase_Core::LOCALE, new Zend_Locale('en_US')); Tinebase_Core::set(Tinebase_Core::USERTIMEZONE, 'UTC'); Tinebase_Core::setupDatabaseConnection(); Tinebase_Core::setupCache(); Tinebase_Core::setupUserTimezone(); Tinebase_Core::setupUserLocale(); }
/** * sets timezone * * @param string $timezoneString * @param bool $saveaspreference * @return string */ public function setTimezone($timezoneString, $saveaspreference) { $timezone = Tinebase_Core::setupUserTimezone($timezoneString, $saveaspreference); return $timezone; }
/** * initialize user (session, locale, tz) * * @param Tinebase_Model_FullUser $_user * @param boolean $fixCookieHeader */ public function initUser(Tinebase_Model_FullUser $_user, $fixCookieHeader = true) { Tinebase_Core::set(Tinebase_Core::USER, $_user); if (Tinebase_Session_Abstract::getSessionEnabled()) { $this->_initUserSession($fixCookieHeader); } // need to set locale again and because locale might not be set correctly during loginFromPost // use 'auto' setting because it is fetched from cookie or preference then Tinebase_Core::setupUserLocale('auto'); // need to set userTimeZone again $userTimezone = Tinebase_Core::getPreference()->getValue(Tinebase_Preference::TIMEZONE); Tinebase_Core::setupUserTimezone($userTimezone); }
/** * get current users timezone * * @return string the current users timezone string */ public static function getUserTimezone() { if (!self::isRegistered(self::USERTIMEZONE) || self::get(self::USERTIMEZONE) == NULL) { return Tinebase_Core::setupUserTimezone(); } return self::get(self::USERTIMEZONE); }
/** * init tine framework */ public static function initFramework() { Tinebase_Core::setupConfig(); // Server Timezone must be setup before logger, as logger has timehandling! Tinebase_Core::setupServerTimezone(); Tinebase_Core::setupLogger(); // Database Connection must be setup before cache because setupCache uses constant "SQL_TABLE_PREFIX" Tinebase_Core::setupDatabaseConnection(); Tinebase_Core::setupTempDir(); Tinebase_Core::setupStreamWrapper(); //Cache must be setup before User Locale because otherwise Zend_Locale tries to setup //its own cache handler which might result in a open_basedir restriction depending on the php.ini settings Tinebase_Core::setupCache(); Tinebase_Core::setupSession(); // setup a temporary user locale/timezone. This will be overwritten later but we // need to handle exceptions during initialisation process such as session timeout // @todo add fallback locale to config file Tinebase_Core::set('locale', new Zend_Locale('en_US')); Tinebase_Core::set('userTimeZone', 'UTC'); // Tinebase_Core::setupMailer(); Tinebase_Core::setupUserCredentialCache(); Tinebase_Core::setupUserTimezone(); Tinebase_Core::setupUserLocale(); header('X-API: http://www.tine20.org/apidocs/tine20/'); }
/** * init user session * * @param Tinebase_Model_FullUser $_user * @param Tinebase_Model_AccessLog $_accessLog * @param string $_password */ protected function _initUser(Tinebase_Model_FullUser $_user, Tinebase_Model_AccessLog $_accessLog, $_password) { if ($_accessLog->result === Tinebase_Auth::SUCCESS && $_user->accountStatus === Tinebase_User::STATUS_ENABLED) { $this->_initUserSession($_user); Tinebase_Core::set(Tinebase_Core::USER, $_user); $credentialCache = Tinebase_Auth_CredentialCache::getInstance()->cacheCredentials($_user->accountLoginName, $_password); Tinebase_Core::set(Tinebase_Core::USERCREDENTIALCACHE, $credentialCache); // need to set locale again and because locale might not be set correctly during loginFromPost // use 'auto' setting because it is fetched from cookie or preference then Tinebase_Core::setupUserLocale('auto'); // need to set userTimeZone again $userTimezone = Tinebase_Core::getPreference()->getValue(Tinebase_Preference::TIMEZONE); Tinebase_Core::setupUserTimezone($userTimezone); $_user->setLoginTime($_accessLog->ip); $_accessLog->sessionid = session_id(); $_accessLog->login_name = $_user->accountLoginName; $_accessLog->account_id = $_user->getId(); } }