the DB_get_Prefs($myid) functions used to set the _SESSION variable for the language, but was also called with ids that belonged to other players overwriting the language settings with that from another user
foreach($users as $uid)
{
// get local time
-
$zone = DB_get_user_timezone($uid);
date_default_timezone_set($zone);
$time = (int)(date("H"));
- // calculate mod by digest-time
+ // load users preferences
$PREF = DB_get_PREF($uid);
+
+ // set users language preference
+ $language = $PREF['language'];
+
+ switch($language)
+ {
+ case 'de':
+ putenv("LC_ALL=de_DE");
+ setlocale(LC_ALL, "de_DE");
+ // Specify location of translation tables
+ bindtextdomain("edoko", "./locale");
+ // Choose domain
+ textdomain("edoko");
+ break;
+ default:
+ /* do nothing */
+ }
+
+ // calculate mod by digest-time
switch($PREF['digest'])
{
case 'digest-off':
break;
}
}
- $_SESSION['language'] = $PREF['language'];
+
return $PREF;
}
/* get prefs and save them in a variable*/
$PREF = DB_get_PREF(isset($_SESSION['id'])?$_SESSION['id']:$myid);
+/* set language chosen in preferences, will become active on the next reload (see index.php)*/
+$_SESSION['language'] = $PREF['language'];
+
/* get rule set for this game */
$RULES = DB_get_RULES($gameid);
/* get old infos */
$PREF = DB_get_PREF($myid);
+/* set language chosen in preferences, will become active on the next reload (see index.php)*/
+$_SESSION['language'] = $PREF['language'];
$timezone = DB_get_user_timezone($myid);
DB_update_user_timestamp($myid);
return;
$PREF = DB_get_PREF($myid);
+/* set language chosen in preferences, will become active on the next reload (see index.php)*/
+$_SESSION['language'] = $PREF['language'];
DB_update_user_timestamp($myid);
$_SESSION['name'] = $myname;
$PREF = DB_get_PREF($myid);
+ /* set language chosen in preferences, will become active on the next reload (see index.php)*/
+ $_SESSION['language'] = $PREF['language'];
DB_update_user_timestamp($myid);
if(myisset('language') || isset($_SESSION['language']))
{
$language = 'en';
- if(isset($_SESSION['language']))
- $language = $_SESSION['language'];
+
if(myisset('language'))
- {
- $language = $_REQUEST['language'];
- $_SESSION['language'] = $language; /* overrule preferences */
- }
+ $language = $_REQUEST['language'];
+ else if(isset($_SESSION['language']))
+ $language = $_SESSION['language'];
+
switch($language)
{
case 'de':