bug 3111: cleaner code for get_browser_language (no more reference as parameter)

git-svn-id: http://piwigo.org/svn/trunk@29840 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
plegall 2014-09-30 08:23:34 +00:00
parent 7e5722ce78
commit 18f045bf35
2 changed files with 9 additions and 17 deletions

View file

@ -219,18 +219,12 @@ SELECT id
mass_inserts(USER_GROUP_TABLE, array('user_id', 'group_id'), $inserts);
}
$override = null;
if ($notify_admin and $conf['browser_language'])
$override = array();
if ($language = get_browser_language())
{
// if function get_browser_language finds a language in the browser
// which matches a language activated in Piwigo, then it sets
// $override['language'] to 'ru' (for example) and returns
// true. $override won't stay null
if (!get_browser_language($override['language']))
{
$override=null;
}
$override['language'] = $language;
}
create_user_infos($user_id, $override);
if ($notify_admin and $conf['email_admin_on_new_user'])
@ -813,18 +807,16 @@ function get_default_language()
* Tries to find the browser language among available languages.
* @todo : try to match 'fr_CA' before 'fr'
*
* @param string &$lang
* @return bool
* @return string
*/
function get_browser_language(&$lang)
function get_browser_language()
{
$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)
{
$lang = $language_code;
return true;
return $language_code;
}
}
return false;

View file

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