From a2aec2445688220c61d7a6805f767b50e90223ea Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Wed, 8 Apr 2015 15:25:55 +0200 Subject: [PATCH] Replace id_user with user_id and id_session with session_id (Partial) --- main/admin/access_url_check_user_session.php | 7 +- main/admin/add_users_to_session.php | 47 +++---- .../admin/ldap_import_students_to_session.php | 17 ++- main/admin/resume_session.php | 4 +- main/admin/session_course_user_list.php | 6 +- main/admin/session_export.php | 21 ++-- main/admin/session_import.php | 28 ++--- main/auth/ldap/authldap.php | 23 ++-- main/course_info/infocours.php | 6 +- main/coursecopy/copy_course_session.php | 6 +- main/cron/remind_course_expiration.php | 16 +-- main/inc/ajax/course.ajax.php | 6 +- main/inc/lib/AnnouncementManager.php | 4 +- main/inc/lib/course.lib.php | 97 +++------------ main/inc/lib/myspace.lib.php | 21 ++-- main/mySpace/user_import.php | 4 +- main/user/subscribe_user.php | 116 ++++++++++++------ main/user/user.php | 26 ++-- .../CoreBundle/Entity/SessionRelCourse.php | 4 +- .../Entity/SessionRelCourseRelUser.php | 8 +- .../Migrations/Schema/v1/Version110.php | 17 ++- .../CourseBundle/Entity/CItemProperty.php | 2 +- 22 files changed, 243 insertions(+), 243 deletions(-) diff --git a/main/admin/access_url_check_user_session.php b/main/admin/access_url_check_user_session.php index 55a28ed5d6..d7b2590449 100755 --- a/main/admin/access_url_check_user_session.php +++ b/main/admin/access_url_check_user_session.php @@ -21,9 +21,7 @@ $interbreadcrumb[]=array('url' => 'session_list.php','name' => get_lang('Session // Database Table Definitions $tbl_user = Database::get_main_table(TABLE_MAIN_USER); $tbl_session_rel_user = Database::get_main_table(TABLE_MAIN_SESSION_USER); - $table_access_url_user = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER); - $url_id = api_get_current_access_url_id(); $action = $_GET['action']; @@ -72,8 +70,9 @@ foreach($session_list as $session_item) { $sql = "SELECT u.user_id, lastname, firstname, username, access_url_id FROM $tbl_user u INNER JOIN $tbl_session_rel_user su - ON u.user_id = su.id_user AND su.relation_type<>".SESSION_RELATION_TYPE_RRHH." - LEFT OUTER JOIN $table_access_url_user uu ON (uu.user_id = u.user_id) + ON u.user_id = su.user_id AND su.relation_type<>".SESSION_RELATION_TYPE_RRHH." + LEFT OUTER JOIN $table_access_url_user uu + ON (uu.user_id = u.user_id) WHERE su.id_session = $session_id AND $access_where $order_clause"; diff --git a/main/admin/add_users_to_session.php b/main/admin/add_users_to_session.php index f84d453e71..ee747593d4 100755 --- a/main/admin/add_users_to_session.php +++ b/main/admin/add_users_to_session.php @@ -102,8 +102,8 @@ function search_users($needle, $type) if (!empty($id_session)) { $id_session = intval($id_session); // check id_user from session_rel_user table - $sql = 'SELECT id_user FROM '.$tbl_session_rel_user.' - WHERE id_session ="'.$id_session.'" AND relation_type<>'.SESSION_RELATION_TYPE_RRHH.' '; + $sql = 'SELECT user_id FROM '.$tbl_session_rel_user.' + WHERE session_id = "'.$id_session.'" AND relation_type<>'.SESSION_RELATION_TYPE_RRHH.' '; $res = Database::query($sql); $user_ids = array(); if (Database::num_rows($res) > 0) { @@ -144,9 +144,9 @@ function search_users($needle, $type) case 'any_session': $sql = 'SELECT DISTINCT user.user_id, username, lastname, firstname, official_code FROM '.$tbl_user.' user - LEFT OUTER JOIN '.$tbl_session_rel_user.' s ON (s.id_user = user.user_id) + LEFT OUTER JOIN '.$tbl_session_rel_user.' s ON (s.user_id = user.user_id) WHERE - s.id_user IS null AND + s.user_id IS NULL AND user.status<>'.DRH.' AND user.status<>6 '.$cond_user_id. $order_clause; @@ -161,7 +161,8 @@ function search_users($needle, $type) case 'single': $sql = 'SELECT user.user_id, username, lastname, firstname, official_code FROM '.$tbl_user.' user - INNER JOIN '.$tbl_user_rel_access_url.' url_user ON (url_user.user_id=user.user_id) + INNER JOIN '.$tbl_user_rel_access_url.' url_user + ON (url_user.user_id = user.user_id) WHERE access_url_id = '.$access_url_id.' AND ( @@ -187,11 +188,13 @@ function search_users($needle, $type) case 'any_session' : $sql = 'SELECT DISTINCT user.user_id, username, lastname, firstname, official_code FROM '.$tbl_user.' user - LEFT OUTER JOIN '.$tbl_session_rel_user.' s ON (s.id_user = user.user_id) - INNER JOIN '.$tbl_user_rel_access_url.' url_user ON (url_user.user_id=user.user_id) + LEFT OUTER JOIN '.$tbl_session_rel_user.' s + ON (s.user_id = user.user_id) + INNER JOIN '.$tbl_user_rel_access_url.' url_user + ON (url_user.user_id=user.user_id) WHERE access_url_id = '.$access_url_id.' AND - s.id_user IS null AND + s.user_id IS null AND user.status<>'.DRH.' AND user.status<>6 '.$cond_user_id. $order_clause; @@ -333,9 +336,9 @@ if ($ajax_search) { $sql = "SELECT user_id, lastname, firstname, username, id_session, official_code FROM $tbl_user u INNER JOIN $tbl_session_rel_user - ON $tbl_session_rel_user.id_user = u.user_id AND + ON $tbl_session_rel_user.user_id = u.user_id AND $tbl_session_rel_user.relation_type<>".SESSION_RELATION_TYPE_RRHH." - AND $tbl_session_rel_user.id_session = ".intval($id_session)." + AND $tbl_session_rel_user.session_id = ".intval($id_session)." WHERE u.status<>".DRH." AND u.status<>6 $order_clause"; @@ -346,9 +349,9 @@ if ($ajax_search) { $sql="SELECT u.user_id, lastname, firstname, username, id_session, official_code FROM $tbl_user u INNER JOIN $tbl_session_rel_user - ON $tbl_session_rel_user.id_user = u.user_id AND + ON $tbl_session_rel_user.user_id = u.user_id AND $tbl_session_rel_user.relation_type<>".SESSION_RELATION_TYPE_RRHH." - AND $tbl_session_rel_user.id_session = ".intval($id_session)." + AND $tbl_session_rel_user.session_id = ".intval($id_session)." INNER JOIN $tbl_user_rel_access_url url_user ON (url_user.user_id=u.user_id) WHERE access_url_id = $access_url_id AND u.status<>".DRH." AND u.status<>6 $order_clause"; @@ -432,8 +435,8 @@ if ($ajax_search) { $sql = "SELECT user_id, lastname, firstname, username, id_session, official_code FROM $tbl_user u LEFT JOIN $tbl_session_rel_user - ON $tbl_session_rel_user.id_user = u.user_id AND - $tbl_session_rel_user.id_session = '$id_session' AND + ON $tbl_session_rel_user.user_id = u.user_id AND + $tbl_session_rel_user.session_id = '$id_session' AND $tbl_session_rel_user.relation_type<>".SESSION_RELATION_TYPE_RRHH." $where_filter AND u.status<>".DRH." AND u.status<>6 $order_clause"; @@ -442,8 +445,8 @@ if ($ajax_search) { $sql = "SELECT user_id, lastname, firstname, username, id_session, official_code FROM $tbl_user u LEFT JOIN $tbl_session_rel_user - ON $tbl_session_rel_user.id_user = u.user_id AND - $tbl_session_rel_user.id_session = '$id_session' AND + ON $tbl_session_rel_user.user_id = u.user_id AND + $tbl_session_rel_user.session_id = '$id_session' AND $tbl_session_rel_user.relation_type<>".SESSION_RELATION_TYPE_RRHH." WHERE u.status<>".DRH." AND u.status<>6 $order_clause"; @@ -455,8 +458,8 @@ if ($ajax_search) { $sql = "SELECT u.user_id, lastname, firstname, username, id_session, official_code FROM $tbl_user u LEFT JOIN $tbl_session_rel_user - ON $tbl_session_rel_user.id_user = u.user_id AND - $tbl_session_rel_user.id_session = '$id_session' AND + ON $tbl_session_rel_user.user_id = u.user_id AND + $tbl_session_rel_user.session_id = '$id_session' AND $tbl_session_rel_user.relation_type <> ".SESSION_RELATION_TYPE_RRHH." INNER JOIN $tbl_user_rel_access_url url_user ON (url_user.user_id=u.user_id) WHERE access_url_id = $access_url_id $where_filter AND u.status<>".DRH." AND u.status<>6 @@ -483,8 +486,8 @@ if ($ajax_search) { $sql="SELECT user_id, lastname, firstname, username, id_session, official_code FROM $tbl_user u LEFT JOIN $tbl_session_rel_user - ON $tbl_session_rel_user.id_user = u.user_id AND - $tbl_session_rel_user.id_session = '$id_session' AND + ON $tbl_session_rel_user.user_id = u.user_id AND + $tbl_session_rel_user.session_id = '$id_session' AND $tbl_session_rel_user.relation_type<>".SESSION_RELATION_TYPE_RRHH." WHERE u.status<>".DRH." AND u.status<>6 $order_clause"; @@ -495,8 +498,8 @@ if ($ajax_search) { $sql="SELECT u.user_id, lastname, firstname, username, id_session, official_code FROM $tbl_user u LEFT JOIN $tbl_session_rel_user - ON $tbl_session_rel_user.id_user = u.user_id AND - $tbl_session_rel_user.id_session = '$id_session' AND + ON $tbl_session_rel_user.user_id = u.user_id AND + $tbl_session_rel_user.session_id = '$id_session' AND $tbl_session_rel_user.relation_type<>".SESSION_RELATION_TYPE_RRHH." INNER JOIN $tbl_user_rel_access_url url_user ON (url_user.user_id=u.user_id) WHERE access_url_id = $access_url_id AND u.status<>".DRH." AND u.status<>6 diff --git a/main/admin/ldap_import_students_to_session.php b/main/admin/ldap_import_students_to_session.php index 68cd39fab1..11e3b1d3f8 100755 --- a/main/admin/ldap_import_students_to_session.php +++ b/main/admin/ldap_import_students_to_session.php @@ -158,24 +158,21 @@ elseif (!empty($annee) && !empty($id_session) && ($_POST['confirmed']=='yes')) $userid_match_login[$tmp] = $user_id; } } - if (!empty($_POST['id_session'])) - { + if (!empty($_POST['id_session'])) { $num = 0; $tbl_session_user = Database::get_main_table(TABLE_MAIN_SESSION_USER); $tbl_session = Database::get_main_table(TABLE_MAIN_SESSION); - foreach($UserList as $user_id) - { + foreach ($UserList as $user_id) { $sql = 'INSERT INTO '.$tbl_session_user.' SET - id_user="'.intval($user_id).'", - id_session = "'.intval($id_session).'"'; + user_id ="'.intval($user_id).'", + session_id = "'.intval($id_session).'"'; $res_user = Database::query($sql); - if ($res_user) - { + if ($res_user) { $num++; } } - if($num>0) - { + + if($num>0) { $sql = 'UPDATE '.$tbl_session.' SET nbr_users = (nbr_users + '.$num.') WHERE id = '.intval($id_session); $res = Database::query($sql); } diff --git a/main/admin/resume_session.php b/main/admin/resume_session.php index d211878ca0..f7a41bc117 100755 --- a/main/admin/resume_session.php +++ b/main/admin/resume_session.php @@ -312,8 +312,8 @@ if ($session['nbr_courses'] == 0) { FROM $tbl_session_rel_user sru, $tbl_session_rel_course_rel_user srcru WHERE - srcru.id_user = sru.id_user AND - srcru.id_session = sru.id_session AND + srcru.user_id = sru.user_id AND + srcru.user_id = sru.session_id AND srcru.c_id = '".intval($course['id'])."' AND sru.relation_type <> ".SESSION_RELATION_TYPE_RRHH." AND srcru.id_session = '".intval($sessionId)."'"; diff --git a/main/admin/session_course_user_list.php b/main/admin/session_course_user_list.php index 0ed4e76a29..0f835a4934 100755 --- a/main/admin/session_course_user_list.php +++ b/main/admin/session_course_user_list.php @@ -86,10 +86,10 @@ $is_western_name_order = api_is_western_name_order(); $sql = "SELECT DISTINCT u.user_id,".($is_western_name_order ? 'u.firstname, u.lastname' : 'u.lastname, u.firstname').", u.username, scru.id_user as is_subscribed FROM $tbl_session_rel_user s - INNER JOIN $tbl_user u ON (u.user_id=s.id_user) + INNER JOIN $tbl_user u ON (u.user_id=s.user_id) LEFT JOIN $tbl_session_rel_course_rel_user scru - ON (s.id_session = scru.id_session AND s.id_user = scru.id_user AND scru.course_code = '".$course_code."' ) - WHERE s.id_session='$id_session' + ON (s.session_id = scru.id_session AND s.user_id = scru.user_id AND scru.c_id = '".$courseId."' ) + WHERE s.session_id='$id_session' ORDER BY $sort $direction LIMIT $from,".($limit+1); diff --git a/main/admin/session_export.php b/main/admin/session_export.php index e7fab7d1c7..bd7913b549 100755 --- a/main/admin/session_export.php +++ b/main/admin/session_export.php @@ -25,7 +25,6 @@ $tbl_session_user = Database::get_main_table(TABLE_MAIN_SESSION_USER); $tbl_session_course = Database::get_main_table(TABLE_MAIN_SESSION_COURSE); $tbl_session_course_user = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER); - $archivePath = api_get_path(SYS_ARCHIVE_PATH); $archiveURL = api_get_path(WEB_CODE_PATH).'course_info/download.php?archive='; @@ -130,10 +129,13 @@ if ($_POST['formSent']) { } //users - $sql = "SELECT DISTINCT $tbl_user.username FROM $tbl_user + $sql = "SELECT DISTINCT $tbl_user.username + FROM $tbl_user INNER JOIN $tbl_session_user - ON $tbl_user.user_id = $tbl_session_user.id_user AND $tbl_session_user.relation_type<>".SESSION_RELATION_TYPE_RRHH." - AND $tbl_session_user.id_session = '".$row['id']."'"; + ON + $tbl_user.user_id = $tbl_session_user.user_id AND + $tbl_session_user.relation_type<>".SESSION_RELATION_TYPE_RRHH." AND + $tbl_session_user.session_id = '".$row['id']."'"; $rsUsers = Database::query($sql); $users = ''; @@ -197,13 +199,14 @@ if ($_POST['formSent']) { FROM $tbl_session_course_user scu INNER JOIN $tbl_session_user su ON - scu.id_user = su.id_user AND - scu.id_session = su.id_session AND + scu.user_id = su.id_user AND + scu.session_id = su.session_id AND su.relation_type<>".SESSION_RELATION_TYPE_RRHH." INNER JOIN $tbl_user u - ON scu.id_user = u.user_id - AND scu.c_id='".$rowCourses['c_id']."' - AND scu.id_session='".$row['id']."'"; + ON + scu.user_id = u.user_id AND + scu.c_id='".$rowCourses['c_id']."' AND + scu.session_id='".$row['id']."'"; $rsUsersCourse = Database::query($sql); $userscourse = ''; diff --git a/main/admin/session_import.php b/main/admin/session_import.php index 3eddb6e260..e1b0b97aba 100755 --- a/main/admin/session_import.php +++ b/main/admin/session_import.php @@ -278,9 +278,9 @@ if (isset($_POST['formSent']) && $_POST['formSent']) { $rs_session = Database::query($sql_session); $session_id = Database::query("SELECT id FROM $tbl_session WHERE name='$session_name'"); list($session_id) = Database::fetch_array($session_id); - 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'"); + Database::query("DELETE FROM $tbl_session_user WHERE session_id ='$session_id'"); + Database::query("DELETE FROM $tbl_session_course WHERE session_id='$session_id'"); + Database::query("DELETE FROM $tbl_session_course_user WHERE session_id='$session_id'"); } } @@ -301,8 +301,8 @@ if (isset($_POST['formSent']) && $_POST['formSent']) { $user_id = UserManager::get_user_id_from_username($username); if ($user_id !== false) { $sql = "INSERT IGNORE INTO $tbl_session_user SET - id_user='$user_id', - id_session = '$session_id'"; + user_id ='$user_id', + session_id = '$session_id'"; $rs_user = Database::query($sql); $user_counter++; } @@ -353,15 +353,15 @@ if (isset($_POST['formSent']) && $_POST['formSent']) { if ($user_id !== false) { // Adding to session_rel_user table. $sql = "INSERT IGNORE INTO $tbl_session_user SET - id_user='$user_id', - id_session = '$session_id'"; + user_id ='$user_id', + session_id = '$session_id'"; $rs_user = Database::query($sql); $user_counter++; // Adding to session_rel_user_rel_course table. $sql = "INSERT IGNORE INTO $tbl_session_course_user SET - id_user='$user_id', - c_id='$courseId', - id_session = '$session_id'"; + user_id = '$user_id', + c_id = '$courseId', + session_id = '$session_id'"; $rs_users = Database::query($sql); $users_in_course_counter++; } else { @@ -419,15 +419,15 @@ if (isset($_POST['formSent']) && $_POST['formSent']) { if ($user_id !== false) { // Adding to session_rel_user table. $sql = "INSERT IGNORE INTO $tbl_session_user SET - id_user='$user_id', - id_session = '$session_id'"; + user_id ='$user_id', + session_id = '$session_id'"; $rs_user = Database::query($sql); $user_counter++; // Adding to session_rel_user_rel_course table. $sql = "INSERT IGNORE INTO $tbl_session_course_user SET - id_user='$user_id', + user_id ='$user_id', c_id ='$courseId', - id_session = '$session_id'"; + session_id = '$session_id'"; $rs_users = Database::query($sql); $users_in_course_counter++; } else { diff --git a/main/auth/ldap/authldap.php b/main/auth/ldap/authldap.php index 31d15a2224..c30796ffcf 100755 --- a/main/auth/ldap/authldap.php +++ b/main/auth/ldap/authldap.php @@ -426,9 +426,9 @@ function ldap_get_number_of_users() { * @author Mustapha Alouani */ function ldap_get_user_data($from, $number_of_items, $column, $direction) { - + global $extldap_user_correspondance; - + $users = array(); $is_western_name_order = api_is_western_name_order(); if (isset($_GET['submit'])) { @@ -554,40 +554,39 @@ function ldap_add_user_to_session($UserList, $id_session) { $id_session = (int) $id_session; // Once users are imported in the users base, we can assign them to the session - $result=Database::query("SELECT course_code FROM $tbl_session_rel_course " . - "WHERE id_session='$id_session'"); + $result=Database::query("SELECT c_id FROM $tbl_session_rel_course WHERE session_id ='$id_session'"); $CourseList=array(); while ($row=Database::fetch_array($result)) { - $CourseList[]=$row['course_code']; + $CourseList[]=$row['c_id']; } foreach ($CourseList as $enreg_course) { foreach ($UserList as $enreg_user) { $enreg_user = (int) $enreg_user; Database::query("INSERT IGNORE ". " INTO $tbl_session_rel_course_rel_user ". - "(id_session,course_code,id_user) VALUES ". + "(session_id,c_id,user_id) VALUES ". "('$id_session','$enreg_course','$enreg_user')"); } $sql = "SELECT COUNT(id_user) as nbUsers ". " FROM $tbl_session_rel_course_rel_user " . - " WHERE id_session='$id_session' ". - " AND course_code='$enreg_course'"; + " WHERE session_id='$id_session' ". + " AND c_id='$enreg_course'"; $rs = Database::query($sql); list($nbr_users) = Database::fetch_array($rs); Database::query("UPDATE $tbl_session_rel_course ". " SET nbr_users=$nbr_users " . - " WHERE id_session='$id_session' ". - " AND course_code='$enreg_course'"); + " WHERE session_id='$id_session' ". + " AND c_id='$enreg_course'"); } foreach ($UserList as $enreg_user) { $enreg_user = (int) $enreg_user; Database::query("INSERT IGNORE INTO $tbl_session_rel_user ". - " (id_session, id_user) " . + " (session_id, user_id) " . " VALUES('$id_session','$enreg_user')"); } // We update the number of users in the session $sql = "SELECT COUNT(id_user) as nbUsers FROM $tbl_session_rel_user ". - " WHERE id_session='$id_session' ". + " WHERE session_id='$id_session' ". " AND relation_type<>".SESSION_RELATION_TYPE_RRHH." "; $rs = Database::query($sql); list($nbr_users) = Database::fetch_array($rs); diff --git a/main/course_info/infocours.php b/main/course_info/infocours.php index 83560f5fb5..2fc742143b 100755 --- a/main/course_info/infocours.php +++ b/main/course_info/infocours.php @@ -413,7 +413,7 @@ if ($form->validate() && is_settings_editable()) { $updateValues = $form->exportValues(); $visibility = $updateValues['visibility']; - $deletePicture = $updateValues['delete_picture']; + $deletePicture = isset($updateValues['delete_picture']) ? $updateValues['delete_picture'] : ''; if ($deletePicture) { CourseManager::deleteCoursePicture($course_code); @@ -475,6 +475,8 @@ if ($form->validate() && is_settings_editable()) { $updateValues[$index] = Database::escape_string($value); } + $activeLegal = isset($updateValues['activate_legal']) ? $updateValues['activate_legal'] : ''; + $table_course = Database :: get_main_table(TABLE_MAIN_COURSE); $sql = "UPDATE $table_course SET title = '".$updateValues['title']."', @@ -486,7 +488,7 @@ if ($form->validate() && is_settings_editable()) { subscribe = '".$updateValues['subscribe']."', unsubscribe = '".$updateValues['unsubscribe']."', legal = '".$updateValues['legal']."', - activate_legal = '".$updateValues['activate_legal']."', + activate_legal = '".$activeLegal."', registration_code = '".$updateValues['course_registration_password']."' WHERE code = '".$course_code."'"; Database::query($sql); diff --git a/main/coursecopy/copy_course_session.php b/main/coursecopy/copy_course_session.php index 63a9bb7957..cb150fff32 100755 --- a/main/coursecopy/copy_course_session.php +++ b/main/coursecopy/copy_course_session.php @@ -193,10 +193,10 @@ function search_courses($id_session, $type) $session_origin = $_SESSION['session_origin']; // Search courses by id_session where course codes is include en courses list destination - $sql = "SELECT c.code, c.visual_code, c.title, src.id_session + $sql = "SELECT c.code, c.visual_code, c.title, src.session_id FROM $tbl_course c, $tbl_session_rel_course src - WHERE src.course_code = c.code - AND src.id_session = '".intval($id_session)."'"; + WHERE src.c_id = c.id + AND src.session_id = '".intval($id_session)."'"; //AND c.code IN ($list_courses_origin)"; $rs = Database::query($sql); diff --git a/main/cron/remind_course_expiration.php b/main/cron/remind_course_expiration.php index ad7851de46..7f8d99dcd8 100644 --- a/main/cron/remind_course_expiration.php +++ b/main/cron/remind_course_expiration.php @@ -48,18 +48,18 @@ $usersToBeReminded = array(); foreach ($sessions as $sessionId => $userIds) { $userId = 0; $userIds = $userIds ? " AND id_user NOT IN (".implode(",", $userIds).")" : null; - $query = "SELECT sessionUser.id_session, sessionUser.id_user, session.name, session.date_end FROM ". + $query = "SELECT sessionUser.session_id, sessionUser.user_id, session.name, session.date_end FROM ". Database::get_main_table(TABLE_MAIN_SESSION_USER)." AS sessionUser INNER JOIN ".Database::get_main_table(TABLE_MAIN_SESSION). - " AS session ON sessionUser.id_session = session.id - WHERE id_session = $sessionId$userIds"; + " AS session ON sessionUser.session_id = session.id + WHERE session_id = $sessionId$userIds"; $result = Database::query($query); while ($row = Database::fetch_array($result)) { - $usersToBeReminded[$row['id_user']][$row['id_session']] = - array( - 'name' => $row['name'], - 'date_end' => $row['date_end'] - ); + $usersToBeReminded[$row['user_id']][$row['session_id']] = + array( + 'name' => $row['name'], + 'date_end' => $row['date_end'] + ); } } diff --git a/main/inc/ajax/course.ajax.php b/main/inc/ajax/course.ajax.php index 892cf22c88..9c3820f913 100755 --- a/main/inc/ajax/course.ajax.php +++ b/main/inc/ajax/course.ajax.php @@ -156,11 +156,11 @@ switch ($action) { $sql = "SELECT u.user_id as id, u.username, u.lastname, u.firstname FROM $user u - INNER JOIN $session_course_user r ON u.user_id = r.id_user - WHERE id_session = %d AND course_code = '%s' + INNER JOIN $session_course_user r ON u.user_id = r.user_id + WHERE session_id = %d AND c_id = '%s' AND (u.firstname LIKE '%s' OR u.username LIKE '%s' OR u.lastname LIKE '%s')"; $needle = '%' . $_GET['q'] . '%'; - $sql_query = sprintf($sql, $_GET['session_id'], $course['code'], $needle, $needle, $needle); + $sql_query = sprintf($sql, $_GET['session_id'], $course['real_id'], $needle, $needle, $needle); $result = Database::query($sql_query); while ($user = Database::fetch_assoc($result)) { diff --git a/main/inc/lib/AnnouncementManager.php b/main/inc/lib/AnnouncementManager.php index d3f7617bbf..2fbd551858 100755 --- a/main/inc/lib/AnnouncementManager.php +++ b/main/inc/lib/AnnouncementManager.php @@ -320,6 +320,8 @@ class AnnouncementManager $sendToUsersInSession = false ) { $_course = api_get_course_info(); + $course_id = api_get_course_int_id(); + $tbl_announcement = Database::get_course_table(TABLE_ANNOUNCEMENT); // filter data @@ -332,8 +334,6 @@ class AnnouncementManager $end_date = Database::escape_string($end_date); } - $course_id = api_get_course_int_id(); - $order = self::get_last_announcement_order(); // store in the table announcement diff --git a/main/inc/lib/course.lib.php b/main/inc/lib/course.lib.php index 0aa3cd6163..9dec636ed1 100755 --- a/main/inc/lib/course.lib.php +++ b/main/inc/lib/course.lib.php @@ -460,8 +460,8 @@ class CourseManager // Delete in table session_rel_user $sql = "DELETE FROM " . Database::get_main_table(TABLE_MAIN_SESSION_USER) . " WHERE - id_session ='" . $session_id . "' AND - id_user='$uid' AND + session_id ='" . $session_id . "' AND + user_id ='$uid' AND relation_type<>" . SESSION_RELATION_TYPE_RRHH . ""; Database::query($sql); } @@ -469,7 +469,7 @@ class CourseManager // Update the table session $sql = "SELECT COUNT(*) FROM " . Database::get_main_table(TABLE_MAIN_SESSION_USER) . " - WHERE id_session = '" . $session_id . "' AND relation_type <> " . SESSION_RELATION_TYPE_RRHH; + WHERE session_id = '" . $session_id . "' AND relation_type <> " . SESSION_RELATION_TYPE_RRHH; $row = Database::fetch_array(Database::query($sql)); $count = $row[0]; // number of users by session @@ -479,7 +479,7 @@ class CourseManager // Update the table session_rel_course $sql = "SELECT COUNT(*) FROM " . Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER) . " - WHERE id_session = '$session_id' AND c_id = '$course_id' AND status<>2"; + WHERE session_id = '$session_id' AND c_id = '$course_id' AND status<>2"; $row = Database::fetch_array(@Database::query($sql)); $count = $row[0]; @@ -545,6 +545,7 @@ class CourseManager $course_code = Database::escape_string($course_code); $courseInfo = api_get_course_info($course_code); $courseId = $courseInfo['id']; + $courseCode = $courseInfo['code']; $userCourseCategoryId = intval($userCourseCategoryId); @@ -562,7 +563,7 @@ class CourseManager //$role_id = ($status == COURSEMANAGER) ? COURSE_ADMIN : NORMAL_COURSE_MEMBER; // A preliminary check whether the user has bben already registered on the platform. - if (Database::num_rows(@Database::query( + if (Database::num_rows(Database::query( "SELECT status FROM " . Database::get_main_table(TABLE_MAIN_USER) . " WHERE user_id = '$user_id' ")) == 0 ) { @@ -582,67 +583,9 @@ class CourseManager } if (!empty($session_id)) { - - // Check whether the user has not already been stored in the session_rel_course_user table - if (Database::num_rows(@Database::query(" - SELECT * FROM " . Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER) . " - WHERE - c_id = '" . $courseId . "' AND - id_session ='" . $session_id . "' AND - id_user = '" . $user_id . "'")) > 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 . "' AND id_user='$user_id'"; - $rs = Database::query($sql); - 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 . "' - AND id_user = '" . $user_id . "' AND relation_type<>" . SESSION_RELATION_TYPE_RRHH . " ")) > 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) . " - SET id_session ='" . $session_id . "', - c_id = '" . $courseId . "', - id_user = '" . $user_id . "'" - ); - - // Add him/her in the table session_rel_user - @Database::query( - "INSERT INTO " . Database::get_main_table(TABLE_MAIN_SESSION_USER) . " - SET id_session ='" . $session_id . "', - id_user = '" . $user_id . "'" - ); - - // Update the table session - $row = Database::fetch_array(@Database::query("SELECT COUNT(*) FROM " . Database::get_main_table(TABLE_MAIN_SESSION_USER) . " WHERE id_session = '" . $session_id . "' AND relation_type<>" . SESSION_RELATION_TYPE_RRHH . "")); - $count = $row[0]; // number of users by session - Database::query("UPDATE " . Database::get_main_table(TABLE_MAIN_SESSION) . " SET nbr_users = '$count' WHERE id = '" . $session_id . "'"); - - // Update the table session_rel_course - $row = Database::fetch_array(Database::query("SELECT COUNT(*) FROM " . Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER) . " WHERE id_session = '" . $session_id . "' AND c_id = '$courseId' AND status<>2")); - $count = $row[0]; // number of users by session - $result = Database::query("UPDATE " . Database::get_main_table(TABLE_MAIN_SESSION_COURSE) . " SET nbr_users = '$count' WHERE id_session = '" . $session_id . "' AND c_id = '$courseId' "); - + SessionManager::subscribe_users_to_session_course(array($user_id), $session_id, $courseCode); } else { - $course_sort = self::userCourseSort($user_id, $course_code); - $sql = "INSERT INTO " . Database::get_main_table(TABLE_MAIN_COURSE_USER) . " - SET c_id = '$courseId', - user_id = '$user_id', - status = '" . $status . "', - sort = '" . $course_sort . "', - user_course_cat = $userCourseCategoryId - "; - $result = @Database::query($sql); + CourseManager::add_user_to_course($user_id, $courseCode, $status); // Add event to the system log Event::addEvent( @@ -662,7 +605,8 @@ class CourseManager api_get_user_id() ); } - return (bool)$result; + + return true; } /** @@ -738,7 +682,7 @@ class CourseManager $course_code = Database::escape_string($course_code); $courseInfo = api_get_course_info($course_code); - $courseId = $courseInfo['id']; + $courseId = $courseInfo['real_id']; // Check in advance whether the user has already been registered on the platform. $sql = "SELECT status FROM " . $user_table . " WHERE user_id = '$user_id' "; @@ -774,13 +718,15 @@ class CourseManager // Ok, subscribe the user. $max_sort = api_max_sort_value('0', $user_id); - return (bool)Database::query( - "INSERT INTO " . $course_user_table . " - SET c_id = '$courseId', - user_id = '$user_id', - status = '" . $status . "', - sort = '" . ($max_sort + 1) . "'" - ); + $params = [ + 'c_id' => $courseId, + 'user_id' => $user_id, + 'status' => $status, + 'sort' => $max_sort + 1 + ]; + $insertId = Database::insert($course_user_table, $params); + + return $insertId; } /** @@ -1353,7 +1299,6 @@ class CourseManager $filter_by_status = intval($filter_by_status); $filter_by_status_condition = " session_course_user.status = $filter_by_status AND "; } - } else { if ($return_count) { $sql = " SELECT COUNT(*) as count"; @@ -1385,8 +1330,6 @@ class CourseManager ON user.user_id = course_rel_user.user_id AND course_rel_user.relation_type <> ' . COURSE_RELATION_TYPE_RRHH . ' '; if (!empty($course_code)) { - $courseInfo = api_get_course_info($course_code); - $courseId = $courseInfo['id']; $sql .= ' AND course_rel_user.c_id="' . $courseId . '"'; } else { $sql .= " INNER JOIN $course_table course ON course_rel_user.c_id = course.id "; diff --git a/main/inc/lib/myspace.lib.php b/main/inc/lib/myspace.lib.php index 1da405d93d..3420559d15 100644 --- a/main/inc/lib/myspace.lib.php +++ b/main/inc/lib/myspace.lib.php @@ -53,8 +53,8 @@ class MySpace * @param string $file_name The name of the file which contains exported data. * @return string mixed Returns a message (string) if an error occurred. */ - function export_csv($header, $data, $file_name = 'export.csv') { - + function export_csv($header, $data, $file_name = 'export.csv') + { $archive_path = api_get_path(SYS_ARCHIVE_PATH); $archive_url = api_get_path(WEB_CODE_PATH).'course_info/download.php?archive='; @@ -485,8 +485,8 @@ class MySpace * Display a sortable table that contains an overview off all the progress of the user in a session * @author César Perales , Beeznest Team */ - public static function display_tracking_lp_progress_overview($sessionId = '', $courseId = '', $date_from, $date_to) { - + public static function display_tracking_lp_progress_overview($sessionId = '', $courseId = '', $date_from, $date_to) + { $course = api_get_course_info_by_id($courseId); /** * Column name @@ -552,6 +552,7 @@ class MySpace $return .= Display::grid_html($tableId); return $return; } + /** * Display a sortable table that contains an overview off all the progress of the user in a session * @param int $sessionId The session ID @@ -2439,13 +2440,15 @@ class MySpace if (!isset ($user['Password']) || strlen($user['Password']) == 0) { $user['Password'] = api_generate_password(); } + return $user; } /** * Saves imported data. */ - function save_data($users, $course_list, $id_session) { + public function save_data($users, $course_list, $id_session) + { $tbl_session = Database::get_main_table(TABLE_MAIN_SESSION); $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); @@ -2480,7 +2483,7 @@ class MySpace $enreg_course = Database::escape_string($enreg_course); foreach ($users as $index => $user) { $userid = intval($user['id']); - $sql = "INSERT IGNORE INTO $tbl_session_rel_course_rel_user(id_session,course_code,id_user) VALUES('$id_session','$enreg_course','$userid')"; + $sql = "INSERT IGNORE INTO $tbl_session_rel_course_rel_user(session_id, c_id, user_id) VALUES('$id_session','$enreg_course','$userid')"; $course_session = array('course' => $enreg_course, 'added' => 1); //$user['added_at_session'] = $course_session; $result = Database::query($sql); @@ -2492,10 +2495,10 @@ class MySpace $super_list[] = $new_users; //update the nbr_users field - $sql_select = "SELECT COUNT(id_user) as nbUsers FROM $tbl_session_rel_course_rel_user WHERE id_session='$id_session' AND course_code='$enreg_course'"; + $sql_select = "SELECT COUNT(id_user) as nbUsers FROM $tbl_session_rel_course_rel_user WHERE session_id='$id_session' AND c_id='$enreg_course'"; $rs = Database::query($sql_select); list($nbr_users) = Database::fetch_array($rs); - $sql_update = "UPDATE $tbl_session_rel_course SET nbr_users=$nbr_users WHERE id_session='$id_session' AND course_code='$enreg_course'"; + $sql_update = "UPDATE $tbl_session_rel_course SET nbr_users=$nbr_users WHERE session_id='$id_session' AND c_id='$enreg_course'"; Database::query($sql_update); $sql_update = "UPDATE $tbl_session SET nbr_users= '$nbr_users' WHERE id='$id_session'"; @@ -2508,7 +2511,7 @@ class MySpace $new_users = array(); foreach ($users as $index => $user) { $userid = $user['id']; - $sql_insert = "INSERT IGNORE INTO $tbl_session_rel_user(id_session, id_user) VALUES('$id_session','$userid')"; + $sql_insert = "INSERT IGNORE INTO $tbl_session_rel_user(session_id, user_id) VALUES('$id_session','$userid')"; Database::query($sql_insert); $user['added_at_session'] = 1; $new_users[] = $user; diff --git a/main/mySpace/user_import.php b/main/mySpace/user_import.php index c3edaba111..62dbc5848e 100755 --- a/main/mySpace/user_import.php +++ b/main/mySpace/user_import.php @@ -72,11 +72,11 @@ if ($_POST['formSent'] && $_FILES['import_file']['size'] !== 0) { if (!empty($id_session)) { $tbl_session_rel_course = Database::get_main_table(TABLE_MAIN_SESSION_COURSE); // Selecting all the courses from the session id requested. - $sql = "SELECT course_code FROM $tbl_session_rel_course WHERE id_session='$id_session'"; + $sql = "SELECT c_id FROM $tbl_session_rel_course WHERE id_session='$id_session'"; $result = Database::query($sql); $course_list = array(); while ($row = Database::fetch_array($result)) { - $course_list[] = $row['course_code']; + $course_list[] = $row['c_id']; } $errors = MySpace::get_user_creator($users, $course_list, $id_session); $users = MySpace::check_all_usernames($users, $course_list, $id_session); diff --git a/main/user/subscribe_user.php b/main/user/subscribe_user.php index 1149d81a11..f4a11c085c 100755 --- a/main/user/subscribe_user.php +++ b/main/user/subscribe_user.php @@ -398,7 +398,7 @@ function get_user_data($from, $number_of_items, $column, $direction) u.active AS col5, u.user_id AS col6"; } else { - $select_fields = "u.user_id AS col0, + $select_fields = "u.user_id AS col0, u.official_code AS col1, ".($is_western_name_order ? "u.firstname AS col2, @@ -414,18 +414,25 @@ function get_user_data($from, $number_of_items, $column, $direction) if (!empty($session_id)) { $sql = "SELECT $select_fields FROM $user_table u - LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user AND course_code='".$course_code."' AND id_session ='".$session_id."' + LEFT JOIN $tbl_session_rel_course_user cu + ON u.user_id = cu.id_user AND c_id ='".$courseId."' AND id_session ='".$session_id."' INNER JOIN $tbl_url_rel_user as url_rel_user ON (url_rel_user.user_id = u.user_id) "; // applying the filter of the additional user profile fields - if (isset($_GET['subscribe_user_filter_value']) AND !empty($_GET['subscribe_user_filter_value']) AND api_get_setting('ProfilingFilterAddingUsers') == 'true') { + if (isset($_GET['subscribe_user_filter_value']) && + !empty($_GET['subscribe_user_filter_value']) && + api_get_setting('ProfilingFilterAddingUsers') == 'true' + ) { $field_identification = explode('*',$_GET['subscribe_user_filter_value']); $sql .= " LEFT JOIN $table_user_field_values field_values ON field_values.user_id = u.user_id - WHERE cu.id_user IS NULL AND u.status=1 AND (u.official_code <> 'ADMIN' OR u.official_code IS NULL) - AND field_values.field_id = '".intval($field_identification[0])."' - AND field_values.field_value = '".Database::escape_string($field_identification[1])."'"; + WHERE + cu.id_user IS NULL AND + u.status=1 AND + (u.official_code <> 'ADMIN' OR u.official_code IS NULL) AND + field_values.field_id = '".intval($field_identification[0])."' AND + field_values.field_value = '".Database::escape_string($field_identification[1])."'"; } else { $sql .= "WHERE cu.id_user IS NULL AND u.status=1 AND (u.official_code <> 'ADMIN' OR u.official_code IS NULL) "; } @@ -436,17 +443,22 @@ function get_user_data($from, $number_of_items, $column, $direction) // adding a teacher NOT through a session $sql = "SELECT $select_fields FROM $user_table u - LEFT JOIN $course_user_table cu on u.user_id = cu.user_id AND c_id = '".$courseId."'"; + LEFT JOIN $course_user_table cu + ON u.user_id = cu.user_id AND c_id = '".$courseId."'"; // applying the filter of the additional user profile fields - if (isset($_GET['subscribe_user_filter_value']) AND !empty($_GET['subscribe_user_filter_value']) AND api_get_setting('ProfilingFilterAddingUsers') == 'true'){ + if (isset($_GET['subscribe_user_filter_value']) && + !empty($_GET['subscribe_user_filter_value']) && + api_get_setting('ProfilingFilterAddingUsers') == 'true' + ) { $field_identification = explode('*',$_GET['subscribe_user_filter_value']); $sql .= " LEFT JOIN $table_user_field_values field_values ON field_values.user_id = u.user_id - WHERE cu.user_id IS NULL AND u.status<>".DRH." - AND field_values.field_id = '".intval($field_identification[0])."' - AND field_values.field_value = '".Database::escape_string($field_identification[1])."'"; + WHERE + cu.user_id IS NULL AND u.status<>".DRH." AND + field_values.field_id = '".intval($field_identification[0])."' AND + field_values.field_value = '".Database::escape_string($field_identification[1])."'"; } else { $sql .= "WHERE cu.user_id IS NULL AND u.status<>".DRH." "; } @@ -456,18 +468,25 @@ function get_user_data($from, $number_of_items, $column, $direction) if ($url_access_id !=-1) { $sql = "SELECT $select_fields FROM $user_table u - LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and c_id='".$courseId."' - INNER JOIN $tbl_url_rel_user as url_rel_user ON (url_rel_user.user_id = u.user_id) "; + LEFT JOIN $course_user_table cu + ON u.user_id = cu.user_id and c_id='".$courseId."' + INNER JOIN $tbl_url_rel_user as url_rel_user + ON (url_rel_user.user_id = u.user_id) "; // applying the filter of the additional user profile fields - if (isset($_GET['subscribe_user_filter_value']) AND !empty($_GET['subscribe_user_filter_value']) AND api_get_setting('ProfilingFilterAddingUsers') == 'true'){ - $field_identification = explode('*',$_GET['subscribe_user_filter_value']); + if (isset($_GET['subscribe_user_filter_value']) && + !empty($_GET['subscribe_user_filter_value']) && + api_get_setting('ProfilingFilterAddingUsers') == 'true' + ){ + $field_identification = explode('*', $_GET['subscribe_user_filter_value']); $sql .= " LEFT JOIN $table_user_field_values field_values ON field_values.user_id = u.user_id - WHERE cu.user_id IS NULL AND u.status<>".DRH." - AND field_values.field_id = '".intval($field_identification[0])."' - AND field_values.field_value = '".Database::escape_string($field_identification[1])."'"; + WHERE + cu.user_id IS NULL AND + u.status<>".DRH." AND + field_values.field_id = '".intval($field_identification[0])."' AND + field_values.field_value = '".Database::escape_string($field_identification[1])."'"; } else { $sql .= "WHERE cu.user_id IS NULL AND u.status<>".DRH." AND access_url_id= $url_access_id "; } @@ -479,10 +498,14 @@ function get_user_data($from, $number_of_items, $column, $direction) if (!empty($session_id)) { $sql = "SELECT $select_fields FROM $user_table u - LEFT JOIN $tbl_session_rel_course_user cu ON u.user_id = cu.id_user AND course_code='".$course_code."' AND id_session ='".$session_id."' "; + LEFT JOIN $tbl_session_rel_course_user cu + ON + u.user_id = cu.id_user AND + c_id ='".$courseId."' AND + id_session ='".$session_id."' "; if (isset($_configuration['multiple_access_urls']) && $_configuration['multiple_access_urls']) { - $sql .= " INNER JOIN $tbl_url_rel_user as url_rel_user ON (url_rel_user.user_id = u.user_id) "; + $sql .= " INNER JOIN $tbl_url_rel_user as url_rel_user ON (url_rel_user.user_id = u.user_id) "; } // applying the filter of the additional user profile fields @@ -491,11 +514,17 @@ function get_user_data($from, $number_of_items, $column, $direction) $sql .= " LEFT JOIN $table_user_field_values field_values ON field_values.user_id = u.user_id - WHERE cu.id_user IS NULL AND u.status<>".DRH." AND (u.official_code <> 'ADMIN' OR u.official_code IS NULL) - AND field_values.field_id = '".intval($field_identification[0])."' - AND field_values.field_value = '".Database::escape_string($field_identification[1])."'"; + WHERE + cu.id_user IS NULL AND + u.status<>".DRH." AND + (u.official_code <> 'ADMIN' OR u.official_code IS NULL) AND + field_values.field_id = '".intval($field_identification[0])."' AND + field_values.field_value = '".Database::escape_string($field_identification[1])."'"; } else { - $sql .= "WHERE cu.id_user IS NULL AND u.status<>".DRH." AND (u.official_code <> 'ADMIN' OR u.official_code IS NULL) "; + $sql .= "WHERE + cu.id_user IS NULL AND + u.status<>".DRH." AND + (u.official_code <> 'ADMIN' OR u.official_code IS NULL) "; } if (isset($_configuration['multiple_access_urls']) && $_configuration['multiple_access_urls']) { @@ -505,7 +534,10 @@ function get_user_data($from, $number_of_items, $column, $direction) } else { $sql = "SELECT $select_fields FROM $user_table u - LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$course_code."'"; + LEFT JOIN $course_user_table cu + ON + u.user_id = cu.user_id AND + c_id ='".$courseId."'"; // applying the filter of the additional user profile fields if (isset($_GET['subscribe_user_filter_value']) AND !empty($_GET['subscribe_user_filter_value'])){ @@ -513,9 +545,11 @@ function get_user_data($from, $number_of_items, $column, $direction) $sql .= " LEFT JOIN $table_user_field_values field_values ON field_values.user_id = u.user_id - WHERE cu.user_id IS NULL AND u.status<>".DRH." - AND field_values.field_id = '".intval($field_identification[0])."' - AND field_values.field_value = '".Database::escape_string($field_identification[1])."'"; + WHERE + cu.user_id IS NULL AND + u.status<>".DRH." AND + field_values.field_id = '".intval($field_identification[0])."' AND + field_values.field_value = '".Database::escape_string($field_identification[1])."'"; } else { $sql .= "WHERE cu.user_id IS NULL AND u.status<>".DRH." "; } @@ -534,16 +568,21 @@ function get_user_data($from, $number_of_items, $column, $direction) ON (url_rel_user.user_id = u.user_id) "; // applying the filter of the additional user profile fields - if (isset($_GET['subscribe_user_filter_value']) AND !empty($_GET['subscribe_user_filter_value']) AND api_get_setting('ProfilingFilterAddingUsers') == 'true'){ - $field_identification = explode('*',$_GET['subscribe_user_filter_value']); + if (isset($_GET['subscribe_user_filter_value']) && + !empty($_GET['subscribe_user_filter_value']) && + api_get_setting('ProfilingFilterAddingUsers') == 'true' + ){ + $field_identification = explode('*', $_GET['subscribe_user_filter_value']); $sql .= " LEFT JOIN $table_user_field_values field_values ON field_values.user_id = u.user_id - WHERE cu.user_id IS NULL AND u.status<>".DRH." - AND field_values.field_id = '".intval($field_identification[0])."' - AND field_values.field_value = '".Database::escape_string($field_identification[1])."' AND access_url_id= $url_access_id "; + WHERE + cu.user_id IS NULL AND u.status<>".DRH." AND + field_values.field_id = '".intval($field_identification[0])."' AND + field_values.field_value = '".Database::escape_string($field_identification[1])."' AND + access_url_id= $url_access_id "; } else { - $sql .= "WHERE cu.user_id IS NULL AND u.status<>".DRH." AND access_url_id= $url_access_id "; + $sql .= "WHERE cu.user_id IS NULL AND u.status<>".DRH." AND access_url_id= $url_access_id "; } } } @@ -554,7 +593,14 @@ function get_user_data($from, $number_of_items, $column, $direction) $additional_users = null; if (isset($_REQUEST['keyword'])) { $keyword = Database::escape_string(trim($_REQUEST['keyword'])); - $sql .= " AND (firstname LIKE '%".$keyword."%' OR lastname LIKE '%".$keyword."%' OR email LIKE '%".$keyword."%' OR username LIKE '%".$keyword."%' OR official_code LIKE '%".$keyword."%')"; + $sql .= " AND ( + firstname LIKE '%".$keyword."%' OR + lastname LIKE '%".$keyword."%' OR + email LIKE '%".$keyword."%' OR + username LIKE '%".$keyword."%' OR + official_code LIKE '%".$keyword."%' + ) + "; if (api_get_setting('ProfilingFilterAddingUsers') == 'true') { // we also want to search for users who have something in their profile fields that matches the keyword diff --git a/main/user/user.php b/main/user/user.php index 7a39078ae0..07ffc1ec89 100755 --- a/main/user/user.php +++ b/main/user/user.php @@ -5,24 +5,14 @@ * This script displays a list of the users of the current course. * Course admins can change user permissions, subscribe and unsubscribe users... * - * EXPERIMENTAL: support for virtual courses - * - show users registered in virtual and real courses; - * - only show the users of a virtual course if the current user; - * is registered in that virtual course. + * - show users registered in courses; * - * Exceptions: platform admin and the course admin will see all virtual courses. - * This is a new feature, there may be bugs. - * - * @todo possibility to edit user-course rights and view statistics for users in virtual courses - * @todo convert normal table display to display function (refactor virtual course display function) + * @todo display table functions need support for align and valign (e.g. to center text in cells) (this is now possible) - * @author Roan Embrechts, refactoring + virtual courses support + * @author Roan Embrechts * @author Julio Montoya Armas, Several fixes * @package chamilo.user */ -/** - * Code - */ $use_anonymous = true; require_once '../inc/global.inc.php'; $current_course_tool = TOOL_USER; @@ -200,7 +190,7 @@ if (api_is_allowed_to_edit(null, true)) { if (api_is_multiple_url_enabled()) { $sql_query .= ' , '.Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER).' au '; } - $sql_query .=" WHERE course_code = '$course_code' AND session_course_user.id_user = user.user_id "; + $sql_query .=" WHERE c_id = '$courseId' AND session_course_user.id_user = user.user_id "; $sql_query .= ' AND id_session = '.$session_id; if (api_is_multiple_url_enabled()) { @@ -401,12 +391,12 @@ if (api_is_allowed_to_edit(null, true)) { INNER JOIN '.$tbl_session_rel_course.' rel_course ON rel_course.id_session = reluser.id_session WHERE user.user_id = "'.$user_id.'" - AND rel_course.course_code = "'.$course_code.'"'; + AND rel_course.c_id = "'.$courseId.'"'; $result = Database::query($sql); $row = Database::fetch_array($result, 'ASSOC'); if ($row['user_id'] == $user_id || $row['user_id'] == "") { - CourseManager::unsubscribe_user($_GET['user_id'], $_SESSION['_course']['sysCode']); + CourseManager::unsubscribe_user($_GET['user_id'], $courseCode); $message = get_lang('UserUnsubscribed'); } else { $message = get_lang('ThisStudentIsSubscribeThroughASession'); @@ -593,11 +583,12 @@ function searchUserKeyword($firstname, $lastname, $username, $official_code, $ke function get_user_data($from, $number_of_items, $column, $direction) { global $origin; - global $course_info; global $is_western_name_order; global $session_id; global $extraFields; + $course_info = api_get_course_info(); + $a_users = array(); // limit @@ -642,6 +633,7 @@ function get_user_data($from, $number_of_items, $column, $direction) $session_id = api_get_session_id(); $course_code = api_get_course_id(); $active = isset($_GET['active']) ? $_GET['active'] : null; + $a_course_users = CourseManager :: get_user_list_from_course_code( $course_code, $session_id, diff --git a/src/Chamilo/CoreBundle/Entity/SessionRelCourse.php b/src/Chamilo/CoreBundle/Entity/SessionRelCourse.php index b8a4ab60a6..08ac8e94ec 100644 --- a/src/Chamilo/CoreBundle/Entity/SessionRelCourse.php +++ b/src/Chamilo/CoreBundle/Entity/SessionRelCourse.php @@ -18,7 +18,7 @@ class SessionRelCourse * * @ORM\Column(name="id", type="integer") * @ORM\Id - * @ORM\GeneratedValue(strategy="AUTO") + * @ORM\GeneratedValue */ protected $id; @@ -31,7 +31,7 @@ class SessionRelCourse /** * @ORM\ManyToOne(targetEntity="Session", inversedBy="courses", cascade={"persist"}) - * @ORM\JoinColumn(name="id_session", referencedColumnName="id") + * @ORM\JoinColumn(name="session_id", referencedColumnName="id") */ protected $session; diff --git a/src/Chamilo/CoreBundle/Entity/SessionRelCourseRelUser.php b/src/Chamilo/CoreBundle/Entity/SessionRelCourseRelUser.php index e2f9bcafa8..34374af092 100644 --- a/src/Chamilo/CoreBundle/Entity/SessionRelCourseRelUser.php +++ b/src/Chamilo/CoreBundle/Entity/SessionRelCourseRelUser.php @@ -12,7 +12,7 @@ use Doctrine\ORM\Mapping as ORM; * @ORM\Table( * name="session_rel_course_rel_user", * indexes={ - * @ORM\Index(name="idx_session_rel_course_rel_user_id_user", columns={"id_user"}), + * @ORM\Index(name="idx_session_rel_course_rel_user_id_user", columns={"user_id"}), * @ORM\Index(name="idx_session_rel_course_rel_user_course_id", columns={"c_id"}) * } * ) @@ -30,7 +30,7 @@ class SessionRelCourseRelUser * * @ORM\Column(name="id", type="integer", precision=0, scale=0, nullable=false, unique=false) * @ORM\Id - * @ORM\GeneratedValue(strategy="AUTO") + * @ORM\GeneratedValue */ private $id; @@ -58,14 +58,14 @@ class SessionRelCourseRelUser /** * @var User * @ORM\ManyToOne(targetEntity="Chamilo\UserBundle\Entity\User", inversedBy="sessionCourseSubscriptions", cascade={"persist"}) - * @ORM\JoinColumn(name="id_user", referencedColumnName="id") + * @ORM\JoinColumn(name="user_id", referencedColumnName="id") */ protected $user; /** * @var Session * @ORM\ManyToOne(targetEntity="Session", inversedBy="userCourseSubscriptions", cascade={"persist"}) - * @ORM\JoinColumn(name="id_session", referencedColumnName="id") + * @ORM\JoinColumn(name="session_id", referencedColumnName="id") */ protected $session; diff --git a/src/Chamilo/CoreBundle/Migrations/Schema/v1/Version110.php b/src/Chamilo/CoreBundle/Migrations/Schema/v1/Version110.php index daa8dfdbc5..d12928026d 100644 --- a/src/Chamilo/CoreBundle/Migrations/Schema/v1/Version110.php +++ b/src/Chamilo/CoreBundle/Migrations/Schema/v1/Version110.php @@ -309,12 +309,25 @@ class Version110 extends AbstractMigration $this->addSql("ALTER TABLE session_rel_user MODIFY COLUMN id_session int unsigned DEFAULT NULL"); $this->addSql("ALTER TABLE session_rel_user MODIFY COLUMN id_user int unsigned DEFAULT NULL"); - $this->addSql("ALTER TABLE session_rel_user DROP PRIMARY KEY"); - $this->addSql("ALTER TABLE session_rel_user ADD COLUMN id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT"); + $table = $schema->getTable('session_rel_user'); + $table->renameColumn('id_session', 'session_id'); + $table->renameColumn('id_user', 'user_id'); + + $table = $schema->getTable('session_rel_course_rel_user'); + $table->renameColumn('id_session', 'session_id'); + $table->renameColumn('id_user', 'user_id'); + + $table = $schema->getTable('session_rel_course'); + $table->renameColumn('id_session', 'session_id'); + $table = $schema->getTable('c_item_property'); + $table->renameColumn('id_session', 'session_id'); + $this->addSql("ALTER TABLE session_rel_user DROP PRIMARY KEY"); + $this->addSql("ALTER TABLE session_rel_user ADD COLUMN id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT"); + $this->addSql("ALTER TABLE c_quiz_rel_question MODIFY COLUMN c_id int unsigned DEFAULT NULL"); $this->addSql("ALTER TABLE c_quiz_rel_question MODIFY COLUMN question_id int unsigned DEFAULT NULL"); $this->addSql("ALTER TABLE c_quiz_rel_question MODIFY COLUMN exercice_id int unsigned DEFAULT NULL"); diff --git a/src/Chamilo/CourseBundle/Entity/CItemProperty.php b/src/Chamilo/CourseBundle/Entity/CItemProperty.php index cf55dfcce8..9ec7a44ab7 100644 --- a/src/Chamilo/CourseBundle/Entity/CItemProperty.php +++ b/src/Chamilo/CourseBundle/Entity/CItemProperty.php @@ -123,7 +123,7 @@ class CItemProperty /** * @var integer * - * @ORM\Column(name="id_session", type="integer", nullable=false) + * @ORM\Column(name="session_id", type="integer", nullable=false) */ private $idSession;