summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--actions/profilesettings.php3
-rw-r--r--actions/register.php2
-rw-r--r--index.php8
-rw-r--r--lib/util.php14
4 files changed, 21 insertions, 6 deletions
diff --git a/actions/profilesettings.php b/actions/profilesettings.php
index f2fe89826..bc4fce50b 100644
--- a/actions/profilesettings.php
+++ b/actions/profilesettings.php
@@ -140,6 +140,9 @@ class ProfilesettingsAction extends SettingsAction {
common_log_db_error($user, 'UPDATE', __FILE__);
common_server_error(_('Couldn\'t update user.'));
return;
+ } else {
+ # Re-initialize language environment if it changed
+ common_init_language();
}
}
diff --git a/actions/register.php b/actions/register.php
index d97e3a18a..c53910842 100644
--- a/actions/register.php
+++ b/actions/register.php
@@ -98,6 +98,8 @@ class RegisterAction extends Action {
common_debug('Adding rememberme cookie for ' . $nickname);
common_rememberme($user);
}
+ # Re-init language env in case it changed (not yet, but soon)
+ common_init_language();
$this->show_success();
} else {
$this->show_form(_('Invalid username or password.'));
diff --git a/index.php b/index.php
index fad626646..de39dd020 100644
--- a/index.php
+++ b/index.php
@@ -22,6 +22,14 @@ define('LACONICA', true);
require_once(INSTALLDIR . "/lib/common.php");
+# get and cache current user
+
+$user = common_current_user();
+
+# initialize language env
+
+common_init_language();
+
$action = $_REQUEST['action'];
if (!$action || !preg_match('/^[a-zA-Z0-9_-]*$/', $action)) {
diff --git a/lib/util.php b/lib/util.php
index a904e34e0..5e6d9fc6f 100644
--- a/lib/util.php
+++ b/lib/util.php
@@ -131,11 +131,7 @@ function common_end_xml() {
$xw->flush();
}
-define('PAGE_TYPE_PREFS', 'text/html,application/xhtml+xml,application/xml;q=0.3,text/xml;q=0.2');
-
-function common_show_header($pagetitle, $callable=NULL, $data=NULL, $headercall=NULL) {
- global $config, $xw;
-
+function common_init_language() {
$language = common_language();
# So we don't have to make people install the gettext locales
putenv('LANGUAGE='.$language);
@@ -148,7 +144,13 @@ function common_show_header($pagetitle, $callable=NULL, $data=NULL, $headercall=
bindtextdomain("laconica", $config['site']['locale_path']);
bind_textdomain_codeset("laconica", "UTF-8");
textdomain("laconica");
-
+}
+
+define('PAGE_TYPE_PREFS', 'text/html,application/xhtml+xml,application/xml;q=0.3,text/xml;q=0.2');
+
+function common_show_header($pagetitle, $callable=NULL, $data=NULL, $headercall=NULL) {
+ global $config, $xw;
+
$httpaccept = isset($_SERVER['HTTP_ACCEPT']) ? $_SERVER['HTTP_ACCEPT'] : NULL;
# XXX: allow content negotiation for RDF, RSS, or XRDS