From 1c6f36a9a8cb0fdef380bf9d7399524ee0c7da2f Mon Sep 17 00:00:00 2001
From: mudrd8mz <mudrd8mz>
Date: Thu, 21 Aug 2008 12:05:34 +0000
Subject: [PATCH] MDL-14326 Remove all course_modules that remained empty (i.e.
 with instance==0) after the particular restore process. Merged from
 MOODLE_19_STABLE

---
 backup/restorelib.php | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/backup/restorelib.php b/backup/restorelib.php
index 6ce9318cac0..0869fc40bfe 100644
--- a/backup/restorelib.php
+++ b/backup/restorelib.php
@@ -4411,6 +4411,18 @@ define('RESTORE_GROUPS_GROUPINGS', 3);
                 } else {
                     $status = false;
                }
+               // MDL-14326 remove empty course modules instance's (credit goes to John T. Macklin from Remote Learner)
+               $course_modules_inst_zero = get_records_sql("SELECT id, course, instance
+                                           FROM {$CFG->prefix}course_modules
+                                           WHERE id = '$cm_module->new_id' AND
+                                                 instance = '0'");
+                                                 
+                    if($course_modules_inst_zero){ // Clean up the invalid instances
+                         foreach($course_modules_inst_zero as $course_modules_inst){
+                             delete_records('course_modules', 'id',$course_modules_inst->id);
+                         }
+                    }
+
             }
         /// Finally, calculate modinfo cache.
             rebuild_course_cache($restore->course_id);