From 1ee0d78a7872f0de0a896fa3eff72fcd6c6b99af Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Mon, 8 Sep 2014 09:29:09 +0200 Subject: [PATCH] Adding option "Add Me as teacher in courses" during import CSV See BT#8605 --- main/admin/course_import.php | 42 +++++++++++++++-------------- main/admin/example_session.csv | 4 +-- main/inc/lib/add_course.lib.inc.php | 40 ++++++++++++++++----------- 3 files changed, 48 insertions(+), 38 deletions(-) diff --git a/main/admin/course_import.php b/main/admin/course_import.php index b6dfcb64ca..a54e3b7544 100755 --- a/main/admin/course_import.php +++ b/main/admin/course_import.php @@ -115,16 +115,23 @@ function save_data($courses) $params['course_language'] = $course_language; $params['user_id'] = $creatorId; - $course_info = CourseManager::create_course($params); + $addMeAsTeacher = isset($_POST['add_me_as_teacher']) ? $_POST['add_me_as_teacher'] : false; + $params['add_user_as_teacher'] = $addMeAsTeacher; - if (!empty($course_info)) { + $courseInfo = CourseManager::create_course($params); + + if (!empty($courseInfo)) { if (!empty($teacherList)) { foreach ($teacherList as $teacher) { - CourseManager::add_user_to_course($teacher['user_id'], $course_info['code'], COURSEMANAGER); + CourseManager::add_user_to_course( + $teacher['user_id'], + $courseInfo['code'], + COURSEMANAGER + ); } } - $msg .= ' - '.$course_info['title'].' '.get_lang('Created').'
'; + $msg .= ' + '.$courseInfo['title'].' '.get_lang('Created').'
'; } } @@ -199,22 +206,17 @@ if (isset($errors) && count($errors) != 0) { $error_message .= ''; Display :: display_error_message($error_message, false); } + +$form = new FormValidator('import', 'post', api_get_self(), null, array('enctype' => 'multipart/form-data')); +$form->add_header($tool_name); +$form->addElement('file', 'import_file', get_lang('ImportCSVFileLocation')); +$form->addElement('checkbox', 'add_me_as_teacher', null, get_lang('AddMeAsTeacherInCourses')); +$form->addElement('button', 'save', get_lang('Import')); +$form->addElement('hidden', 'formSent', 1); +$form->setDefaults(array('add_me_as_teacher' => 1)); +$form->display(); + ?> -
- -
- -
- -
-
-
-
- -
-
- -

:

diff --git a/main/admin/example_session.csv b/main/admin/example_session.csv index 4a0e4541ee..d1f43ee8e8 100755 --- a/main/admin/example_session.csv +++ b/main/admin/example_session.csv @@ -1,3 +1,3 @@ SessionName;Coach;DateStart;DateEnd;Users;Courses -Session1;jmontoya;2008/08/08;2012/12/12;username1|username2;course1[coach1][username1,username2]|course2[coach1][username1,username2] -Session2;jmontoya;2008/08/08;2012/12/12;username1|username2;course1[coach1][username1,username2]|course2[coach1][username1,username2] \ No newline at end of file +Session1;jmontoya;2008/08/08;2020/12/12;username1|username2;course1[coach1][username1,username2]|course2[coach1][username1,username2] +Session2;jmontoya;2008/08/08;2020/12/12;username1|username2;course1[coach1][username1,username2]|course2[coach1][username1,username2] diff --git a/main/inc/lib/add_course.lib.inc.php b/main/inc/lib/add_course.lib.inc.php index 2d898ef862..d04386b60a 100755 --- a/main/inc/lib/add_course.lib.inc.php +++ b/main/inc/lib/add_course.lib.inc.php @@ -2716,7 +2716,8 @@ function string2binary($variable) { * @todo use an array called $params instead of lots of params * @assert (null) === false */ -function register_course($params) { +function register_course($params) +{ global $error_msg, $firstExpirationDelay; $title = $params['title']; @@ -2825,25 +2826,32 @@ function register_course($params) { unsubscribe = '".intval($unsubscribe) . "', visual_code = '".Database :: escape_string($visual_code) . "'"; Database::query($sql); - - $course_id = Database::get_last_insert_id(); + $course_id = Database::insert_id(); if ($course_id) { - $sort = api_max_sort_value('0', api_get_user_id()); - - $i_course_sort = CourseManager :: userCourseSort($user_id, $code); - if (!empty($user_id)) { - $sql = "INSERT INTO ".$TABLECOURSUSER . " SET - course_code = '".Database :: escape_string($code). "', - user_id = '".intval($user_id) . "', - status = '1', - role = '".lang2db(get_lang('Professor')) . "', - tutor_id = '0', - sort = '". ($i_course_sort) . "', - user_course_cat = '0'"; - Database::query($sql); + // Default true + $addTeacher = isset($params['add_user_as_teacher']) ? $params['add_user_as_teacher'] : true; + if ($addTeacher) { + + $i_course_sort = CourseManager:: userCourseSort( + $user_id, + $code + ); + + if (!empty($user_id)) { + $sql = "INSERT INTO " . $TABLECOURSUSER . " SET + course_code = '" . Database:: escape_string($code) . "', + user_id = '" . intval($user_id) . "', + status = '1', + role = '" . lang2db(get_lang('Professor')) . "', + tutor_id = '0', + sort = '" . ($i_course_sort) . "', + user_course_cat = '0'"; + Database::query($sql); + } } + if (!empty($teachers)) { if (!is_array($teachers)) { $teachers = array($teachers);