Skip to content

Commit

Permalink
Merge branch 'backup_groups_m20' of git://github.com/stronk7/moodle i…
Browse files Browse the repository at this point in the history
…nto MOODLE_20_STABLE
  • Loading branch information
Sam Hemelryk committed Jul 11, 2011
2 parents 38a94e0 + b229f56 commit f2c1252
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 2 deletions.
11 changes: 9 additions & 2 deletions backup/moodle2/backup_course_task.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,15 @@ public function build() {
// Generate the enrolment file
$this->add_step(new backup_enrolments_structure_step('course_enrolments', 'enrolments.xml'));

// Annotate the groups used in already annotated groupings
$this->add_step(new backup_annotate_groups_from_groupings('annotate_groups'));
// Annotate all the groups and groupings belonging to the course
$this->add_step(new backup_annotate_course_groups_and_groupings('annotate_course_groups'));

// Annotate the groups used in already annotated groupings (note this may be
// unnecessary now that we are annotating all the course groups and groupings in the
// step above. But we keep it working in case we decide, someday, to introduce one
// setting to transform the step above into an optional one. This is here to support
// course->defaultgroupingid
$this->add_step(new backup_annotate_groups_from_groupings('annotate_groups_from_groupings'));

// Annotate the question_categories belonging to the course context
$this->add_step(new backup_calculate_question_categories('course_question_categories'));
Expand Down
26 changes: 26 additions & 0 deletions backup/moodle2/backup_stepslib.php
Original file line number Diff line number Diff line change
Expand Up @@ -1564,6 +1564,32 @@ protected function define_execution() {
}
}

/**
* This step will annotate all the groups and groupings belonging to the course
*/
class backup_annotate_course_groups_and_groupings extends backup_execution_step {

protected function define_execution() {
global $DB;

// Get all the course groups
if ($groups = $DB->get_records('groups', array(
'courseid' => $this->task->get_courseid()))) {
foreach ($groups as $group) {
backup_structure_dbops::insert_backup_ids_record($this->get_backupid(), 'group', $group->id);
}
}

// Get all the course groupings
if ($groupings = $DB->get_records('groupings', array(
'courseid' => $this->task->get_courseid()))) {
foreach ($groupings as $grouping) {
backup_structure_dbops::insert_backup_ids_record($this->get_backupid(), 'grouping', $grouping->id);
}
}
}
}

/**
* This step will annotate all the groups belonging to already annotated groupings
*/
Expand Down

0 comments on commit f2c1252

Please sign in to comment.