/** * setLanguage() will set a cookie for the user's browser to remember what language * was selected * * @param $language Language code for the language to set. */ public function setLanguage($language, $setLanguageCookie = TRUE) { $language = strtolower($language); if (in_array($language, $this->availableLanguages, TRUE)) { $this->language = $language; if ($setLanguageCookie === TRUE) { SimpleSAML_XHTML_Template::setLanguageCookie($language); } } }
/** * Apply filter to add or replace attributes. * * Add or replace existing attributes with the configured values. * * @param array &$request The current request */ public function process(&$request) { assert('is_array($request)'); assert('array_key_exists("Attributes", $request)'); $attributes =& $request['Attributes']; $attrlang = NULL; if (array_key_exists($this->langattr, $attributes)) { $attrlang = $attributes[$this->langattr][0]; } $lang = SimpleSAML_XHTML_Template::getLanguageCookie(); if (isset($attrlang)) { SimpleSAML_Logger::debug('LanguageAdaptor: Language in attribute was set [' . $attrlang . ']'); } if (isset($lang)) { SimpleSAML_Logger::debug('LanguageAdaptor: Language in session was set [' . $lang . ']'); } if (isset($attrlang) && !isset($lang)) { // Language set in attribute but not in cookie - update cookie SimpleSAML_XHTML_Template::setLanguageCookie($attrlang); } elseif (!isset($attrlang) && isset($lang)) { // Language set in cookie, but not in attribute. Update attribute $request['Attributes'][$this->langattr] = array($lang); } }
/** * setLanguage() will set a cookie for the user's browser to remember what language * was selected * * @param $language Language code for the language to set. */ public function setLanguage($language) { $this->language = $language; SimpleSAML_XHTML_Template::setLanguageCookie($language); }