Skip to content

Commit

Permalink
Feature 0000080: Browser language detection (Use first active browser…
Browse files Browse the repository at this point in the history
… language as language for guest, generic members, registering process). If the language is not available PHPWG_DEFAULT_LANGUAGE is used as previously.

git-svn-id: http://piwigo.org/svn/trunk@2371 68402e56-0260-453c-a942-63ccdbb3a9ee
  • Loading branch information
vdigital committed May 31, 2008
1 parent 93a4c7a commit 6d8c172
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 2 deletions.
4 changes: 4 additions & 0 deletions include/config_default.inc.php
Expand Up @@ -473,6 +473,10 @@
// default_user_id : id of user used for default value
$conf['default_user_id'] = $conf['guest_id'];

// Registering process and guest/generic members get language from the browser
// if language isn't available PHPWG_DEFAULT_LANGUAGE is used as previously
$conf['browser_language'] = true;

// webmaster_id : webmaster'id.
$conf['webmaster_id'] = 1;

Expand Down
28 changes: 27 additions & 1 deletion include/functions_user.inc.php
Expand Up @@ -838,7 +838,32 @@ function get_default_template()
*/
function get_default_language()
{
return get_default_user_value('language', PHPWG_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);
}
}

/*
* Returns the browser language value
*
*/
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)
{
return $language_code;
}
}
return PHPWG_DEFAULT_LANGUAGE;
}

/**
Expand Down Expand Up @@ -898,6 +923,7 @@ function create_user_infos($arg_id, $override_values = null)
{
$status = 'normal';
}
$default_user['language'] = get_default_language();

$insert = array_merge(
$default_user,
Expand Down
5 changes: 4 additions & 1 deletion include/user.inc.php
Expand Up @@ -69,6 +69,9 @@
$user = build_user( $user['id'],
( defined('IN_ADMIN') and IN_ADMIN ) ? false : true // use cache ?
);

if (is_a_guest() or is_generic())
{
$user['language'] = get_default_language();
}
trigger_action('user_init', $user);
?>

0 comments on commit 6d8c172

Please sign in to comment.