|
|
|
@ -2627,7 +2627,7 @@ class SessionManager |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @param string $file |
|
|
|
|
* @param bool $updatesession options: |
|
|
|
|
* @param bool $updateSession options: |
|
|
|
|
* true: if the session exists it will be updated. |
|
|
|
|
* false: if session exists a new session will be created adding a counter session1, session2, etc |
|
|
|
|
* @param int $defaultUserId |
|
|
|
@ -2639,6 +2639,8 @@ class SessionManager |
|
|
|
|
* @param int $daysCoachAccessAfterBeginning |
|
|
|
|
* @param int $sessionVisibility |
|
|
|
|
* @param array $fieldsToAvoidUpdate |
|
|
|
|
* @param bool $deleteUsersNotInList |
|
|
|
|
* @param bool $updateCourseCoaches |
|
|
|
|
* @return array |
|
|
|
|
*/ |
|
|
|
|
static function importCSV( |
|
|
|
@ -2652,7 +2654,8 @@ class SessionManager |
|
|
|
|
$daysCoachAccessAfterBeginning = null, |
|
|
|
|
$sessionVisibility = 1, |
|
|
|
|
$fieldsToAvoidUpdate = array(), |
|
|
|
|
$deleteUsersNotInList = false |
|
|
|
|
$deleteUsersNotInList = false, |
|
|
|
|
$updateCourseCoaches = false |
|
|
|
|
) { |
|
|
|
|
$content = file($file); |
|
|
|
|
|
|
|
|
@ -2709,6 +2712,7 @@ class SessionManager |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$sessionList = array(); |
|
|
|
|
// Looping the sessions. |
|
|
|
|
foreach ($sessions as $enreg) { |
|
|
|
|
$user_counter = 0; |
|
|
|
@ -2770,17 +2774,17 @@ class SessionManager |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Creating the session. |
|
|
|
|
$sql_session = "INSERT IGNORE INTO $tbl_session SET |
|
|
|
|
$sql = "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', |
|
|
|
|
session_admin_id=".intval($defaultUserId).$extraParameters.$extraSessionParameters; |
|
|
|
|
Database::query($sql_session); |
|
|
|
|
$session_id = Database::insert_id(); |
|
|
|
|
session_admin_id = ".intval($defaultUserId).$extraParameters.$extraSessionParameters; |
|
|
|
|
Database::query($sql); |
|
|
|
|
|
|
|
|
|
$session_id = Database::insert_id(); |
|
|
|
|
if ($debug) { |
|
|
|
|
if ($session_id) { |
|
|
|
|
foreach ($enreg as $key => $value) { |
|
|
|
@ -2800,7 +2804,6 @@ class SessionManager |
|
|
|
|
|
|
|
|
|
if (isset($extraFields) && !empty($extraFields)) { |
|
|
|
|
$sessionId = self::get_session_id_from_original_id($enreg['extra_'.$extraFieldId], $extraFieldId); |
|
|
|
|
|
|
|
|
|
if (empty($sessionId)) { |
|
|
|
|
$my_session_result = false; |
|
|
|
|
} else { |
|
|
|
@ -2809,7 +2812,6 @@ class SessionManager |
|
|
|
|
} else { |
|
|
|
|
$my_session_result = self::get_session_by_name($enreg['SessionName']); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ($my_session_result === false) { |
|
|
|
|
|
|
|
|
|
// Creating a session. |
|
|
|
@ -2884,13 +2886,22 @@ class SessionManager |
|
|
|
|
$sql = "DELETE FROM $tbl_session_course WHERE id_session = '$session_id'"; |
|
|
|
|
Database::query($sql); |
|
|
|
|
|
|
|
|
|
// Delete session-course-user relation ships *only* for students |
|
|
|
|
$sql = "DELETE FROM $tbl_session_course_user WHERE id_session = '$session_id' AND status <> 2"; |
|
|
|
|
Database::query($sql); |
|
|
|
|
// Delete session-course-user relationships students and coaches. |
|
|
|
|
if ($updateCourseCoaches) { |
|
|
|
|
$sql = "DELETE FROM $tbl_session_course_user WHERE id_session = '$session_id' AND status in ('0', '2')"; |
|
|
|
|
Database::query($sql); |
|
|
|
|
} else { |
|
|
|
|
// Delete session-course-user relation ships *only* for students. |
|
|
|
|
$sql = "DELETE FROM $tbl_session_course_user WHERE id_session = '$session_id' AND status <> 2"; |
|
|
|
|
Database::query($sql); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
$session_counter++; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$sessionList[] = $session_id; |
|
|
|
|
|
|
|
|
|
$users = explode('|', $enreg['Users']); |
|
|
|
|
|
|
|
|
|
// Adding the relationship "Session - User" for students |
|
|
|
@ -2967,19 +2978,18 @@ class SessionManager |
|
|
|
|
$addTeachersToSession = $courseInfo['add_teachers_to_sessions_courses']; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// If any coach/user provided for a course use the users array. |
|
|
|
|
if (empty($course_coaches) && empty($course_users)) { |
|
|
|
|
// If any user provided for a course, use the users array. |
|
|
|
|
if (empty($course_users)) { |
|
|
|
|
if (!empty($userList)) { |
|
|
|
|
SessionManager::subscribe_users_to_session_course($userList, $session_id, $course_code); |
|
|
|
|
if ($debug) { |
|
|
|
|
$msg = "Sessions - Adding student list ".implode(', #', $userList)." to course: '$course_code' and session #$session_id"; |
|
|
|
|
error_log($msg); |
|
|
|
|
$logger->addInfo($msg); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Adding coaches to session course user |
|
|
|
|
// Adding coaches to session course user. |
|
|
|
|
if (!empty($course_coaches)) { |
|
|
|
|
$savedCoaches = array(); |
|
|
|
|
// only edit if add_teachers_to_sessions_courses is set. |
|
|
|
@ -2996,7 +3006,6 @@ class SessionManager |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
foreach ($course_coaches as $course_coach) { |
|
|
|
|
$course_coach = trim($course_coach); |
|
|
|
|
$coach_id = UserManager::get_user_id_from_username($course_coach); |
|
|
|
|
if ($coach_id !== false) { |
|
|
|
|
// Just insert new coaches |
|
|
|
@ -3062,7 +3071,8 @@ class SessionManager |
|
|
|
|
} |
|
|
|
|
return array( |
|
|
|
|
'error_message' => $error_message, |
|
|
|
|
'session_counter' => $session_counter |
|
|
|
|
'session_counter' => $session_counter, |
|
|
|
|
'session_list' => $sessionList |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|