]> git.mjollnir.org Git - moodle.git/commitdiff
Only insert outcome_course if it doesn't exist. MDL-13308 ; merged from 19_STABLE
authorstronk7 <stronk7>
Sun, 3 Feb 2008 18:44:14 +0000 (18:44 +0000)
committerstronk7 <stronk7>
Sun, 3 Feb 2008 18:44:14 +0000 (18:44 +0000)
backup/restorelib.php

index 36c0d6df7ac1ec109f400e0f3a96f436fc087bc1..1828f8dd8adbb5bd3b08060e186ce8e2b5b77af2 100644 (file)
@@ -1579,6 +1579,9 @@ define('RESTORE_GROUPS_GROUPINGS', 3);
                                             $recordset_size);
                 if ($recs) {
                     foreach ($recs as $rec) {
+                        // Initialize the DB object
+                        $dbrec = new object();
+
                         //Get the full record from backup_ids
                         $data = backup_getid($restore->backup_unique_code,'grade_outcomes_courses',$rec->old_id);
                         if ($data) {
@@ -1590,13 +1593,19 @@ define('RESTORE_GROUPS_GROUPINGS', 3);
 
                             $oldoutcomesid = backup_todb($info['GRADE_OUTCOMES_COURSE']['#']['OUTCOMEID']['0']['#']);
                             $newoutcome = backup_getid($restore->backup_unique_code,"grade_outcomes",$oldoutcomesid);
-                            unset($dbrec);
+
                             $dbrec->courseid = $restore->course_id;
                             $dbrec->outcomeid = $newoutcome->new_id;
-                            insert_record('grade_outcomes_courses', $dbrec);
+
+                            //Only insert the record if it doesn't exist (can exist if restoring to existing course)
+                            if (!record_exists('grade_outcomes_courses', 'courseid', $dbrec->courseid, 'outcomeid', $dbrec->outcomeid)) {
+                                insert_record('grade_outcomes_courses', $dbrec);
+                            }
                         }
+
                         //Increment counters
                         $counter++;
+
                         //Do some output
                         if ($counter % 1 == 0) {
                             if (!defined('RESTORE_SILENTLY')) {