- fix some side effects with browser language (wrong display/user creation in admin and mails to admin in user browser language)

git-svn-id: http://piwigo.org/svn/trunk@2425 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
rvelices
2008-07-05 22:36:39 +00:00
parent f9927090e0
commit 03c2f3c8db
2 changed files with 15 additions and 17 deletions

View File

@@ -151,7 +151,13 @@ SELECT id
mass_inserts(USER_GROUP_TABLE, array('user_id', 'group_id'), $inserts);
}
create_user_infos($next_id);
$override = null;
if ($with_notification and $conf['browser_language'])
{
if ( !get_browser_language($override['language']) )
$override=null;
}
create_user_infos($next_id, $override);
if ($with_notification and $conf['email_admin_on_new_user'])
{
@@ -838,32 +844,25 @@ function get_default_template()
*/
function get_default_language()
{
global $conf;
if (isset($conf['browser_language']) and $conf['browser_language'])
{
return get_browser_language();
}
else
{
return get_default_user_value('language', PHPWG_DEFAULT_LANGUAGE);
}
return get_default_user_value('language', PHPWG_DEFAULT_LANGUAGE);
}
/**
* Returns the browser language value
* Returns true if the browser language value is set into param $lang
*
*/
function get_browser_language()
function get_browser_language(&$lang)
{
$browser_language = substr($_SERVER["HTTP_ACCEPT_LANGUAGE"], 0, 2);
foreach (get_languages() as $language_code => $language_name)
{
if (substr($language_code, 0, 2) == $browser_language)
{
return $language_code;
$lang = $language_code;
return true;
}
}
return PHPWG_DEFAULT_LANGUAGE;
return false;
}
/**
@@ -923,7 +922,6 @@ function create_user_infos($arg_id, $override_values = null)
{
$status = 'normal';
}
$default_user['language'] = get_default_language();
$insert = array_merge(
$default_user,

View File

@@ -69,9 +69,9 @@ if ($conf['apache_authentication'] and isset($_SERVER['REMOTE_USER']))
$user = build_user( $user['id'],
( defined('IN_ADMIN') and IN_ADMIN ) ? false : true // use cache ?
);
if (is_a_guest() or is_generic())
if ($conf['browser_language'] and (is_a_guest() or is_generic()) )
{
$user['language'] = get_default_language();
get_browser_language($user['language']);
}
trigger_action('user_init', $user);
?>