diff --git a/backup/moodle2/backup_stepslib.php b/backup/moodle2/backup_stepslib.php index 4178d887429..963f55c9021 100644 --- a/backup/moodle2/backup_stepslib.php +++ b/backup/moodle2/backup_stepslib.php @@ -835,6 +835,9 @@ class backup_badges_structure_step extends backup_structure_step { } protected function define_structure() { + global $CFG; + + require_once($CFG->libdir . '/badgeslib.php'); // Define each element separated. @@ -886,7 +889,15 @@ class backup_badges_structure_step extends backup_structure_step { // Define sources. - $badge->set_source_table('badge', array('courseid' => backup::VAR_COURSEID)); + $parametersql = ' + SELECT * + FROM {badge} + WHERE courseid = :courseid + AND status != ' . BADGE_STATUS_ARCHIVED; + $parameterparams = [ + 'courseid' => backup::VAR_COURSEID + ]; + $badge->set_source_sql($parametersql, $parameterparams); $criterion->set_source_table('badge_criteria', array('badgeid' => backup::VAR_PARENTID)); $endorsement->set_source_table('badge_endorsement', array('badgeid' => backup::VAR_PARENTID));