diff --git a/mod/assign/backup/moodle2/backup_assign_stepslib.php b/mod/assign/backup/moodle2/backup_assign_stepslib.php index 4facb4fda31..0f018ca9212 100644 --- a/mod/assign/backup/moodle2/backup_assign_stepslib.php +++ b/mod/assign/backup/moodle2/backup_assign_stepslib.php @@ -61,6 +61,7 @@ class backup_assign_activity_structure_step extends backup_activity_structure_st // To know if we are including userinfo. $userinfo = $this->get_setting_value('userinfo'); + $groupinfo = $this->get_setting_value('groups'); // Define each element separated. $assign = new backup_nested_element('assign', array('id'), @@ -159,8 +160,12 @@ class backup_assign_activity_structure_step extends backup_activity_structure_st $userflag->set_source_table('assign_user_flags', array('assignment' => backup::VAR_PARENTID)); - $submission->set_source_table('assign_submission', - array('assignment' => backup::VAR_PARENTID)); + $submissionparams = array('assignment' => backup::VAR_PARENTID); + if (!$groupinfo) { + // Without group info, skip group submissions. + $submissionparams['groupid'] = backup_helper::is_sqlparam(0); + } + $submission->set_source_table('assign_submission', $submissionparams); $grade->set_source_table('assign_grades', array('assignment' => backup::VAR_PARENTID)); @@ -172,6 +177,10 @@ class backup_assign_activity_structure_step extends backup_activity_structure_st $overrideparams['userid'] = backup_helper::is_sqlparam(null); // Without userinfo, skip user overrides. } + if (!$groupinfo) { + // Without group info, skip group overrides. + $overrideparams['groupid'] = backup_helper::is_sqlparam(0); + } $override->set_source_table('assign_overrides', $overrideparams); // Define id annotations.