MDL-29591 Check for permission before overwriting course idnumber when restoring

This commit is contained in:
Andrew Robert Nicols
2011-11-21 02:34:32 +01:00
committed by Eloy Lafuente (stronk7)
parent 50f0c58e69
commit f7aef5c648
+7 -2
View File
@@ -1096,7 +1096,6 @@ class restore_course_structure_step extends restore_structure_step {
global $CFG, $DB;
$data = (object)$data;
$oldid = $data->id; // We'll need this later
$fullname = $this->get_setting_value('course_fullname');
$shortname = $this->get_setting_value('course_shortname');
@@ -1109,7 +1108,13 @@ class restore_course_structure_step extends restore_structure_step {
$data->id = $this->get_courseid();
$data->fullname = $fullname;
$data->shortname= $shortname;
$data->idnumber = '';
$context = get_context_instance_by_id($this->task->get_contextid());
if (has_capability('moodle/course:changeidnumber', $context, $this->task->get_userid())) {
$data->idnumber = '';
} else {
unset($data->idnumber);
}
// Only restrict modules if original course was and target site too for new courses
$data->restrictmodules = $data->restrictmodules && !empty($CFG->restrictmodulesfor) && $CFG->restrictmodulesfor == 'all';