MDL-43497 Language: Allow course language to be overridden

This commit is contained in:
Brian King 2013-12-24 14:00:49 +01:00
parent 76e4de31cc
commit c484af5aa6
7 changed files with 70 additions and 63 deletions

View file

@ -399,7 +399,7 @@ class enrol_flatfile_plugin extends enrol_plugin {
* @param bool $buffer_if_future
*/
protected function process_records(progress_trace $trace, $action, $roleid, $user, $course, $timestart, $timeend, $buffer_if_future = true) {
global $CFG, $DB, $SESSION;
global $CFG, $DB;
// Check if timestart is for future processing.
if ($timestart > time() and $buffer_if_future) {
@ -448,12 +448,7 @@ class enrol_flatfile_plugin extends enrol_plugin {
}
if ($notify and $this->get_config('mailstudents')) {
// Some nasty hackery to get strings and dates localised for target user.
$sessionlang = isset($SESSION->lang) ? $SESSION->lang : null;
if (get_string_manager()->translation_exists($user->lang, false)) {
$SESSION->lang = $user->lang;
moodle_setlocale();
}
$oldforcelang = force_current_language($user->lang);
// Send welcome notification to enrolled users.
$a = new stdClass();
@ -478,22 +473,14 @@ class enrol_flatfile_plugin extends enrol_plugin {
$trace->output("Failed to notify enrolled user", 1);
}
if ($SESSION->lang !== $sessionlang) {
$SESSION->lang = $sessionlang;
moodle_setlocale();
}
force_current_language($oldforcelang);
}
if ($notify and $this->get_config('mailteachers', 0)) {
// Notify person responsible for enrolments.
$enroller = $this->get_enroller($course->id);
// Some nasty hackery to get strings and dates localised for target user.
$sessionlang = isset($SESSION->lang) ? $SESSION->lang : null;
if (get_string_manager()->translation_exists($enroller->lang, false)) {
$SESSION->lang = $enroller->lang;
moodle_setlocale();
}
$oldforcelang = force_current_language($enroller->lang);
$a = new stdClass();
$a->course = format_string($course->fullname, true, array('context' => $context));
@ -517,10 +504,7 @@ class enrol_flatfile_plugin extends enrol_plugin {
$trace->output("Failed to notify enroller {$eventdata->userto->id}", 1);
}
if ($SESSION->lang !== $sessionlang) {
$SESSION->lang = $sessionlang;
moodle_setlocale();
}
force_current_language($oldforcelang);
}
return;