Example #1
0
 public static function SetUser($user)
 {
     if (isset($_GET["lang"])) {
         if (strrpos("|" . LANGUAGES_AVAILABLE . "|", ";" . $_GET["lang"] . "|") !== false) {
             Session::SetLanguageCode($_GET["lang"]);
         }
     } else {
         if (Session::GetLanguageCode() == null) {
             Session::SetLanguageCode(defined('LANGUAGE_CODE') ? LANGUAGE_CODE : self::GetVersion2DefaultLanguageCode());
         }
     }
     $languageFileName = self::LocalPath("languages/" . Session::GetLanguageCode() . ".xml");
     $languageFileNameAndDate = $languageFileName . "_" . filemtime($languageFileName);
     // some caching logic for language strings
     $previousUser = self::GetUser();
     $loadStrings = $previousUser || $user || Session::GetLanguageFile() != $languageFileNameAndDate;
     if (!Session::GetLanguageStrings()) {
         $loadStrings = true;
     }
     Session::SetDisplayedUser($user);
     if ($loadStrings) {
         Session::SetLanguageStrings(Helper::GetLanguageStrings($user ? $user->ID : 0));
         Session::SetLanguageFile($languageFileNameAndDate);
     }
 }