diff --git a/main/inc/lib/usermanager.lib.php b/main/inc/lib/usermanager.lib.php index 18898ccb34..5f8a6a18d2 100644 --- a/main/inc/lib/usermanager.lib.php +++ b/main/inc/lib/usermanager.lib.php @@ -2065,95 +2065,7 @@ class UserManager $row = Database::fetch_array($res, 'ASSOC'); return $row['id']; } - - /** - * Subscribes users to the given session and optionally (default) unsubscribes previous users - * @param int Session ID - * @param array List of user IDs - * @param bool Whether to unsubscribe existing users (true, default) or not (false) - * @return void Nothing, or false on error - */ - public static function suscribe_users_to_session($id_session, $UserList, $empty_users = true) { - - if ($id_session != strval(intval($id_session))) return false; - foreach ($UserList as $intUser) { - if ($intUser != strval(intval($intUser))) return false; - } - $tbl_session_rel_course = Database::get_main_table(TABLE_MAIN_SESSION_COURSE); - $tbl_session_rel_course_rel_user = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER); - $tbl_session_rel_user = Database::get_main_table(TABLE_MAIN_SESSION_USER); - $tbl_session = Database::get_main_table(TABLE_MAIN_SESSION); - $sql = "SELECT id_user FROM $tbl_session_rel_user WHERE id_session='$id_session'"; - $result = Database::query($sql, __FILE__, __LINE__); - $existingUsers = array(); - while($row = Database::fetch_array($result)) { - $existingUsers[] = $row['id_user']; - } - $sql = "SELECT course_code FROM $tbl_session_rel_course WHERE id_session='$id_session'"; - $result = Database::query($sql, __FILE__, __LINE__); - - $CourseList = array(); - - while($row = Database::fetch_array($result)) { - $CourseList[] = $row['course_code']; - } - - foreach ($CourseList as $enreg_course) { - // for each course in the session - $nbr_users = 0; - $enreg_course = Database::escape_string($enreg_course); - // delete existing users - if ($empty_users !== false) { - foreach ($existingUsers as $existing_user) { - if(!in_array($existing_user, $UserList)) { - $sql = "DELETE FROM $tbl_session_rel_course_rel_user WHERE id_session='$id_session' AND course_code='$enreg_course' AND id_user='$existing_user'"; - Database::query($sql, __FILE__, __LINE__); - - if (Database::affected_rows()) { - $nbr_users--; - } - } - } - } - // insert new users into session_rel_course_rel_user and ignore if they already exist - foreach ($UserList as $enreg_user) { - if (!in_array($enreg_user, $existingUsers)) { - $enreg_user = Database::escape_string($enreg_user); - $insert_sql = "INSERT IGNORE INTO $tbl_session_rel_course_rel_user(id_session,course_code,id_user) VALUES('$id_session','$enreg_course','$enreg_user')"; - Database::query($insert_sql, __FILE__, __LINE__); - - if (Database::affected_rows()) { - $nbr_users++; - } - } - } - // count users in this session-course relation - $sql = "SELECT COUNT(id_user) as nbUsers FROM $tbl_session_rel_course_rel_user WHERE id_session='$id_session' AND course_code='$enreg_course'"; - $rs = Database::query($sql, __FILE__, __LINE__); - list($nbr_users) = Database::fetch_array($rs); - // update the session-course relation to add the users total - $update_sql = "UPDATE $tbl_session_rel_course SET nbr_users=$nbr_users WHERE id_session='$id_session' AND course_code='$enreg_course'"; - Database::query($update_sql, __FILE__, __LINE__); - } - // delete users from the session - if ($empty_users !== false) { - Database::query("DELETE FROM $tbl_session_rel_user WHERE id_session = $id_session", __FILE__, __LINE__); - } - // insert missing users into session - $nbr_users = 0; - foreach ($UserList as $enreg_user) { - $enreg_user = Database::escape_string($enreg_user); - $nbr_users++; - $insert_sql = "INSERT IGNORE INTO $tbl_session_rel_user(id_session, id_user) VALUES('$id_session','$enreg_user')"; - Database::query($insert_sql, __FILE__, __LINE__); - - } - // update number of users in the session - $nbr_users = count($UserList); - $update_sql = "UPDATE $tbl_session SET nbr_users= $nbr_users WHERE id='$id_session' "; - Database::query($update_sql, __FILE__, __LINE__); - } - + /** * Checks if a user_id is platform admin * @param int user ID