Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Merge branch 'MDL-26841_21' of git://github.com/stronk7/moodle into M…

…OODLE_21_STABLE
  • Loading branch information...
commit c4b234ec544007abcd9d56a10b3924bd57deed2f 2 parents 6831c9f + f199117
@samhemelryk samhemelryk authored
View
6 backup/moodle2/backup_course_task.class.php
@@ -72,8 +72,10 @@ public function build() {
// annotating some bits, tags and module restrictions
$this->add_step(new backup_course_structure_step('course_info', 'course.xml'));
- // Generate the enrolment file
- $this->add_step(new backup_enrolments_structure_step('course_enrolments', 'enrolments.xml'));
+ // Generate the enrolment file (conditionally, prevent it in any IMPORT/HUB operation)
+ if (!$this->plan->get_mode() == backup::MODE_IMPORT && !$this->plan->get_mode() == backup::MODE_HUB) {
+ $this->add_step(new backup_enrolments_structure_step('course_enrolments', 'enrolments.xml'));
+ }
// Annotate all the groups and groupings belonging to the course
$this->add_step(new backup_annotate_course_groups_and_groupings('annotate_course_groups'));
View
6 backup/moodle2/restore_course_task.class.php
@@ -69,8 +69,10 @@ public function build() {
// Restore course role assignments and overrides (internally will observe the role_assignments setting)
$this->add_step(new restore_ras_and_caps_structure_step('course_ras_and_caps', 'roles.xml'));
- // Restore course enrolments (plugins and membership)
- $this->add_step(new restore_enrolments_structure_step('course_enrolments', 'enrolments.xml'));
+ // Restore course enrolments (plugins and membership). Conditionally prevented for any IMPORT/HUB operation
+ if (!$this->plan->get_mode() == backup::MODE_IMPORT && !$this->plan->get_mode() == backup::MODE_HUB) {
+ $this->add_step(new restore_enrolments_structure_step('course_enrolments', 'enrolments.xml'));
+ }
// Restore course filters (conditionally)
if ($this->get_setting_value('filters')) {
View
24 backup/moodle2/restore_stepslib.php
@@ -1291,6 +1291,28 @@ public function process_override($data) {
*/
class restore_enrolments_structure_step extends restore_structure_step {
+ /**
+ * Conditionally decide if this step should be executed.
+ *
+ * This function checks the following parameter:
+ *
+ * 1. the course/enrolments.xml file exists
+ *
+ * @return bool true is safe to execute, false otherwise
+ */
+ protected function execute_condition() {
+
+ // Check it is included in the backup
+ $fullpath = $this->task->get_taskbasepath();
+ $fullpath = rtrim($fullpath, '/') . '/' . $this->filename;
+ if (!file_exists($fullpath)) {
+ // Not found, can't restore enrolments info
+ return false;
+ }
+
+ return true;
+ }
+
protected function define_structure() {
$paths = array();
@@ -1749,7 +1771,7 @@ class restore_course_logs_structure_step extends restore_structure_step {
/**
* Conditionally decide if this step should be executed.
*
- * This function checks the following four parameters:
+ * This function checks the following parameter:
*
* 1. the course/logs.xml file exists
*
Please sign in to comment.
Something went wrong with that request. Please try again.