Replace id_user with user_id and id_session with session_id (Partial)

1.10.x
Julio Montoya 11 years ago
parent 567b893062
commit a2aec24456
  1. 7
      main/admin/access_url_check_user_session.php
  2. 47
      main/admin/add_users_to_session.php
  3. 17
      main/admin/ldap_import_students_to_session.php
  4. 4
      main/admin/resume_session.php
  5. 6
      main/admin/session_course_user_list.php
  6. 21
      main/admin/session_export.php
  7. 28
      main/admin/session_import.php
  8. 23
      main/auth/ldap/authldap.php
  9. 6
      main/course_info/infocours.php
  10. 6
      main/coursecopy/copy_course_session.php
  11. 16
      main/cron/remind_course_expiration.php
  12. 6
      main/inc/ajax/course.ajax.php
  13. 4
      main/inc/lib/AnnouncementManager.php
  14. 97
      main/inc/lib/course.lib.php
  15. 21
      main/inc/lib/myspace.lib.php
  16. 4
      main/mySpace/user_import.php
  17. 116
      main/user/subscribe_user.php
  18. 26
      main/user/user.php
  19. 4
      src/Chamilo/CoreBundle/Entity/SessionRelCourse.php
  20. 8
      src/Chamilo/CoreBundle/Entity/SessionRelCourseRelUser.php
  21. 17
      src/Chamilo/CoreBundle/Migrations/Schema/v1/Version110.php
  22. 2
      src/Chamilo/CourseBundle/Entity/CItemProperty.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";

@ -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

@ -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);
}

@ -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)."'";

@ -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);

@ -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 = '';

@ -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 {

@ -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);

@ -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);

@ -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);

@ -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']
);
}
}

@ -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)) {

@ -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

@ -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 ";

@ -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 <cesar.perales@beeznest.com>, 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;

@ -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);

@ -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

@ -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,

@ -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;

@ -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;

@ -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");

@ -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;

Loading…
Cancel
Save