diff --git a/public/mod/assign/backup/moodle2/backup_assign_stepslib.php b/public/mod/assign/backup/moodle2/backup_assign_stepslib.php index 3fea53bae84..62a53c8957f 100644 --- a/public/mod/assign/backup/moodle2/backup_assign_stepslib.php +++ b/public/mod/assign/backup/moodle2/backup_assign_stepslib.php @@ -162,6 +162,10 @@ class backup_assign_activity_structure_step extends backup_activity_structure_st $pluginconfig->set_source_table('assign_plugin_config', array('assignment' => backup::VAR_PARENTID)); + // Allow subplugins to backup data at assign level. + $this->add_subplugin_structure('assignsubmission', $assign, true); + $this->add_subplugin_structure('assignfeedback', $assign, true); + // Assign overrides to backup are different depending of user info. $overrideparams = array('assignid' => backup::VAR_PARENTID); diff --git a/public/mod/assign/backup/moodle2/restore_assign_stepslib.php b/public/mod/assign/backup/moodle2/restore_assign_stepslib.php index 02fa71a7034..f33aed15256 100644 --- a/public/mod/assign/backup/moodle2/restore_assign_stepslib.php +++ b/public/mod/assign/backup/moodle2/restore_assign_stepslib.php @@ -53,7 +53,13 @@ class restore_assign_activity_structure_step extends restore_activity_structure_ $userinfo = $this->get_setting_value('userinfo'); // Define each element separated. - $paths[] = new restore_path_element('assign', '/activity/assign'); + $assign = new restore_path_element('assign', '/activity/assign'); + $paths[] = $assign; + + // Allow subplugins to restore data at assign level. + $this->add_subplugin_structure('assignsubmission', $assign); + $this->add_subplugin_structure('assignfeedback', $assign); + if ($userinfo) { $submission = new restore_path_element('assign_submission', '/activity/assign/submissions/submission');