Adding option "Add Me as teacher in courses" during import CSV

See BT#8605
1.9.x
Julio Montoya 11 years ago
parent f91f0680f6
commit 1ee0d78a78
  1. 42
      main/admin/course_import.php
  2. 4
      main/admin/example_session.csv
  3. 40
      main/inc/lib/add_course.lib.inc.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 .= '<a href="'.api_get_path(WEB_COURSE_PATH).$course_info['directory'].'/">
'.$course_info['title'].'</a> '.get_lang('Created').'<br />';
$msg .= '<a href="'.api_get_path(WEB_COURSE_PATH).$courseInfo['directory'].'/">
'.$courseInfo['title'].'</a> '.get_lang('Created').'<br />';
}
}
@ -199,22 +206,17 @@ if (isset($errors) && count($errors) != 0) {
$error_message .= '</ul>';
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();
?>
<form method="post" action="<?php echo api_get_self(); ?>" enctype="multipart/form-data" style="margin: 0px;">
<legend><?php echo $tool_name; ?></legend>
<div class="control-group">
<label><?php echo get_lang('ImportCSVFileLocation'); ?></label>
<div class="control">
<input type="file" name="import_file"/>
</div>
</div>
<div class="control-group">
<div class="control">
<button type="submit" class="save" value="<?php echo get_lang('Import'); ?>"><?php echo get_lang('Import'); ?></button>
</div>
</div>
<input type="hidden" name="formSent" value="1"/>
</form>
<div style="clear: both;"></div>
<p><?php echo get_lang('CSVMustLookLike').' ('.get_lang('MandatoryFields').')'; ?> :</p>

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

1 SessionName Coach DateStart DateEnd Users Courses
2 Session1 jmontoya 2008/08/08 2012/12/12 2020/12/12 username1|username2 course1[coach1][username1,username2]|course2[coach1][username1,username2]
3 Session2 jmontoya 2008/08/08 2012/12/12 2020/12/12 username1|username2 course1[coach1][username1,username2]|course2[coach1][username1,username2]

@ -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);

Loading…
Cancel
Save