From: moodler Date: Mon, 21 Jun 2004 13:07:44 +0000 (+0000) Subject: Merged in latest changes from STABLE X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=a2fa19d87c1ac2ad994fe67f87ebf74343eec545;p=moodle.git Merged in latest changes from STABLE --- diff --git a/lib/moodlelib.php b/lib/moodlelib.php index 80a78432b5..1093b438fb 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -2312,6 +2312,30 @@ function moodle_needs_upgrading() { /// MISCELLANEOUS //////////////////////////////////////////////////////////////////// +function moodle_setlocale($locale='') { + + global $SESSION, $USER, $CFG; + + if ($locale) { + $CFG->locale = $locale; + } else if (!empty($CFG->courselang) and ($CFG->courselang != $CFG->lang) ) { + $CFG->locale = get_string('locale'); + } else if (!empty($SESSION->lang) and ($SESSION->lang != $CFG->lang) ) { + $CFG->locale = get_string('locale'); + } else if (!empty($USER->lang) and ($USER->lang != $CFG->lang) ) { + $CFG->locale = get_string('locale'); + } else if (empty($CFG->locale)) { + $CFG->locale = get_string('locale'); + set_config('locale', $CFG->locale); // cache it to save lookups in future + } + setlocale (LC_TIME, $CFG->locale); + setlocale (LC_COLLATE, $CFG->locale); + + if ($CFG->locale != 'tr_TR') { // To workaround a well-known PHP bug with Turkish + setlocale (LC_CTYPE, $CFG->locale); + } +} + function moodle_strtolower ($string, $encoding='') { /// Converts string to lowercase using most compatible function available if (function_exists('mb_strtolower')) { diff --git a/lib/setup.php b/lib/setup.php index fe6c9db774..ecce1a2226 100644 --- a/lib/setup.php +++ b/lib/setup.php @@ -224,20 +224,8 @@ if (empty($CFG->lang)) { $CFG->lang = "en"; } - if (!empty($SESSION->lang) and ($SESSION->lang != $CFG->lang) ) { - $CFG->locale = get_string('locale'); - } else if (!empty($USER->lang) and ($USER->lang != $CFG->lang) ) { - $CFG->locale = get_string('locale'); - } else if (empty($CFG->locale)) { - $CFG->locale = get_string('locale'); - set_config('locale', $CFG->locale); // cache it to save lookups in future - } - setlocale (LC_TIME, $CFG->locale); - setlocale (LC_COLLATE, $CFG->locale); - if ($CFG->locale != 'tr_TR') { // To workaround a well-known PHP bug with Turkish - setlocale (LC_CTYPE, $CFG->locale); - } + moodle_setlocale(); if (!empty($CFG->opentogoogle)) { if (empty($_SESSION['USER'])) { diff --git a/lib/weblib.php b/lib/weblib.php index 54f71e265c..51aeb34c6d 100644 --- a/lib/weblib.php +++ b/lib/weblib.php @@ -970,11 +970,15 @@ function print_header ($title="", $heading="", $navigation="", $focus="", $meta= if (!empty($CFG->unicode)) { $encoding = "utf-8"; - } else if (!empty($SESSION->encoding) and empty($CFG->courselang)) { - $encoding = $SESSION->encoding; - } else { + } else if (!empty($CFG->courselang)) { $encoding = get_string("thischarset"); - $SESSION->encoding = $encoding; + moodle_setlocale(); + } else { + if (!empty($SESSION->encoding)) { + $encoding = $SESSION->encoding; + } else { + $SESSION->encoding = $encoding = get_string("thischarset"); + } } $meta = "\n$meta\n"; @@ -1866,7 +1870,7 @@ function navmenu($course, $cm=NULL, $targetwindow="self") { $selectmod = $mod; $backmod = $previousmod; $flag = true; // set flag so we know to use next mod for "next" - $mod->name = get_string('jumpto'); + $mod->name = $strjumpto; $strjumpto = ''; } else { $mod->name = strip_tags(urldecode($mod->name)); @@ -1948,19 +1952,22 @@ function print_time_selector($hour, $minute, $currenttime=0, $step=5) { choose_from_menu($minutes, $minute, $currentdate['minutes'], ""); } -function print_timer_selector($timelimit = 0) { +function print_timer_selector($timelimit = 0, $unit = "") { /// Prints time limit value selector -/// to add or edit quiz's time limit global $CFG; + if ($unit) { + $unit = ' '.$unit; + } + // Max timelimit is sessiontimeout - 10 minutes. $maxvalue = ($CFG->sessiontimeout / 60) - 10; - for ($i=0; $i<=$maxvalue; $i++) { - $minutes[$i] = sprintf("%02d",$i); + for ($i=1; $i<=$maxvalue; $i++) { + $minutes[$i] = $i.$unit; } - choose_from_menu($minutes, "timelimit", $timelimit,""); + choose_from_menu($minutes, "timelimit", $timelimit, get_string("none")); } function print_grade_menu($courseid, $name, $current, $includenograde=true) {