Database::query("DELETE FROM ".Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER)."
WHERE id_session ='".$my_session_id."'
AND course_code = '".Database::escape_string($_SESSION['_course']['id'])."'
AND id_user IN ($user_ids)", __FILE__, __LINE__);
// Delete in table session_rel_user
Database::query("DELETE FROM ".Database::get_main_table(TABLE_MAIN_SESSION_USER)."
WHERE id_session ='".$my_session_id."'
AND id_user IN ($user_ids)", __FILE__, __LINE__);
foreach ($user_id as $uid) {
// check if a user is register in the session with other course
$sql = "SELECT id_user FROM ".Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER)." WHERE id_session='$my_session_id' AND id_user='$uid'";
$rs = Database::query($sql, __FILE__, __LINE__);
if (Database::num_rows($rs) == 0) {
// Delete in table session_rel_user
Database::query("DELETE FROM ".Database::get_main_table(TABLE_MAIN_SESSION_USER)."
WHERE id_session ='".$my_session_id."'
AND id_user='$uid'", __FILE__, __LINE__);
}
}
// Update the table session
$row = Database::fetch_array(Database::query("SELECT COUNT(*) FROM ".Database::get_main_table(TABLE_MAIN_SESSION_USER)."
WHERE id_session = '".$my_session_id."'", __FILE__, __LINE__));
@ -353,13 +361,18 @@ class CourseManager {
return false;
}
// Check whether the user has not already been stored in the session_rel_user table
if (Database::num_rows(@Database::query("SELECT * FROM ".Database::get_main_table(TABLE_MAIN_SESSION_USER)."
WHERE id_session ='".$_SESSION['id_session']."'
AND id_user = '".$user_id."'", __FILE__, __LINE__)) > 0) {
return false;
// check if the user is registered in the session with other course
$sql = "SELECT id_user FROM ".Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER)." WHERE id_session='".$_SESSION['id_session']."' AND id_user='$user_id'";
$rs = Database::query($sql, __FILE__, __LINE__);
if (Database::num_rows($rs) == 0) {
// Check whether the user has not already been stored in the session_rel_user table
if (Database::num_rows(@Database::query("SELECT * FROM ".Database::get_main_table(TABLE_MAIN_SESSION_USER)."
WHERE id_session ='".$_SESSION['id_session']."'
AND id_user = '".$user_id."'", __FILE__, __LINE__)) > 0) {
return false;
}
}
// Add him/her in the table session_rel_course_rel_user
@Database::query("INSERT INTO ".Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER)."
@ -217,11 +217,11 @@ function get_number_of_users() {
if (isset($_REQUEST['type']) && $_REQUEST['type']=='teacher') {
if (!empty($_SESSION["id_session"])) {
if (!empty($_SESSION["id_session"])) {
$sql = "SELECT
u.user_id
FROM $user_table u
LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user and course_code='".$_SESSION['_course']['id']."'
LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user and course_code='".$_SESSION['_course']['id']."' AND id_session ='".$_SESSION["id_session"]."'
WHERE cu.id_user IS NULL AND u.status=1 AND (u.official_code <> 'ADMIN' OR u.official_code IS NULL) ";
if ($_configuration['multiple_access_urls']==true) {
@ -232,7 +232,7 @@ function get_number_of_users() {
$sql = "SELECT
u.user_id
FROM $user_table u
LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user and course_code='".$_SESSION['_course']['id']."'
LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user and course_code='".$_SESSION['_course']['id']."' AND id_session ='".$_SESSION["id_session"]."'
INNER JOIN $tbl_url_rel_user as url_rel_user
ON (url_rel_user.user_id = u.user_id)
WHERE cu.user_id IS NULL AND access_url_id= $url_access_id AND u.status=1 AND (u.official_code <> 'ADMIN' OR u.official_code IS NULL) ";
@ -268,7 +268,7 @@ function get_number_of_users() {
$sql = "SELECT
u.user_id
FROM $user_table u
LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user and course_code='".$_SESSION['_course']['id']."'
LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user and course_code='".$_SESSION['_course']['id']."' AND id_session ='".$_SESSION["id_session"]."'
WHERE cu.id_user IS NULL AND (u.official_code <> 'ADMIN' OR u.official_code IS NULL) ";
if ($_configuration['multiple_access_urls']==true) {
$url_access_id = api_get_current_access_url_id();
@ -277,7 +277,7 @@ function get_number_of_users() {
$sql = "SELECT
u.user_id
FROM $user_table u
LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user and course_code='".$_SESSION['_course']['id']."'
LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user and course_code='".$_SESSION['_course']['id']."' AND id_session ='".$_SESSION["id_session"]."'
INNER JOIN $tbl_url_rel_user as url_rel_user
ON (url_rel_user.user_id = u.user_id)
WHERE cu.user_id IS NULL AND access_url_id= $url_access_id AND (u.official_code <> 'ADMIN' OR u.official_code IS NULL) ";
@ -390,7 +390,7 @@ function get_user_data($from, $number_of_items, $column, $direction) {
u.active AS col5,
u.user_id AS col6
FROM $user_table u
LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user and course_code='".$_SESSION['_course']['id']."'";
LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user and course_code='".$_SESSION['_course']['id']."' AND id_session ='".$_SESSION["id_session"]."' ";
// applying the filter of the additional user profile fields
if (isset($_GET['subscribe_user_filter_value']) AND api_get_setting('ProfilingFilterAddingUsers') == 'true'){
@ -488,7 +488,7 @@ function get_user_data($from, $number_of_items, $column, $direction) {
u.active AS col5,
u.user_id AS col6
FROM $user_table u
LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user and course_code='".$_SESSION['_course']['id']."'";
LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user and course_code='".$_SESSION['_course']['id']."' AND id_session ='".$_SESSION["id_session"]."' ";
// applying the filter of the additional user profile fields