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); mass_inserts(USER_GROUP_TABLE, array('user_id', 'group_id'), $inserts);
} }
$override = null; $override = array();
if ($notify_admin and $conf['browser_language']) if ($language = get_browser_language())
{ {
// if function get_browser_language finds a language in the browser $override['language'] = $language;
// 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;
}
} }
create_user_infos($user_id, $override); create_user_infos($user_id, $override);
if ($notify_admin and $conf['email_admin_on_new_user']) 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. * Tries to find the browser language among available languages.
* @todo : try to match 'fr_CA' before 'fr' * @todo : try to match 'fr_CA' before 'fr'
* *
* @param string &$lang * @return string
* @return bool
*/ */
function get_browser_language(&$lang) function get_browser_language()
{ {
$browser_language = substr(@$_SERVER["HTTP_ACCEPT_LANGUAGE"], 0, 2); $browser_language = substr(@$_SERVER["HTTP_ACCEPT_LANGUAGE"], 0, 2);
foreach (get_languages() as $language_code => $language_name) foreach (get_languages() as $language_code => $language_name)
{ {
if (substr($language_code, 0, 2) == $browser_language) if (substr($language_code, 0, 2) == $browser_language)
{ {
$lang = $language_code; return $language_code;
return true;
} }
} }
return false; return false;

View file

@ -68,9 +68,9 @@ if ($conf['apache_authentication'])
$user = build_user( $user['id'], $user = build_user( $user['id'],
( defined('IN_ADMIN') and IN_ADMIN ) ? false : true // use cache ? ( 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); trigger_notify('user_init', $user);
?> ?>