Changeset 664
- Timestamp:
- 10/22/06 21:59:41 (2 years ago)
- Files:
-
- devel/mod/gettext/lib.php (modified) (1 diff)
- devel/units/gettext/gettext_userdetails_edit_details.php (modified) (1 diff)
- devel/units/gettext/library.php (modified) (12 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
devel/mod/gettext/lib.php
r659 r664 23 23 $selected = ''; 24 24 //$USER->locale 25 if ($_SESSION[' userlocale'] == $key && $CFG->languages_installed[$key])25 if ($_SESSION['locale'] == $key && $CFG->languages_installed[$key]) 26 26 { 27 27 $selected = 'selected="selected"'; devel/units/gettext/gettext_userdetails_edit_details.php
r659 r664 2 2 3 3 // Function is in module's lib.php 4 $run_result .= gettext_userdetails_edit_details( $page_owner);4 $run_result .= gettext_userdetails_edit_details(); 5 5 6 6 ?> devel/units/gettext/library.php
r663 r664 45 45 global $CFG, $USER, $l10n; 46 46 47 if (!isset($USER->locale)) 48 { 49 $USER->locale = $CFG->defaultlocale; 50 } 51 47 52 if (!isset($l10n[$domain])) 48 53 { … … 56 61 else 57 62 { 58 $input = new CachedFileReader($CFG->languages_domain_paths[$domain][$USER->locale]); 59 $l10n[$domain][$USER->locale] = new gettext_reader($input); 60 61 return $l10n[$domain][$USER->locale]; 63 // Double check if file exists 64 if (file_exists($CFG->languages_domain_paths[$domain][$USER->locale])) 65 { 66 $input = new CachedFileReader($CFG->languages_domain_paths[$domain][$USER->locale]); 67 $l10n[$domain][$USER->locale] = new gettext_reader($input); 68 69 return $l10n[$domain][$USER->locale]; 70 } 71 else 72 { 73 return; 74 } 62 75 } 63 76 } … … 207 220 global $CFG, $USER; 208 221 222 // Clean up the (possible) flaw created by the first svn commit 223 // TODO can be removed with next package release 224 delete_records('user_flags','flag','language','user_id',0); 225 209 226 // Load default language path 210 227 parse_installed_languages($CFG->dirroot); … … 246 263 247 264 // set initial session variable 248 if (!isset($_SESSION[' userlocale']))249 { 250 $_SESSION[' userlocale'] = '';265 if (!isset($_SESSION['locale'])) 266 { 267 $_SESSION['locale'] = ''; 251 268 } 252 269 253 270 // Now, grab user preference 254 255 if (logged_on && $USER->ident != 0) 271 272 273 // logged_on is not yet defined yet in this stage, 274 // use USER->ident for this... 275 // TODO Implement better check! 276 if ($USER->ident != 0) 256 277 { 257 278 // User is logged in and has a session 258 259 279 if ($result = get_record('user_flags','flag','language','user_id',$USER->ident)) 260 280 { 261 $_SESSION[' userlocale'] = $result->value;281 $_SESSION['locale'] = $result->value; 262 282 $USER->locale = $result->value; 263 283 } … … 289 309 insert_record('user_flags',$flag); 290 310 291 $_SESSION[' userlocale'] = $setting;311 $_SESSION['locale'] = $setting; 292 312 $USER->locale = $setting; 293 313 } … … 305 325 // selection widget. Should perhaps get stored in a cookie. 306 326 307 if (isset($_SESSION[' userlocale']) && $_SESSION['userlocale'] != '')308 { 309 $USER->locale = $_SESSION[' userlocale'];327 if (isset($_SESSION['locale']) && $_SESSION['locale'] != '') 328 { 329 $USER->locale = $_SESSION['locale']; 310 330 } 311 331 else … … 318 338 // else it will get called too late to set the user language. 319 339 $params = explode('?',$_SERVER['REQUEST_URI']); 320 if ($params[1]) 340 341 if (isset($params[1])) 321 342 { 322 343 $lang = explode('=', $params[1]); … … 334 355 335 356 // Store it in the user preferences 336 if (logged_on && $USER->ident != 0) 357 // TODO better logged in check, logged_on not available 358 if ($USER->ident != 0) 337 359 { 338 360 // Have to replicate flag setting because of including order … … 349 371 350 372 // Set session variable 351 $_SESSION[' userlocale'] = $USER->locale;352 } 353 } 354 355 function gettext_userdetails_edit_details( $userid)356 { 357 global $CFG ;373 $_SESSION['locale'] = $USER->locale; 374 } 375 } 376 377 function gettext_userdetails_edit_details() 378 { 379 global $CFG, $USER; 358 380 359 381 $title = __gettext("Language selection").":"; … … 364 386 <p>$blurb</p> 365 387 END; 388 389 $tmp = ""; 366 390 367 391 if ($CFG->languages_installed == null) … … 400 424 function gettext_userdetails_actions() 401 425 { 402 global $CFG, $ messages;426 global $CFG, $USER, $messages; 403 427 404 428 $action = optional_param('action'); 405 429 $id = optional_param('id',0,PARAM_INT); 406 $lang = optional_param('lang', $CFG->defaultlocale, TEXT);430 $lang = optional_param('lang', $CFG->defaultlocale, PARAM_ALPHAEXT); 407 431 $lang_db = user_flag_get('language', $id); 408 432 … … 415 439 if (user_flag_set('language', $lang, $id)) 416 440 { 417 $_SESSION[' userlocale'] = $lang;441 $_SESSION['locale'] = $lang; 418 442 $USER->locale = $lang; 443 419 444 $messages[] .= __gettext("Preferred language") . " " . __gettext("saved") ."."; 420 445 }
