From cf08dc27e99eaff9e4d3f6627368167b44db7fd2 Mon Sep 17 00:00:00 2001 From: Ivan Tcholakov Date: Sun, 30 Aug 2009 17:52:04 +0300 Subject: [PATCH] Bug #1370 - Training backup tool: Additional fix about restoring prerequisities in the LP tool. See the related forum post at http://www.dokeos.com/forum/viewtopic.php?p=45425 . --- main/coursecopy/classes/CourseRestorer.class.php | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/main/coursecopy/classes/CourseRestorer.class.php b/main/coursecopy/classes/CourseRestorer.class.php index 22828d5bb2..944450bc67 100644 --- a/main/coursecopy/classes/CourseRestorer.class.php +++ b/main/coursecopy/classes/CourseRestorer.class.php @@ -994,8 +994,6 @@ class CourseRestorer $table_tool = Database::get_course_table(TABLE_TOOL_LIST, $this->course->destination_db); $resources = $this->course->resources; - $prereq_old = array (); - $item_old_id = array (); foreach ($resources[RESOURCE_LEARNPATH] as $id => $lp) { $sql = "INSERT INTO ".$table_main." " . @@ -1029,6 +1027,7 @@ class CourseRestorer $next_item_ids = array(); $old_prerequisite = array(); $old_refs = array(); + $prerequisite_ids = array(); foreach ($lp->get_items() as $index => $item) { /* @@ -1105,6 +1104,7 @@ class CourseRestorer } } + $prerequisite_ids[$new_item_id] = $item['prerequisite']; } // updating prerequisites @@ -1148,6 +1148,17 @@ class CourseRestorer $sql = "UPDATE ".$table_item." SET next_item_id = '".$next_new_id."' WHERE id = '".$new_item_id."'"; api_sql_query($sql, __FILE__, __LINE__); } + + foreach ($prerequisite_ids as $new_item_id => $prerequisite_old_id) + { + $prerequisite_new_id = 0; + if($prerequisite_old_id != 0){ + $prerequisite_new_id = $new_item_ids[$prerequisite_old_id]; + } + $sql = "UPDATE ".$table_item." SET prerequisite = '".$prerequisite_new_id."' WHERE id = '".$new_item_id."'"; + api_sql_query($sql, __FILE__, __LINE__); + } + $this->course->resources[RESOURCE_LEARNPATH][$id]->destination_id = $new_lp_id; }