Fixing session import for 1.10

skala
Julio Montoya 12 years ago
parent f71dba392c
commit 93a9e13c6b
  1. 161
      main/inc/lib/sessionmanager.lib.php
  2. 22
      main/session/example_session.csv
  3. 276
      main/session/session_import.php
  4. 12
      tests/datafiller/data_users.php

@ -2066,8 +2066,18 @@ class SessionManager
return $row[0];
}
static function protect_session_edit($id = null) {
$blockTeachers = !api_is_platform_admin() && (!api_is_teacher() || (api_is_teacher() && api_get_setting('allow_teachers_to_create_sessions') == 'false'));
/**
* @param int $id
* @return bool
*/
static function protect_session_edit($id = null)
{
if (api_is_platform_admin()) {
return false;
}
$blockTeachers = !api_is_teacher() || (api_is_teacher() && api_get_setting('allow_teachers_to_create_sessions') == 'false');
if ($blockTeachers) {
api_not_allowed(true);
}
@ -2084,6 +2094,7 @@ class SessionManager
api_not_allowed(true);
}
}
//Blocking teachers that want to edit another session
if ($blockTeachers == false && $session_info['id_coach'] != api_get_user_id()) {
api_not_allowed(true);
@ -2147,7 +2158,8 @@ class SessionManager
$extraFieldId = null,
$daysCoachAccessBeforeBeginning = null,
$daysCoachAccessAfterBeginning = null,
$sessionVisibility = 1
$sessionVisibility = 1,
$fieldsToAvoidUpdate = array()
)
{
$content = file($file);
@ -2189,7 +2201,6 @@ class SessionManager
$tag_names = array();
foreach ($content as $key => $enreg) {
$enreg = explode(';', trim($enreg));
if ($key) {
foreach ($tag_names as $tag_key => $tag_name) {
@ -2221,9 +2232,9 @@ class SessionManager
$date_start = $enreg['DateStart'];
$date_end = $enreg['DateEnd'];
$visibility = isset($enreg['Visibility']) ? $enreg['Visibility'] : $sessionVisibility;
$session_category_id = $enreg['SessionCategory'];
$session_category_id = isset($enreg['SessionCategory']) ? $enreg['SessionCategory'] : null;
// Searching a coach.
// Searching a general coach.
if (!empty($enreg['Coach'])) {
$coach_id = UserManager::get_user_id_from_username($enreg['Coach']);
if ($coach_id === false) {
@ -2239,6 +2250,7 @@ class SessionManager
$unique_name = false; // This MUST be initializead.
$i = 0;
// Change session name, verify that session doesn't exist.
$suffix = null;
while (!$unique_name) {
if ($i > 1) {
$suffix = ' - '.$i;
@ -2255,7 +2267,7 @@ class SessionManager
}
// Creating the session.
$sql_session = "INSERT IGNORE INTO $tbl_session SET
/*$sql_session = "INSERT IGNORE INTO $tbl_session SET
name = '".$session_name."',
id_coach = '$coach_id',
date_start = '$date_start',
@ -2263,8 +2275,18 @@ class SessionManager
visibility = '$visibility',
session_category_id = '$session_category_id',
session_admin_id=".intval($defaultUserId).$extraParameters;
Database::query($sql_session);
$session_id = Database::insert_id();
Database::query($sql_session);*/
$params = array (
'id_coach' => $coach_id,
'visibility' => $visibility,
'name' => $session_name,
'access_start_date' => $date_start,
'access_end_date' => $date_end,
'session_category_id' => $session_category_id,
'session_admin_id' => $defaultUserId,
);
$session_id = SessionManager::add($params);
if ($debug) {
if ($session_id) {
@ -2299,18 +2321,27 @@ class SessionManager
if ($my_session_result === false) {
// Creating a session.
$sql_session = "INSERT IGNORE INTO $tbl_session SET
/*$sql_session = "INSERT IGNORE INTO $tbl_session SET
name = '$session_name',
id_coach = '$coach_id',
date_start = '$date_start',
date_end = '$date_end',
visibility = '$visibility',
session_category_id = '$session_category_id'".$extraParameters;
session_category_id = '$session_category_id' ".$extraParameters;*/
$params = array (
'id_coach' => $coach_id,
'visibility' => $visibility,
'name' => $session_name,
'access_start_date' => $date_start,
'access_end_date' => $date_end,
'session_category_id' => $session_category_id,
'session_admin_id' => $defaultUserId,
);
$session_id = SessionManager::add($params);
Database::query($sql_session);
// We get the last insert id.
$my_session_result = SessionManager::get_session_by_name($session_name);
$session_id = $my_session_result['id'];
/*$my_session_result = SessionManager::get_session_by_name($enreg['SessionName']);
$session_id = $my_session_result['id'];*/
if ($debug) {
if ($session_id) {
@ -2388,25 +2419,13 @@ class SessionManager
foreach ($courses as $course) {
$course_code = api_strtoupper(api_substr($course, 0, api_strpos($course, '[')));
if (CourseManager::course_exists($course_code)) {
$coach = api_strstr($course, '[');
$coach = api_substr($coach, 1, api_strpos($coach,']') - 1);
if (!empty($coach)) {
$coach_id = UserManager::get_user_id_from_username($coach);
if ($coach_id === false) {
$coach_id = '';
}
} else {
$coach = '';
}
$courseInfo = api_get_course_info($course_code);
$courseId = $courseInfo['real_id'];
// Adding the course to a session.
$sql_course = "INSERT IGNORE INTO $tbl_session_course SET
course_code = '$course_code',
id_session='$session_id'";
$sql_course = "INSERT IGNORE INTO $tbl_session_course
SET c_id = '".$courseId."', id_session = '$session_id'";
Database::query($sql_course);
if ($debug) {
@ -2432,7 +2451,7 @@ class SessionManager
if ($coach_id !== false) {
$sql = "INSERT IGNORE INTO $tbl_session_course_user SET
id_user='$coach_id',
course_code='$course_code',
c_id ='$courseId',
id_session = '$session_id',
status = 2 ";
Database::query($sql);
@ -2455,7 +2474,7 @@ class SessionManager
if ($user_id !== false) {
$sql = "INSERT IGNORE INTO $tbl_session_course_user SET
id_user='$user_id',
course_code='$course_code',
c_id = '$courseId',
id_session = '$session_id'";
Database::query($sql);
if ($debug) {
@ -2467,90 +2486,16 @@ class SessionManager
}
}
$sql = "UPDATE $tbl_session_course SET nbr_users='$users_in_course_counter' WHERE course_code='$course_code'";
$sql = "UPDATE $tbl_session_course SET nbr_users='$users_in_course_counter' WHERE c_id ='$courseId'";
Database::query($sql);
$course_info = CourseManager::get_course_information($course_code);
$inserted_in_course[$course_code] = $course_info['title'];
} else {
// TODO: We should create the course as in the XML import.
}
if (CourseManager::course_exists($course_code, true)) {
$list = CourseManager :: get_courses_info_from_visual_code($course_code);
foreach ($list as $vcourse) {
if ($vcourse['code'] == $course_code) {
// Ignore, this has already been inserted.
} else {
$coach = api_strstr($course, '[');
$coach = api_substr($coach, 1, api_strpos($coach,']') - 1);
// Adding the relationship "Session - Course".
$sql_course = "INSERT IGNORE INTO $tbl_session_course SET
course_code = '".$vcourse['code']."',
id_session='$session_id'";
Database::query($sql_course);
if ($debug) {
$logger->addInfo("Sessions - Adding course to session: course: '".$vcourse['code']."' and session #$session_id");
}
// Adding coachs to session course user
foreach ($course_coaches as $course_coach) {
$coach_id = UserManager::get_user_id_from_username($course_coach);
if ($coach_id !== false) {
$sql = "INSERT IGNORE INTO $tbl_session_course_user SET
id_user='$coach_id',
course_code='{$vcourse['code']}',
id_session = '$session_id',
status = 2 ";
Database::query($sql);
if ($debug) {
$logger->addInfo("Sessions - Adding coach to session: user #$coach_id ($course_coach) course: '".$vcourse['code']."' and session #$session_id");
}
} else {
$error_message .= get_lang('UserDoesNotExist').' : '.$course_coach.$eol;
}
}
$users_in_course_counter = 0;
// Adding the relationship "Session - Course - User".
foreach ($course_users as $user) {
$user_id = UserManager::get_user_id_from_username($user);
if ($user_id !== false) {
$sql = "INSERT IGNORE INTO $tbl_session_course_user SET
id_user='$user_id',
course_code='{$vcourse['code']}',
id_session = '$session_id'";
Database::query($sql);
if ($debug) {
$logger->addInfo("Sessions - Adding user to session: user #$user_id ($user) course: '".$vcourse['code']."' and session #$session_id");
}
$users_in_course_counter++;
} else {
$error_message .= get_lang('UserDoesNotExist').' : '.$user.$eol;
}
}
Database::query("UPDATE $tbl_session_course SET nbr_users='$users_in_course_counter' WHERE course_code='".$vcourse['code']."'");
}
}
$inserted_in_course[$vcourse['code']] = $vcourse['title'];
}
}
$access_url_id = api_get_current_access_url_id();
UrlManager::add_session_to_url($session_id, $access_url_id);
$sql_update_users = "UPDATE $tbl_session SET nbr_users='$user_counter', nbr_courses='$course_counter' WHERE id='$session_id'";
$sql_update_users = "UPDATE $tbl_session SET nbr_users ='$user_counter', nbr_courses='$course_counter' WHERE id='$session_id'";
Database::query($sql_update_users);
}
}

@ -1,3 +1,21 @@
SessionName;Coach;DateStart;DateEnd;Users;Courses
Session1;jmontoya;2012-06-30 11:00:00;2016-06-30 11:00:00;username1|username2;course1[coach1][username1,username2]|course2[coach1][username1,username2]
Session2;jmontoya;2012-06-30 11:00:00;2016-06-30 11:00:00;username1|username2;course1[coach1][username1,username2]|course2[coach1][username1,username2]
Session1;jmontoya;2012-06-30 11:00:00;2020-06-30 11:00:00;acostea|fapple;course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
Session2;jmontoya;2012-06-30 11:00:00;2020-06-30 11:00:00;acostea|fapple;course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
Session3;jmontoya;2012-06-30 11:00:00;2020-06-30 11:00:00;acostea|fapple;course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
Session4;jmontoya;2012-06-30 11:00:00;2020-06-30 11:00:00;acostea|fapple;course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
Session5;jmontoya;2012-06-30 11:00:00;2020-06-30 11:00:00;acostea|fapple;course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
Session6;jmontoya;2012-06-30 11:00:00;2020-06-30 11:00:00;acostea|fapple;course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
Session7;jmontoya;2012-06-30 11:00:00;2020-06-30 11:00:00;acostea|fapple;course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
Session8;jmontoya;2012-06-30 11:00:00;2020-06-30 11:00:00;acostea|fapple;course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
Session9;jmontoya;2012-06-30 11:00:00;2020-06-30 11:00:00;acostea|fapple;course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
Session10;jmontoya;2012-06-30 11:00:00;2020-06-30 11:00:00;acostea|fapple;course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
Session11;jmontoya;2012-06-30 11:00:00;2020-06-30 11:00:00;acostea|fapple;course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
Session12;jmontoya;2012-06-30 11:00:00;2020-06-30 11:00:00;acostea|fapple;course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
Session13;jmontoya;2012-06-30 11:00:00;2020-06-30 11:00:00;acostea|fapple;course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
Session14;jmontoya;2012-06-30 11:00:00;2020-06-30 11:00:00;acostea|fapple;course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
Session15;jmontoya;2012-06-30 11:00:00;2020-06-30 11:00:00;acostea|fapple;course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
Session16;jmontoya;2012-06-30 11:00:00;2020-06-30 11:00:00;acostea|fapple;course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
Session17;jmontoya;2012-06-30 11:00:00;2020-06-30 11:00:00;acostea|fapple;course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
Session18;jmontoya;2012-06-30 11:00:00;2020-06-30 11:00:00;acostea|fapple;course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
Session19;jmontoya;2012-06-30 11:00:00;2020-06-30 11:00:00;acostea|fapple;course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
Session20;jmontoya;2012-06-30 11:00:00;2020-06-30 11:00:00;acostea|fapple;course1[coach][acostea,fapple]|course2[coach][acostea,fapple]

1 SessionName Coach DateStart DateEnd Users Courses
2 Session1 jmontoya 2012-06-30 11:00:00 2016-06-30 11:00:00 2020-06-30 11:00:00 username1|username2 acostea|fapple course1[coach1][username1,username2]|course2[coach1][username1,username2] course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
3 Session2 jmontoya 2012-06-30 11:00:00 2016-06-30 11:00:00 2020-06-30 11:00:00 username1|username2 acostea|fapple course1[coach1][username1,username2]|course2[coach1][username1,username2] course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
4 Session3 jmontoya 2012-06-30 11:00:00 2020-06-30 11:00:00 acostea|fapple course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
5 Session4 jmontoya 2012-06-30 11:00:00 2020-06-30 11:00:00 acostea|fapple course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
6 Session5 jmontoya 2012-06-30 11:00:00 2020-06-30 11:00:00 acostea|fapple course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
7 Session6 jmontoya 2012-06-30 11:00:00 2020-06-30 11:00:00 acostea|fapple course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
8 Session7 jmontoya 2012-06-30 11:00:00 2020-06-30 11:00:00 acostea|fapple course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
9 Session8 jmontoya 2012-06-30 11:00:00 2020-06-30 11:00:00 acostea|fapple course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
10 Session9 jmontoya 2012-06-30 11:00:00 2020-06-30 11:00:00 acostea|fapple course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
11 Session10 jmontoya 2012-06-30 11:00:00 2020-06-30 11:00:00 acostea|fapple course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
12 Session11 jmontoya 2012-06-30 11:00:00 2020-06-30 11:00:00 acostea|fapple course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
13 Session12 jmontoya 2012-06-30 11:00:00 2020-06-30 11:00:00 acostea|fapple course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
14 Session13 jmontoya 2012-06-30 11:00:00 2020-06-30 11:00:00 acostea|fapple course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
15 Session14 jmontoya 2012-06-30 11:00:00 2020-06-30 11:00:00 acostea|fapple course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
16 Session15 jmontoya 2012-06-30 11:00:00 2020-06-30 11:00:00 acostea|fapple course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
17 Session16 jmontoya 2012-06-30 11:00:00 2020-06-30 11:00:00 acostea|fapple course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
18 Session17 jmontoya 2012-06-30 11:00:00 2020-06-30 11:00:00 acostea|fapple course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
19 Session18 jmontoya 2012-06-30 11:00:00 2020-06-30 11:00:00 acostea|fapple course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
20 Session19 jmontoya 2012-06-30 11:00:00 2020-06-30 11:00:00 acostea|fapple course1[coach][acostea,fapple]|course2[coach][acostea,fapple]
21 Session20 jmontoya 2012-06-30 11:00:00 2020-06-30 11:00:00 acostea|fapple course1[coach][acostea,fapple]|course2[coach][acostea,fapple]

@ -38,7 +38,7 @@ $inserted_in_course = array();
global $_configuration;
if ($_POST['formSent']) {
if (isset($_POST['formSent'])) {
if (isset($_FILES['import_file']['tmp_name']) && !empty($_FILES['import_file']['tmp_name'])) {
$form_sent = $_POST['formSent'];
$file_type = $_POST['file_type'];
@ -423,278 +423,10 @@ if ($_POST['formSent']) {
$error_message .= get_lang('XMLNotValid');
}
} else {
// CSV
$content = file($_FILES['import_file']['tmp_name']);
if (!api_strstr($content[0], ';')) {
$error_message = get_lang('NotCSV');
} else {
$tag_names = array();
foreach ($content as $key => $enreg) {
$enreg = explode(';', trim($enreg));
if ($key) {
foreach ($tag_names as $tag_key => $tag_name) {
$sessions[$key - 1][$tag_name] = $enreg[$tag_key];
}
} else {
foreach ($enreg as $tag_name) {
$tag_names[] = api_preg_replace('/[^a-zA-Z0-9_\-]/', '', $tag_name);
}
if (!in_array('SessionName', $tag_names) || !in_array('DateStart', $tag_names) || !in_array('DateEnd', $tag_names)) {
$error_message = get_lang('NoNeededData');
break;
}
}
}
// Looping the sessions.
foreach ($sessions as $enreg) {
$user_counter = 0;
$course_counter = 0;
$session_name = $enreg['SessionName'];
$date_start = $enreg['DateStart'];
$date_end = $enreg['DateEnd'];
$visibility = $enreg['Visibility'];
$session_category_id = $enreg['SessionCategory'];
// Searching a coach.
if (!empty($enreg['Coach'])) {
$coach_id = UserManager::get_user_id_from_username($enreg['Coach']);
if ($coach_id === false) {
// If the coach-user does not exist - I'm the coach.
$coach_id = api_get_user_id();
}
} else {
$coach_id = api_get_user_id();
}
if (!$updatesession) {
// Always create a session.
$unique_name = false; // This MUST be initializead.
$i = 0;
// Change session name, verify that session doesn't exist.
while (!$unique_name) {
if ($i > 1) {
$suffix = ' - '.$i;
}
$sql = 'SELECT 1 FROM '.$tbl_session.' WHERE name="'.Database::escape_string($session_name.$suffix).'"';
$rs = Database::query($sql);
if (Database::result($rs, 0, 0)) {
$i++;
} else {
$unique_name = true;
$session_name .= $suffix;
}
}
$params = array (
'id_coach' => $coach_id,
'visibility' => $visibility,
'name' => $session_name,
'access_start_date' => $date_start,
'access_end_date' => $date_end,
'session_category_id' => $session_category_id,
'session_admin_id' => api_get_user_id(),
);
$session_id = SessionManager::add($params);
$session_counter++;
} else {
$my_session_result = SessionManager::get_session_by_name($session_name);
if ($my_session_result === false) {
$params = array (
'id_coach' => $coach_id,
'visibility' => $visibility,
'name' => $session_name,
'access_start_date' => $date_start,
'access_end_date' => $date_end,
'session_category_id' => $session_category_id,
'session_admin_id' => api_get_user_id(),
);
$session_id = SessionManager::add($params);
} else {
$session_id = $my_session_result['id'];
$params = array (
'id' => $session_id,
'id_coach' => $coach_id,
'visibility' => $visibility,
'name' => $session_name,
'access_start_date' => $date_start,
'access_end_date' => $date_end,
'session_category_id' => $session_category_id,
'session_admin_id' => api_get_user_id(),
);
SessionManager::update($params);
Database::query("DELETE FROM $tbl_session_user WHERE id_session='$session_id'");
Database::query("DELETE FROM $tbl_session_course WHERE id_session='$session_id'");
Database::query("DELETE FROM $tbl_session_course_user WHERE id_session='$session_id'");
}
$session_counter++;
}
$users = explode('|', $enreg['Users']);
// Adding the relationship "Session - User".
if (is_array($users)) {
foreach ($users as $user) {
$user_id = UserManager::get_user_id_from_username($user);
if ($user_id !== false) {
// Insert new users.
$sql = "INSERT IGNORE INTO $tbl_session_user SET
id_user='$user_id',
id_session = '$session_id'";
$rs_user = Database::query($sql);
$user_counter++;
}
}
}
$courses = explode('|', $enreg['Courses']);
foreach ($courses as $course) {
$course_code = api_strtoupper(api_substr($course, 0, api_strpos($course, '[')));
if (CourseManager::course_exists($course_code)) {
// If the course exists we continue.
$course_info = CourseManager::get_course_information($course_code);
$coach = api_strstr($course, '[');
$coach = api_substr($coach, 1, api_strpos($coach,']') - 1);
if (!empty($coach)) {
$coach_id = UserManager::get_user_id_from_username($coach);
if ($coach_id === false) {
$coach_id = '';
}
} else {
$coach = '';
}
// Adding the course to a session.
$sql_course = "INSERT IGNORE INTO $tbl_session_course SET
course_code = '$course_code',
id_session='$session_id'";
$rs_course = Database::query($sql_course);
$course_counter++;
$course_split = array();
$pattern = "/\[(.*?)\]/";
preg_match_all($pattern, $course, $matches);
if (isset($matches[1])) {
$course_coaches = $matches[1][0];
$course_users = $matches[1][1];
}
$course_users = explode(',', $course_users);
$course_coaches = explode(',', $course_coaches);
// Adding coaches to session course user
if (!empty($course_coaches)) {
foreach ($course_coaches as $course_coach) {
$coach_id = UserManager::get_user_id_from_username($course_coach);
if ($coach_id !== false) {
$sql = "INSERT IGNORE INTO $tbl_session_course_user SET
id_user='$coach_id',
course_code='$course_code',
id_session = '$session_id',
status = 2 ";
$rs_coachs = Database::query($sql);
} else {
$error_message .= get_lang('UserDoesNotExist').' : '.$user.'<br />';
}
}
}
$users_in_course_counter = 0;
// Adding the relationship "Session - Course - User".
foreach ($course_users as $user) {
$user_id = UserManager::get_user_id_from_username($user);
if ($user_id !== false) {
$sql = "INSERT IGNORE INTO $tbl_session_course_user SET
id_user='$user_id',
course_code='$course_code',
id_session = '$session_id'";
$rs_users = Database::query($sql);
$users_in_course_counter++;
} else {
$error_message .= get_lang('UserDoesNotExist').' : '.$user.'<br />';
}
}
$sql = "UPDATE $tbl_session_course SET nbr_users='$users_in_course_counter' WHERE course_code='$course_code'";
Database::query($sql);
$course_info = CourseManager::get_course_information($course_code);
$inserted_in_course[$course_code] = $course_info['title'];
} else {
// TODO: We should create the course as in the XML import.
}
if (CourseManager::course_exists($course_code, true)) {
$list = CourseManager :: get_courses_info_from_visual_code($course_code);
foreach ($list as $vcourse) {
if ($vcourse['code'] == $course_code) {
// Ignore, this has already been inserted.
} else {
$coach = api_strstr($course, '[');
$coach = api_substr($coach, 1, api_strpos($coach,']') - 1);
// Adding the relationship "Session - Course".
$sql_course = "INSERT IGNORE INTO $tbl_session_course SET
course_code = '".$vcourse['code']."',
id_session='$session_id'";
$rs_course = Database::query($sql_course);
// adding coachs to session course user
foreach ($course_coaches as $course_coach) {
$coach_id = UserManager::get_user_id_from_username($course_coach);
if ($coach_id !== false) {
$sql = "INSERT IGNORE INTO $tbl_session_course_user SET
id_user='$coach_id',
course_code='{$vcourse['code']}',
id_session = '$session_id',
status = 2 ";
$rs_coachs = Database::query($sql);
} else {
$error_message .= get_lang('UserDoesNotExist').' : '.$user.'<br />';
}
}
$users_in_course_counter = 0;
// Adding the relationship "Session - Course - User".
foreach ($course_users as $user) {
$user_id = UserManager::get_user_id_from_username($user);
if ($user_id !== false) {
$sql = "INSERT IGNORE INTO $tbl_session_course_user SET
id_user='$user_id',
course_code='{$vcourse['code']}',
id_session = '$session_id'";
$rs_users = Database::query($sql);
$users_in_course_counter++;
} else {
$error_message .= get_lang('UserDoesNotExist').' : '.$user.'<br />';
}
}
Database::query("UPDATE $tbl_session_course SET nbr_users='$users_in_course_counter' WHERE course_code='".$vcourse['code']."'");
}
}
$inserted_in_course[$vcourse['code']] = $vcourse['title'];
}
}
$access_url_id = api_get_current_access_url_id();
UrlManager::add_session_to_url($session_id, $access_url_id);
$sql_update_users = "UPDATE $tbl_session SET nbr_users='$user_counter', nbr_courses='$course_counter' WHERE id='$session_id'";
Database::query($sql_update_users);
}
}
$result = SessionManager::importCSV($_FILES['import_file']['tmp_name'], $updatesession, api_get_user_id());
$error_message = $result['error_message'];
$session_counter = $result['session_counter'];
}
if (!empty($error_message)) {

@ -55,6 +55,18 @@ $users[] = array(
'active' => 1
);
$users[] = array(
'username' => 'coach',
'pass' => 'coach',
'firstname' => 'coach',
'lastname' => 'coach',
'status' => 1,
'auth_source' => 'platform',
'email' => 'coach@example.com',
'creator_id' => 1,
'active' => 1
);
$users[] = array(
'username' => 'agarcia',
'pass' => 'agarcia',

Loading…
Cancel
Save