Example #1
0
<?php

error_reporting(E_ALL & ~E_NOTICE);
include_once dirname(__FILE__) . "/../config.php";
include_once dirname(__FILE__) . "/definitions.php";
// set character encoding
header('Content-Type: text/html; charset=utf-8');
// load session
session_start();
// create database if it does not exist
if (!Helper::DatabaseVersionIsValid()) {
    Helper::Redirect("create.php?redirectUrl=" . urlencode($_SERVER["REQUEST_URI"]));
}
// extract current user from querystring
if (isset($_GET["user"])) {
    $currentUser = getCurrentUser();
    if (!$currentUser || $currentUser->Username != $_GET["user"] || !Session::GetLanguageStrings() || isset($_GET["lang"]) && Session::GetLanguageCode() != $_GET["lang"]) {
        Helper::SetUser(DataAccess::GetUserByUsername($_GET["user"]));
    }
} else {
    Helper::SetUser(null);
}
Example #2
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);
     }
 }