diff --git a/main/admin/course_export.php b/main/admin/course_export.php index c215ae326a..f2283a3fac 100755 --- a/main/admin/course_export.php +++ b/main/admin/course_export.php @@ -63,6 +63,7 @@ if (isset($_POST['formSent']) && $_POST['formSent']) { 'CourseCategoryName', 'Teacher', 'Language', + 'Visibility', ]; if ($includeUsers) { $listToExport[0][] = 'Users'; @@ -88,6 +89,8 @@ if (isset($_POST['formSent']) && $_POST['formSent']) { } $dataToExport['tutor_name'] = str_replace(';', ',', $course['tutor_name']); $dataToExport['course_language'] = str_replace(';', ',', $course['course_language']); + $dataToExport['visibility'] = str_replace(';', ',', $course['visibility']); + if ($includeUsers) { $dataToExport['students'] = ''; $dataToExport['teachers'] = ''; diff --git a/main/admin/course_import.php b/main/admin/course_import.php index e546bdc30b..cae08a1b98 100755 --- a/main/admin/course_import.php +++ b/main/admin/course_import.php @@ -126,6 +126,9 @@ function save_courses_data($courses) $params['user_id'] = $creatorId; $addMeAsTeacher = isset($_POST['add_me_as_teacher']) ? $_POST['add_me_as_teacher'] : false; $params['add_user_as_teacher'] = $addMeAsTeacher; + if (isset($course['Visibility'])) { + $params['visibility'] = $course['Visibility']; + } // Check if there is a course template stated for this course. In that case, we check if that code exists in DB: if (array_key_exists('CourseTemplate', $course) && $course['CourseTemplate'] != '') { @@ -267,10 +270,10 @@ $form->display();
diff --git a/main/admin/course_update_import.php b/main/admin/course_update_import.php index 920cfa6412..64368339c9 100644 --- a/main/admin/course_update_import.php +++ b/main/admin/course_update_import.php @@ -11,9 +11,9 @@ api_protect_admin_script(); */ function generateCsvModel(array $fields): string { - $headerCsv = "Code;Title;CourseCategory;Language;"; + $headerCsv = "Code;Title;CourseCategory;Language;Visibility;"; - $exampleCsv = "COURSE001;Introduction to Biology;BIO;english;"; + $exampleCsv = "COURSE001;Introduction to Biology;BIO;english;1;"; foreach ($fields as $field) { $fieldType = (int) $field['field_type']; @@ -50,6 +50,7 @@ function generateXmlModel(array $fields): string $modelXml .= " <Title>Introduction to Biology</Title>\n"; $modelXml .= " <CourseCategory>BIO</CourseCategory>\n"; $modelXml .= " <Language>english</Language>\n"; + $modelXml .= " <Visibility>1</Visibility>\n"; foreach ($fields as $field) { switch ($field['field_type']) { case ExtraField::FIELD_TYPE_CHECKBOX: @@ -102,12 +103,19 @@ function validateCourseData(array $courses): array function updateCourse(array $courseData, int $courseId): void { $courseTable = Database::get_main_table(TABLE_MAIN_COURSE); - $params = [ - 'title' => $courseData['Title'], - 'course_language' => $courseData['Language'], - 'category_code' => $courseData['CourseCategory'], - 'visual_code' => $courseData['Code'], - ]; + $params = []; + if (isset($courseData['Title'])) { + $params['title'] = $courseData['Title']; + } + if (isset($courseData['Language'])) { + $params['course_language'] = $courseData['Language']; + } + if (isset($courseData['CourseCategory'])) { + $params['category_code'] = $courseData['CourseCategory']; + } + if (isset($courseData['Visibility'])) { + $params['visibility'] = $courseData['Visibility']; + } Database::update($courseTable, $params, ['id = ?' => $courseId]); $courseData['code'] = $courseData['Code']; $courseData['item_id'] = $courseId;-Code;Title;CourseCategory;CourseCategoryName;Teacher;Language;CourseTemplate;CloneHomepageTools -BIO0015;Biology;BIO;Science;teacher1;english;TEMPLATE1;true -BIO0016;Maths;MATH;Engineerng;teacher2|teacher3;english;; -BIO0017;Language;LANG;;;english;; +Code;Title;CourseCategory;CourseCategoryName;Teacher;Language;Visibility;CourseTemplate;CloneHomepageTools +BIO0015;Biology;BIO;Science;teacher1;english;1;TEMPLATE1;true +BIO0016;Maths;MATH;Engineerng;teacher2|teacher3;english;1;; +BIO0017;Language;LANG;;;english;1;;