<?php
+
error_reporting(E_ERROR | E_WARNING | E_PARSE);
+
/**
*
* Friendika
@include(".htconfig.php");
-/**
- *
- * Get the language setting directly from system variables, bypassing get_config()
- * as database may not yet be configured.
- *
- * If possible, we use the value from the browser.
- *
- */
-if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
- $langs = preg_split("/[,-]/",$_SERVER['HTTP_ACCEPT_LANGUAGE'],2);
- $lang = $langs[0];
-} else {
- $lang = ((isset($a->config['system']['language'])) ? $a->config['system']['language'] : 'en');
-}
+$lang = get_language();
load_translation_table($lang);
session_start();
+/**
+ * Language was set earlier, but we can over-ride it in the session.
+ * We have to do it here because the session was just now opened.
+ */
+
+if(x($_POST,'system_language'))
+ $_SESSION['language'] = $_POST['system_language'];
+if((x($_SESSION,'language')) && ($_SESSION['language'] !== $lang)) {
+ $lang = $_SESSION['language'];
+ load_translation_table($lang);
+}
+
+
/**
*
* For Mozilla auth manager - still needs sorting, and this might conflict with LRDD header.
if(! x($_SESSION,'sysmsg'))
$_SESSION['sysmsg'] = '';
+if(! x($_SESSION,'sysmsg_info'))
+ $_SESSION['sysmsg_info'] = '';
+
/*
* check_config() is responsible for running update scripts. These automatically
* update the DB schema whenever we push a new one out. It also checks to see if
if(x($_SESSION,'sysmsg')) {
$a->page['content'] = "<div id=\"sysmsg\" class=\"error-message\">{$_SESSION['sysmsg']}</div>\r\n"
. ((x($a->page,'content')) ? $a->page['content'] : '');
+ $_SESSION['sysmsg']="";
unset($_SESSION['sysmsg']);
}
+if(x($_SESSION,'sysmsg_info')) {
+ $a->page['content'] = "<div id=\"sysmsg_info\" class=\"info-message\">{$_SESSION['sysmsg_info']}</div>\r\n"
+ . ((x($a->page,'content')) ? $a->page['content'] : '');
+ $_SESSION['sysmsg_info']="";
+ unset($_SESSION['sysmsg_info']);
+}
+
call_hooks('page_end', $a->page['content']);