diff --git a/main/inc/lib/course.lib.php b/main/inc/lib/course.lib.php index 04d6aab6c9..c482f574d4 100755 --- a/main/inc/lib/course.lib.php +++ b/main/inc/lib/course.lib.php @@ -4706,7 +4706,8 @@ class CourseManager $destination_course_code, $destination_session_id, $params = [], - $withBaseContent = true + $withBaseContent = true, + $copySessionContent = false ) { $course_info = api_get_course_info($source_course_code); @@ -4714,6 +4715,7 @@ class CourseManager $cb = new CourseBuilder('', $course_info); $course = $cb->build($source_session_id, $source_course_code, $withBaseContent); $restorer = new CourseRestorer($course); + $restorer->copySessionContent = $copySessionContent; $restorer->skip_content = $params; $restorer->restore( $destination_course_code, @@ -4764,7 +4766,8 @@ class CourseManager $new_course_info['code'], $destination_session_id, $params, - true + true, + $copySessionContent ); if ($result) { return $new_course_info; diff --git a/main/inc/lib/sessionmanager.lib.php b/main/inc/lib/sessionmanager.lib.php index 648657f369..95252463e7 100755 --- a/main/inc/lib/sessionmanager.lib.php +++ b/main/inc/lib/sessionmanager.lib.php @@ -4692,7 +4692,8 @@ class SessionManager $course['code'], $sid, [], - false + false, + true ); } } diff --git a/src/Chamilo/CourseBundle/Component/CourseCopy/CourseRestorer.php b/src/Chamilo/CourseBundle/Component/CourseCopy/CourseRestorer.php index 49ce0c28a6..bd88cab73c 100644 --- a/src/Chamilo/CourseBundle/Component/CourseCopy/CourseRestorer.php +++ b/src/Chamilo/CourseBundle/Component/CourseCopy/CourseRestorer.php @@ -77,6 +77,8 @@ class CourseRestorer public $add_text_in_items = false; public $destination_course_id; + public $copySessionContent = false; + /** * CourseRestorer constructor. * @@ -1512,11 +1514,13 @@ class CourseRestorer $tool_intro_table = Database::get_course_table(TABLE_TOOL_INTRO); $resources = $this->course->resources; foreach ($resources[RESOURCE_TOOL_INTRO] as $id => $tool_intro) { - $sql = "DELETE FROM $tool_intro_table + if (!$this->copySessionContent) { + $sql = "DELETE FROM $tool_intro_table WHERE c_id = ".$this->destination_course_id." AND id='".self::DBUTF8escapestring($tool_intro->id)."'"; - Database::query($sql); + Database::query($sql); + } $tool_intro->intro_text = DocumentManager::replaceUrlWithNewCourseCode( $tool_intro->intro_text,