Merge branch 'MDL-26841_20' of git://github.com/stronk7/moodle into MOODLE_20_STABLE
This commit is contained in:
@@ -72,8 +72,10 @@ class backup_course_task extends backup_task {
|
||||
// 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'));
|
||||
|
||||
@@ -69,8 +69,10 @@ class restore_course_task extends restore_task {
|
||||
// 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')) {
|
||||
|
||||
@@ -1281,6 +1281,28 @@ class restore_ras_and_caps_structure_step extends restore_structure_step {
|
||||
*/
|
||||
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();
|
||||
@@ -1739,7 +1761,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
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user