Merge remote-tracking branch 'christian/RNA-20657' into 1.11.x

pull/4660/head^2
NicoDucou 2 years ago
commit 5e15f2c6ba
  1. 7
      main/inc/lib/course.lib.php
  2. 3
      main/inc/lib/sessionmanager.lib.php
  3. 8
      src/Chamilo/CourseBundle/Component/CourseCopy/CourseRestorer.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;

@ -4692,7 +4692,8 @@ class SessionManager
$course['code'],
$sid,
[],
false
false,
true
);
}
}

@ -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,

Loading…
Cancel
Save