diff --git a/actions/profilesettings.php b/actions/profilesettings.php index f2fe89826e..bc4fce50b9 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 d97e3a18af..c539108420 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 fad6266466..de39dd020c 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 a904e34e06..5e6d9fc6fa 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