|
|
|
@ -3148,14 +3148,13 @@ class CourseManager { |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* |
|
|
|
|
|
|
|
|
|
* @param string source course code |
|
|
|
|
* @param int source session id |
|
|
|
|
* @param string destination course code |
|
|
|
|
* @param int destination session id |
|
|
|
|
* @return bool |
|
|
|
|
*/ |
|
|
|
|
function copy_course($source_course_code, $source_session_id, $destination_course_code, $destination_session_id) { |
|
|
|
|
function copy_course($source_course_code, $source_session_id, $destination_course_code, $destination_session_id, $params = array()) { |
|
|
|
|
require_once api_get_path(SYS_CODE_PATH).'coursecopy/classes/CourseBuilder.class.php'; |
|
|
|
|
require_once api_get_path(SYS_CODE_PATH).'coursecopy/classes/CourseRestorer.class.php'; |
|
|
|
|
require_once api_get_path(SYS_CODE_PATH).'coursecopy/classes/CourseSelectForm.class.php'; |
|
|
|
@ -3166,6 +3165,7 @@ class CourseManager { |
|
|
|
|
$cb = new CourseBuilder('', $course_info); |
|
|
|
|
$course = $cb->build($source_session_id, $source_course_code, true); |
|
|
|
|
$course_restorer = new CourseRestorer($course); |
|
|
|
|
$course_restorer->skip_content = $params; |
|
|
|
|
$course_restorer->restore($destination_course_code, $destination_session_id, true, true); |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
@ -3174,21 +3174,24 @@ class CourseManager { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* A simpler version of the copy_course, the function creates an empty course |
|
|
|
|
* A simpler version of the copy_course, the function creates an empty course with an autogenerated course code |
|
|
|
|
* |
|
|
|
|
* @param string course title |
|
|
|
|
* @param string new course title |
|
|
|
|
* @param string source course code |
|
|
|
|
* @param int source session id |
|
|
|
|
* @param int destination session id |
|
|
|
|
* @param bool new copied tools (Exercises and LPs)will be set to invisible by default? |
|
|
|
|
* |
|
|
|
|
* @return array |
|
|
|
|
*/ |
|
|
|
|
function copy_course_simple($new_title, $source_course_code, $source_session_id = 0, $destination_session_id = 0) { |
|
|
|
|
function copy_course_simple($new_title, $source_course_code, $source_session_id = 0, $destination_session_id = 0, $params = array()) { |
|
|
|
|
$source_course_info = api_get_course_info($source_course_code); |
|
|
|
|
if (!empty($source_course_info)) { |
|
|
|
|
$new_course_code = self::generate_nice_next_course_code($source_course_code); |
|
|
|
|
if ($new_course_code) { |
|
|
|
|
$new_course_info = self::create_course($new_title, $new_course_code, false); |
|
|
|
|
if (!empty($new_course_info['code'])) { |
|
|
|
|
$result = self::copy_course($source_course_code, $source_session_id, $new_course_info['code'], $destination_session_id); |
|
|
|
|
$result = self::copy_course($source_course_code, $source_session_id, $new_course_info['code'], $destination_session_id, $params); |
|
|
|
|
if ($result) { |
|
|
|
|
return $new_course_info; |
|
|
|
|
} |
|
|
|
|