Replace id_user with user_id, and id_session with session_id

1.10.x
Julio Montoya 11 years ago
parent 06b889c3ec
commit 221f333f17
  1. 1
      main/admin/access_url_edit_usergroup_to_url.php
  2. 1
      main/admin/add_sessions_to_promotion.php
  3. 1
      main/admin/add_students_to_session.php
  4. 2
      main/admin/add_teachers_to_session.php
  5. 9
      main/admin/ldap_synchro.php
  6. 2
      main/admin/resume_session.php
  7. 103
      main/admin/session_course_user.php
  8. 6
      main/admin/session_course_user_list.php
  9. 4
      main/admin/session_export.php
  10. 4
      main/admin/session_import.php
  11. 4
      main/auth/ldap/authldap.php
  12. 33
      main/chat/chat_whoisonline.php
  13. 6
      main/cron/remind_course_expiration.php
  14. 2
      main/exercice/exercise_reminder.php
  15. 2
      main/exercice/exercise_result.php
  16. 4
      main/exercice/exercise_show.php
  17. 2
      main/exercice/result.php
  18. 12
      main/forum/forumfunction.inc.php
  19. 2
      main/gradebook/lib/GradebookUtils.php
  20. 8
      main/gradebook/lib/be/result.class.php
  21. 53
      main/inc/lib/api.lib.php
  22. 67
      main/inc/lib/course.lib.php
  23. 4
      main/inc/lib/document.lib.php
  24. 6
      main/inc/lib/exercise.lib.php
  25. 28
      main/inc/lib/login.lib.php
  26. 185
      main/inc/lib/myspace.lib.php
  27. 272
      main/inc/lib/sessionmanager.lib.php
  28. 13
      main/inc/lib/thematic.lib.php
  29. 115
      main/inc/lib/tracking.lib.php
  30. 46
      main/inc/lib/usermanager.lib.php
  31. 89
      main/inc/local.inc.php
  32. 21
      main/mySpace/coaches.php
  33. 21
      main/mySpace/myStudents.php
  34. 19
      main/mySpace/user_add.php
  35. 4
      main/mySpace/user_import.php
  36. 62
      main/social/group_invitation.php
  37. 2
      main/tracking/userLog.php
  38. 2
      main/tracking/userlogCSV.php
  39. 57
      main/user/add_users_to_session.php
  40. 25
      main/user/resume_session.php
  41. 66
      main/user/subscribe_user.php
  42. 6
      main/user/user.php
  43. 2
      main/user/userInfo.php
  44. 141
      main/webservices/registration.soap.php
  45. 9
      main/work/work.lib.php
  46. 2
      plugin/advanced_subscription/cron/notify_by_mail.php
  47. 16
      plugin/advanced_subscription/src/AdvancedSubscriptionPlugin.php
  48. 10
      plugin/buycourses/src/buy_course.lib.php
  49. 8
      plugin/buycourses/src/function.php
  50. 22
      plugin/resubscription/src/HookResubscription.php
  51. 2
      tests/main/mySpace/myspace.lib.test.php
  52. 2
      tests/scripts/detect_deleted_visible_documents.php
  53. 2
      whoisonlinesession.php

@ -317,7 +317,6 @@ function loadUsersInSelect(select){
else // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
//xhr_object.open("GET", "loadUsersInSelect.ajax.php?id_session=<?php echo $id_session ?>&letter="+select.options[select.selectedIndex].text, false);
xhr_object.open("POST", "loadUsersInSelect.ajax.php");
xhr_object.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
nosessionUsers = makepost(document.getElementById('origin_users'));

@ -322,7 +322,6 @@ function loadUsersInSelect(select) {
else // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
//xhr_object.open("GET", "loadUsersInSelect.ajax.php?id_session=<?php echo $id_session ?>&letter="+select.options[select.selectedIndex].text, false);
xhr_object.open("POST", "loadUsersInSelect.ajax.php");
xhr_object.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
nosessionUsers = makepost(document.getElementById('session_not_in_promotion'));

@ -154,7 +154,6 @@ echo Display::input('hidden', 'form_sent', '1');
else // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
//xhr_object.open("GET", "loadUsersInSelect.ajax.php?id_session=<?php echo $id_session ?>&letter="+select.options[select.selectedIndex].text, false);
xhr_object.open("POST", "loadUsersInSelect.ajax.php");
xhr_object.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
nosessionUsers = makepost(document.getElementById('session_not_in_promotion'));

@ -158,7 +158,6 @@ echo Display::input('hidden', 'form_sent', '1');
else // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
//xhr_object.open("GET", "loadUsersInSelect.ajax.php?id_session=<?php echo $id_session ?>&letter="+select.options[select.selectedIndex].text, false);
xhr_object.open("POST", "loadUsersInSelect.ajax.php");
xhr_object.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
nosessionUsers = makepost(document.getElementById('session_not_in_promotion'));
@ -170,7 +169,6 @@ echo Display::input('hidden', 'form_sent', '1');
xhr_object.onreadystatechange = function() {
if(xhr_object.readyState == 4) {
document.getElementById('content_source').innerHTML = result = xhr_object.responseText;
//alert(xhr_object.responseText);
}
}
}

@ -125,16 +125,16 @@ foreach($Sessions as $session){
}
// Une fois les utilisateurs importer dans la base des utilisateurs, on peux les affecter la session
$result=Database::query("SELECT id, course_code FROM $tbl_session_rel_course WHERE session_id='$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['id'];
$CourseList[]= $row['c_id'];
}
foreach ($CourseList as $enreg_course) {
// On ajoute la relation entre l'utilisateur et le cours
foreach ($UserList as $enreg_user) {
$sql = "INSERT IGNORE INTO $tbl_session_rel_course_rel_user(id_session,c_id,id_user)
$sql = "INSERT IGNORE INTO $tbl_session_rel_course_rel_user(session_id,c_id,user_id)
VALUES('$id_session','$enreg_course','$enreg_user')";
Database::query($sql);
}
@ -149,7 +149,7 @@ foreach($Sessions as $session){
}
// On ajoute la relation entre l'utilisateur et la session
foreach($UserList as $enreg_user){
$sql = "INSERT IGNORE INTO $tbl_session_rel_user(id_session, id_user) " .
$sql = "INSERT IGNORE INTO $tbl_session_rel_user(session_id, user_id) " .
"VALUES('$id_session','$enreg_user')";
Database::query($sql);
}
@ -162,4 +162,3 @@ foreach($Sessions as $session){
Database::query($sql);
}
}
?>

@ -326,7 +326,7 @@ if ($session['nbr_courses'] == 0) {
$sql = "SELECT user.lastname,user.firstname, user.username
FROM $tbl_session_rel_course_rel_user session_rcru, $tbl_user user
WHERE
session_rcru.id_user = user.user_id AND
session_rcru.user_id = user.user_id AND
session_rcru.session_id = '".intval($sessionId)."' AND
session_rcru.c_id ='".intval($course['id'])."' AND
session_rcru.status=2";

@ -37,35 +37,37 @@ if (empty($id_user) || empty($id_session)) {
}
if (!api_is_platform_admin()) {
$sql = 'SELECT session_admin_id FROM '.Database :: get_main_table(TABLE_MAIN_SESSION).' WHERE id='.$id_session;
$sql = 'SELECT session_admin_id
FROM '.Database :: get_main_table(TABLE_MAIN_SESSION).'
WHERE id='.$id_session;
$rs = Database::query($sql);
if (Database::result($rs,0,0)!=$_user['user_id']) {
api_not_allowed(true);
}
}
$formSent=0;
$errorMsg=$firstLetterCourse=$firstLetterSession='';
$CourseList=$SessionList=array();
$courses=$sessions=array();
$noPHP_SELF=true;
$formSent = 0;
$errorMsg = $firstLetterCourse = $firstLetterSession = '';
$CourseList = $SessionList = array();
$courses = $sessions = array();
$noPHP_SELF = true;
if (isset($_POST['formSent']) && $_POST['formSent']) {
$formSent = $_POST['formSent'];
$CourseList = $_POST['SessionCoursesList'];
$formSent = $_POST['formSent'];
$CourseList = $_POST['SessionCoursesList'];
if (!is_array($CourseList)) {
$CourseList=array();
}
$sql="SELECT distinct code
$sql = "SELECT DISTINCT course.id
FROM $tbl_course course
LEFT JOIN $tbl_session_rel_course session_rel_course
ON course.id = session_rel_course.c_id
INNER JOIN $tbl_session_rel_course_rel_user as srcru
ON (srcru.session_id = session_rel_course.session_id)
WHERE
id_user = $id_user AND
user_id = $id_user AND
session_rel_course.session_id = $id_session";
$rs = Database::query($sql);
@ -78,36 +80,37 @@ if (isset($_POST['formSent']) && $_POST['formSent']) {
foreach ($CourseList as $enreg_course) {
$exists = false;
foreach($existingCourses as $existingCourse) {
if($enreg_course == $existingCourse['course_code']) {
if ($enreg_course == $existingCourse['id']) {
$exists=true;
}
}
if(!$exists) {
$enreg_course = Database::escape_string($enreg_course);
$sql_delete = "DELETE FROM $tbl_session_rel_course_rel_user
WHERE id_user='".$id_user."' AND course_code='".$enreg_course."' AND session_id=$id_session";
WHERE user_id = '".$id_user."' AND c_id='".$enreg_course."' AND session_id=$id_session";
$result = Database::query($sql_delete);
if (Database::affected_rows($result)) {
//update session rel course table
$sql_update = "UPDATE $tbl_session_rel_course SET nbr_users= nbr_users - 1 WHERE session_id='$id_session' AND course_code='$enreg_course'";
$sql_update = "UPDATE $tbl_session_rel_course SET nbr_users= nbr_users - 1
WHERE session_id='$id_session' AND c_id = '$enreg_course'";
Database::query($sql_update);
}
}
}
foreach($existingCourses as $existingCourse) {
//$sql_insert_rel_course= "INSERT INTO $tbl_session_rel_course(id_session,course_code, id_coach) VALUES('$id_session','$enreg_course','$id_coach')";
if (!in_array($existingCourse['code'], $CourseList)){
$existingCourse = Database::escape_string($existingCourse['code']);
$sql_insert = "INSERT IGNORE INTO $tbl_session_rel_course_rel_user(session_id,course_code,id_user)
VALUES ('$id_session','$existingCourse','$id_user')";
$result = Database::query($sql_insert);
foreach ($existingCourses as $existingCourse) {
if (!in_array($existingCourse['id'], $CourseList)){
$existingCourse = Database::escape_string($existingCourse['id']);
$sql = "INSERT IGNORE INTO $tbl_session_rel_course_rel_user(session_id,c_id,user_id)
VALUES ('$id_session','$existingCourse','$id_user')";
$result = Database::query($sql);
if (Database::affected_rows($result)) {
//update session rel course table
$sql_update = "UPDATE $tbl_session_rel_course SET nbr_users= nbr_users + 1
WHERE session_id='$id_session' AND course_code='$existingCourse'";
Database::query($sql_update);
$sql = "UPDATE $tbl_session_rel_course SET nbr_users= nbr_users + 1
WHERE session_id='$id_session' AND c_id = '$existingCourse'";
Database::query($sql);
}
}
}
header('Location: session_course_user.php?id_session='.$id_session.'&id_user='.$id_user.'&msg='.get_lang('CoursesUpdated'));
@ -128,31 +131,33 @@ echo '<legend>'.$tool_name.': '.$session_info['name'].' - '.$user_info['complete
$nosessionCourses = $sessionCourses = array();
// actual user
$sql = "SELECT code, title, visual_code, srcru.session_id
FROM $tbl_course course inner JOIN $tbl_session_rel_course_rel_user as srcru
$sql = "SELECT course.id, code, title, visual_code, srcru.session_id
FROM $tbl_course course
INNER JOIN $tbl_session_rel_course_rel_user as srcru
ON course.id = srcru.c_id
WHERE srcru.user_id = $id_user AND session_id = $id_session";
//all
$sql_all="SELECT code, title, visual_code, src.session_id
FROM $tbl_course course
INNER JOIN $tbl_session_rel_course as src
ON course.id = src.c_id AND session_id = $id_session";
$sql_all="SELECT course.id, code, title, visual_code, src.session_id
FROM $tbl_course course
INNER JOIN $tbl_session_rel_course as src
ON course.id = src.c_id AND session_id = $id_session";
$result=Database::query($sql);
$Courses=Database::store_result($result);
$result=Database::query($sql_all);
$CoursesAll=Database::store_result($result);
$result = Database::query($sql_all);
$CoursesAll = Database::store_result($result);
$course_temp = array();
foreach($Courses as $course) {
$course_temp[] = $course['code'];
foreach ($Courses as $course) {
$course_temp[] = $course['id'];
}
foreach($CoursesAll as $course) {
if (in_array($course['code'], $course_temp)) {
$nosessionCourses[$course['code']] = $course ;
if (in_array($course['id'], $course_temp)) {
$nosessionCourses[$course['id']] = $course ;
} else {
$sessionCourses[$course['code']] = $course ;
$sessionCourses[$course['id']] = $course ;
}
}
@ -180,7 +185,7 @@ unset($Courses);
<select id="origin" name="NoSessionCoursesList[]" multiple="multiple" size="20" style="width:320px;"> <?php
foreach($nosessionCourses as $enreg) {
?>
<option value="<?php echo $enreg['code']; ?>" <?php echo 'title="'.htmlspecialchars($enreg['title'].' ('.$enreg['visual_code'].')',ENT_QUOTES).'"'; if(in_array($enreg['code'],$CourseList)) echo 'selected="selected"'; ?>><?php echo $enreg['title'].' ('.$enreg['visual_code'].')'; ?></option>
<option value="<?php echo $enreg['id']; ?>" <?php echo 'title="'.htmlspecialchars($enreg['title'].' ('.$enreg['visual_code'].')',ENT_QUOTES).'"'; if(in_array($enreg['code'],$CourseList)) echo 'selected="selected"'; ?>><?php echo $enreg['title'].' ('.$enreg['visual_code'].')'; ?></option>
<?php
}
?> </select></div> <?php
@ -201,17 +206,17 @@ unset($Courses);
echo '<button class="btn btn-primary" type="button" value="" onclick="valide()" >'.get_lang('EditSessionCourses').'</button>';
?>
</td>
<td width="45%" align="center"><select id='destination' name="SessionCoursesList[]" multiple="multiple" size="20" style="width:320px;">
<?php
foreach($sessionCourses as $enreg) {
?>
<option value="<?php echo $enreg['code']; ?>" title="<?php echo htmlspecialchars($enreg['title'].' ('.$enreg['visual_code'].')',ENT_QUOTES); ?>"><?php echo $enreg['title'].' ('.$enreg['visual_code'].')'; ?></option>
<?php
}
unset($sessionCourses);
?>
</select></td>
<td width="45%" align="center">
<select id='destination' name="SessionCoursesList[]" multiple="multiple" size="20" style="width:320px;">
<?php
foreach($sessionCourses as $enreg) {
?>
<option value="<?php echo $enreg['id']; ?>" title="<?php echo htmlspecialchars($enreg['title'].' ('.$enreg['visual_code'].')',ENT_QUOTES); ?>"><?php echo $enreg['title'].' ('.$enreg['visual_code'].')'; ?></option>
<?php
}
unset($sessionCourses);
?>
</select></td>
</tr>
</table>
</form>

@ -58,11 +58,11 @@ switch ($action) {
case 'delete':
if (is_array($idChecked) && count($idChecked)>0) {
array_map('intval', $idChecked);
$idChecked = implode(',',$idChecked);
$idChecked = implode(',', $idChecked);
}
if (!empty($idChecked)) {
$sql = "DELETE FROM $tbl_session_rel_course_rel_user
WHERE session_id='$id_session' AND c_id='".$courseId."' AND id_user IN($idChecked)";
WHERE session_id='$id_session' AND c_id='".$courseId."' AND user_id IN($idChecked)";
$result = Database::query($sql);
$nbr_affected_rows = Database::affected_rows($result);
$sql = "UPDATE $tbl_session_rel_course SET nbr_users=nbr_users-$nbr_affected_rows
@ -84,7 +84,7 @@ $limit = 20;
$from = $page * $limit;
$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
u.user_id,".($is_western_name_order ? 'u.firstname, u.lastname' : 'u.lastname, u.firstname').", u.username, scru.user_id as is_subscribed
FROM $tbl_session_rel_user s
INNER JOIN $tbl_user u ON (u.user_id=s.user_id)
LEFT JOIN $tbl_session_rel_course_rel_user scru

@ -171,7 +171,7 @@ if ($_POST['formSent']) {
$sql = "SELECT u.username
FROM $tbl_session_course_user scu
INNER JOIN $tbl_user u
ON u.user_id = scu.id_user
ON u.user_id = scu.user_id
WHERE
scu.c_id = '{$rowCourses['c_id']}' AND
scu.session_id = '".$row['id']."' AND
@ -199,7 +199,7 @@ if ($_POST['formSent']) {
FROM $tbl_session_course_user scu
INNER JOIN $tbl_session_user su
ON
scu.user_id = su.id_user AND
scu.user_id = su.user_id AND
scu.session_id = su.session_id AND
su.relation_type<>".SESSION_RELATION_TYPE_RRHH."
INNER JOIN $tbl_user u

@ -334,7 +334,7 @@ if (isset($_POST['formSent']) && $_POST['formSent']) {
$coach_id = UserManager::get_user_id_from_username($course_coach);
if ($coach_id !== false) {
$sql = "INSERT IGNORE INTO $tbl_session_course_user SET
id_user='$coach_id',
user_id='$coach_id',
c_id = '$courseId',
session_id = '$session_id',
status = 2 ";
@ -400,7 +400,7 @@ if (isset($_POST['formSent']) && $_POST['formSent']) {
$coach_id = UserManager::get_user_id_from_username($course_coach);
if ($coach_id !== false) {
$sql = "INSERT IGNORE INTO $tbl_session_course_user SET
id_user='$coach_id',
user_id='$coach_id',
c_id = $courseId,
session_id = '$session_id',
status = 2 ";

@ -567,7 +567,7 @@ function ldap_add_user_to_session($UserList, $id_session) {
"(session_id,c_id,user_id) VALUES ".
"('$id_session','$enreg_course','$enreg_user')");
}
$sql = "SELECT COUNT(id_user) as nbUsers ".
$sql = "SELECT COUNT(user_id) as nbUsers ".
" FROM $tbl_session_rel_course_rel_user " .
" WHERE session_id='$id_session' ".
" AND c_id='$enreg_course'";
@ -585,7 +585,7 @@ function ldap_add_user_to_session($UserList, $id_session) {
" 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 ".
$sql = "SELECT COUNT(user_id) as nbUsers FROM $tbl_session_rel_user ".
" WHERE session_id='$id_session' ".
" AND relation_type<>".SESSION_RELATION_TYPE_RRHH." ";
$rs = Database::query($sql);

@ -51,13 +51,14 @@ if (!empty($course)) {
if (empty($session_id)) {
$query = "SELECT DISTINCT t1.user_id,username,firstname,lastname,picture_uri,email,t3.status
FROM $tbl_user t1, $tbl_chat_connected t2, $tbl_course_user t3
WHERE t2.c_id = $course_id AND
t1.user_id=t2.user_id AND
t3.user_id=t2.user_id AND
t3.relation_type<>".COURSE_RELATION_TYPE_RRHH." AND
t3.c_id = '".$courseInfo['id']."' AND
t2.last_connection>'".$date_inter."' $extra_condition
ORDER BY username";
WHERE
t2.c_id = $course_id AND
t1.user_id=t2.user_id AND
t3.user_id=t2.user_id AND
t3.relation_type<>".COURSE_RELATION_TYPE_RRHH." AND
t3.c_id = '".$courseInfo['id']."' AND
t2.last_connection>'".$date_inter."' $extra_condition
ORDER BY username";
$result = Database::query($query);
$users = Database::store_result($result);
} else {
@ -66,9 +67,11 @@ if (!empty($course)) {
FROM $tbl_user t1, $tbl_chat_connected t2, $tbl_session_course_user t3
WHERE
t2.c_id = $course_id AND
t1.user_id=t2.user_id AND t3.id_user=t2.user_id AND
t1.user_id=t2.user_id AND t3.user_id=t2.user_id AND
t3.session_id = '".$session_id."' AND
t3.course_code = '".$_course['sysCode']."' AND t2.last_connection>'".$date_inter."' $extra_condition ORDER BY username";
t3.c_id = '".$_course['real_id']."' AND
t2.last_connection>'".$date_inter."' $extra_condition
ORDER BY username";
$result = Database::query($query);
while ($learner = Database::fetch_array($result)) {
$users[$learner['user_id']] = $learner;
@ -77,8 +80,14 @@ if (!empty($course)) {
// select session coach
$query = "SELECT DISTINCT t1.user_id,username,firstname,lastname,picture_uri,email
FROM $tbl_user t1,$tbl_chat_connected t2,$tbl_session t3
WHERE t2.c_id = $course_id AND
t1.user_id=t2.user_id AND t3.id_coach=t2.user_id AND t3.id = '".$session_id."' AND t2.last_connection>'".$date_inter."' $extra_condition ORDER BY username";
WHERE
t2.c_id = $course_id AND
t1.user_id=t2.user_id AND
t3.id_coach=t2.user_id AND
t3.id = '".$session_id."' AND
t2.last_connection > '".$date_inter."'
$extra_condition
ORDER BY username";
$result = Database::query($query);
if ($coach = Database::fetch_array($result)) {
$users[$coach['user_id']] = $coach;
@ -90,7 +99,7 @@ if (!empty($course)) {
WHERE
t2.c_id = $course_id AND
t1.user_id=t2.user_id
AND t3.id_user=t2.user_id AND t3.status=2
AND t3.user_id =t2.user_id AND t3.status=2
AND t3.session_id = '".$session_id."'
AND t3.c_id = '".$course_id."'
AND t2.last_connection>'".$date_inter."' $extra_condition

@ -47,11 +47,11 @@ $usersToBeReminded = array();
foreach ($sessions as $sessionId => $userIds) {
$userId = 0;
$userIds = $userIds ? " AND id_user NOT IN (".implode(",", $userIds).")" : null;
$userIds = $userIds ? " AND sessionUser.user_id NOT IN (".implode(",", $userIds).")" : null;
$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.session_id = session.id
INNER JOIN ".Database::get_main_table(TABLE_MAIN_SESSION)." AS session
ON sessionUser.session_id = session.id
WHERE session_id = $sessionId$userIds";
$result = Database::query($query);
while ($row = Database::fetch_array($result)) {

@ -4,7 +4,7 @@
* Exercise reminder overview
* Then it shows the results on the screen.
* @package chamilo.exercise
* @author Julio Montoya Armas switchable fill in blank option added
* @author Julio Montoya switchable fill in blank option added
*/
require_once '../inc/global.inc.php';

@ -10,7 +10,7 @@
* @package chamilo.exercise
* @author Olivier Brouckaert, main author
* @author Roan Embrechts, some refactoring
* @author Julio Montoya Armas switchable fill in blank option added
* @author Julio Montoya switchable fill in blank option added
*
* @todo split more code up in functions, move functions to library?
*/

@ -4,7 +4,7 @@
/**
* Shows the exercise results
*
* @author Julio Montoya Armas Added switchable fill in blank option added
* @author Julio Montoya - Added switchable fill in blank option added
* @version $Id: exercise_show.php 22256 2009-07-20 17:40:20Z ivantcholakov $
* @package chamilo.exercise
* @todo remove the debug code and use the general debug library
@ -56,7 +56,7 @@ if (empty($id)) {
if (api_is_course_session_coach(
api_get_user_id(),
api_get_course_id(),
api_get_course_int_id(),
api_get_session_id()
)) {
if (!api_coach_can_edit_view_results(api_get_course_int_id(), api_get_session_id())) {

@ -3,7 +3,7 @@
/**
* Shows the exercise results
*
* @author Julio Montoya Armas - Simple exercise result page
* @author Julio Montoya - Simple exercise result page
*
*/
require_once '../inc/global.inc.php';

@ -1974,13 +1974,13 @@ function get_thread_users_qualify($thread_id)
FROM $t_posts post , $t_users user, $t_session_rel_user session_rel_user_rel_course, $t_qualify qualify
WHERE poster_id = user.user_id
AND post.poster_id = qualify.user_id
AND user.user_id = session_rel_user_rel_course.id_user
AND user.user_id = session_rel_user_rel_course.user_id
AND session_rel_user_rel_course.status<>'2'
AND session_rel_user_rel_course.id_user NOT IN ($user_to_avoid)
AND session_rel_user_rel_course.user_id NOT IN ($user_to_avoid)
AND qualify.thread_id = '".Database::escape_string($thread_id)."'
AND post.thread_id = '".Database::escape_string($thread_id)."'
AND session_id = '".api_get_session_id()."'
AND course_code = '".$course_code."' AND
AND session_rel_user_rel_course.c_id = '".$course_id."' AND
qualify.c_id = $course_id AND
post.c_id = $course_id
$orderby ";
@ -2054,12 +2054,12 @@ function get_thread_users_not_qualify($thread_id)
FROM $t_posts post , $t_users user, $t_session_rel_user session_rel_user_rel_course
WHERE poster_id = user.user_id
AND user.user_id NOT IN (".$cad.")
AND user.user_id = session_rel_user_rel_course.id_user
AND user.user_id = session_rel_user_rel_course.user_id
AND session_rel_user_rel_course.status<>'2'
AND session_rel_user_rel_course.id_user NOT IN ($user_to_avoid)
AND session_rel_user_rel_course.user_id NOT IN ($user_to_avoid)
AND post.thread_id = '".Database::escape_string($thread_id)."'
AND session_id = '".api_get_session_id()."'
AND course_code = '".$course_code."' AND post.c_id = $course_id $orderby ";
AND session_rel_user_rel_course.c_id = '".$course_id."' AND post.c_id = $course_id $orderby ";
} else {
$sql = "SELECT DISTINCT user.user_id, user.lastname, user.firstname, post.thread_id
FROM $t_posts post, $t_users user,$t_course_user course_user

@ -960,7 +960,7 @@ class GradebookUtils
$sql = "SELECT user.user_id, user.username, lastname, firstname, official_code
FROM $tbl_session_course_user as scru, $tbl_user as user
WHERE
scru.id_user=user.user_id AND
scru.user_id = user.user_id AND
scru.status=0 AND
scru.c_id='$courseId' AND
session_id ='$current_session'

@ -98,12 +98,12 @@ class Result
$sql_course_rel_user = '';
if ($sessionId) {
$sql = 'SELECT c_id, id_user as user_id, status
$sql = 'SELECT c_id, user_id as user_id, status
FROM ' . $tbl_session_rel_course_user . '
WHERE
status=0 AND
c_id="' . api_get_course_int_id() . '" AND
session_id=' . $sessionId;
status= 0 AND
c_id = "' . api_get_course_int_id() . '" AND
session_id = ' . $sessionId;
} else {
$sql = 'SELECT c_id, user_id, status
FROM ' . $tbl_course_rel_course . '

@ -2388,7 +2388,7 @@ function api_get_coachs_from_course($session_id = 0, $courseId = '')
u.username
FROM $tbl_user u, $tbl_session_course_user scu
WHERE
u.user_id = scu.id_user AND
u.user_id = scu.user_id AND
scu.session_id = '$session_id' AND
scu.c_id = '$courseId' AND
scu.status = 2";
@ -2694,29 +2694,30 @@ function api_get_user_platform_status($user_id = null) {
/**
* @param int $user_id
* @param string $course_code
* @param int $courseId
* @param int $session_id
* @return bool
*/
function api_is_course_session_coach($user_id, $course_code, $session_id)
function api_is_course_session_coach($user_id, $courseId, $session_id)
{
$session_table = Database::get_main_table(TABLE_MAIN_SESSION);
$session_table = Database::get_main_table(TABLE_MAIN_SESSION);
$session_rel_course_rel_user_table = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
$user_id = intval($user_id);
$session_id = intval($session_id);
$course_code = Database::escape_string($course_code);
$courseId = intval($courseId);
$sql = "SELECT DISTINCT id
FROM $session_table
INNER JOIN $session_rel_course_rel_user_table session_rc_ru
ON session.id = session_rc_ru.session_id
WHERE
session_rc_ru.id_user = '".$user_id."' AND
session_rc_ru.course_code = '$course_code' AND
session_rc_ru.user_id = '".$user_id."' AND
session_rc_ru.c_id = '$courseId' AND
session_rc_ru.status = 2 AND
session_rc_ru.session_id = '$session_id'";
$result = Database::query($sql);
return Database::num_rows($result) > 0;
}
@ -2756,7 +2757,7 @@ function api_is_coach($session_id = 0, $courseId = null, $check_student_view = t
$sql = "SELECT DISTINCT s.id, name, date_start, date_end
FROM $session_table s
INNER JOIN $session_rel_course_rel_user_table session_rc_ru
ON session_rc_ru.session_id = s.id AND session_rc_ru.id_user = '".$userId."'
ON session_rc_ru.session_id = s.id AND session_rc_ru.user_id = '".$userId."'
WHERE
session_rc_ru.c_id = '$courseId' AND
session_rc_ru.status = 2 AND
@ -5410,10 +5411,8 @@ function api_is_course_visible_for_user($userid = null, $cid = null) {
tutor_id, status, role
FROM $tbl_course_user
WHERE
user_id = '$userid'
AND
relation_type <> '".COURSE_RELATION_TYPE_RRHH."'
AND
user_id = '$userid' AND
relation_type <> '".COURSE_RELATION_TYPE_RRHH."' AND
c_id = $courseId
LIMIT 1";
@ -5424,10 +5423,11 @@ function api_is_course_visible_for_user($userid = null, $cid = null) {
$cuData = Database::fetch_array($result);
$_courseUser['role'] = $cuData['role'];
$is_courseMember = true;
$is_courseTutor = ($cuData['tutor_id' ] == 1);
$is_courseAdmin = ($cuData['status'] == 1);
$is_courseMember = true;
$is_courseTutor = ($cuData['tutor_id'] == 1);
$is_courseAdmin = ($cuData['status'] == 1);
}
if (!$is_courseAdmin) {
// This user has no status related to this course.
// Is it the session coach or the session admin?
@ -5441,7 +5441,7 @@ function api_is_course_visible_for_user($userid = null, $cid = null) {
$tbl_session as session
INNER JOIN $tbl_session_course
ON session_rel_course.session_id = session.id
AND session_rel_course.course_code = '$cid'
AND session_rel_course.c_id = '$courseId'
LIMIT 1";
$result = Database::query($sql);
@ -5467,7 +5467,7 @@ function api_is_course_visible_for_user($userid = null, $cid = null) {
// Check if the current user is the course coach.
$sql = "SELECT 1
FROM $tbl_session_course
WHERE session_rel_course.course_code = '$cid'
WHERE session_rel_course.c_id = '$courseId'
AND session_rel_course.id_coach = '$userid'
LIMIT 1";
@ -5484,7 +5484,8 @@ function api_is_course_visible_for_user($userid = null, $cid = null) {
$tbl_user = Database :: get_main_table(TABLE_MAIN_USER);
$sql = "SELECT status FROM $tbl_user
WHERE user_id = $userid LIMIT 1";
WHERE user_id = $userid
LIMIT 1";
$result = Database::query($sql);
@ -5496,18 +5497,19 @@ function api_is_course_visible_for_user($userid = null, $cid = null) {
} else {
// Check if the user is a student is this session.
$sql = "SELECT id
FROM $tbl_session_course_user
WHERE id_user = '$userid'
AND course_code = '$cid'
FROM $tbl_session_course_user
WHERE
user_id = '$userid' AND
c_id = '$courseId'
LIMIT 1";
if (Database::num_rows($result) > 0) {
// This user haa got a recorded state for this course.
while ($row = Database::fetch_array($result)) {
$is_courseMember = true;
$is_courseTutor = false;
$is_courseAdmin = false;
$is_sessionAdmin = false;
$is_courseMember = true;
$is_courseTutor = false;
$is_courseAdmin = false;
$is_sessionAdmin = false;
}
}
}
@ -5525,6 +5527,7 @@ function api_is_course_visible_for_user($userid = null, $cid = null) {
case COURSE_VISIBILITY_HIDDEN:
return $is_platformAdmin;
}
return false;
}

@ -445,15 +445,16 @@ class CourseManager
// Delete in table session_rel_course_rel_user
$sql = "DELETE FROM " . Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER) . "
WHERE session_id ='" . $session_id . "' AND
c_id = '" . $course_id . "' AND
id_user IN ($user_ids)";
WHERE
session_id ='" . $session_id . "' AND
c_id = '" . $course_id . "' AND
user_id IN ($user_ids)";
Database::query($sql);
foreach ($user_list as $uid) {
// check if a user is register in the session with other course
$sql = "SELECT id_user FROM " . Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER) . "
WHERE session_id='$session_id' AND id_user='$uid'";
$sql = "SELECT user_id FROM " . Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER) . "
WHERE session_id='$session_id' AND user_id='$uid'";
$rs = Database::query($sql);
if (Database::num_rows($rs) == 0) {
@ -461,7 +462,7 @@ class CourseManager
$sql = "DELETE FROM " . Database::get_main_table(TABLE_MAIN_SESSION_USER) . "
WHERE
session_id ='" . $session_id . "' AND
user_id ='$uid' AND
user_id = '$uid' AND
relation_type<>" . SESSION_RELATION_TYPE_RRHH . "";
Database::query($sql);
}
@ -1074,19 +1075,19 @@ class CourseManager
$tableSessionCourseUser = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
$sql = 'SELECT 1 FROM ' . $tableSessionCourseUser .
' WHERE id_user = ' . $user_id . ' ' . $condition_course;
' WHERE user_id = ' . $user_id . ' ' . $condition_course;
if (Database::num_rows(Database::query($sql)) > 0) {
return true;
}
$sql = 'SELECT 1 FROM ' . $tableSessionCourseUser .
' WHERE id_user = ' . $user_id . ' AND status=2 ' . $condition_course;
' WHERE user_id = ' . $user_id . ' AND status=2 ' . $condition_course;
if (Database::num_rows(Database::query($sql)) > 0) {
return true;
}
$sql = 'SELECT 1 FROM ' . Database::get_main_table(TABLE_MAIN_SESSION) .
' WHERE id=' . $session_id . ' AND id_coach=' . $user_id;
' WHERE id = ' . $session_id . ' AND id_coach=' . $user_id;
if (Database::num_rows(Database::query($sql)) > 0) {
return true;
@ -1160,29 +1161,29 @@ class CourseManager
// Is he/she subscribed to the session's course?
// A user?
if (Database::num_rows(Database::query("SELECT id_user
FROM " . Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER) . "
WHERE session_id='" . $session_id . "'
AND id_user='$user_id'"))
if (Database::num_rows(Database::query("SELECT user_id
FROM " . Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER) . "
WHERE session_id='" . $session_id . "'
AND user_id ='$user_id'"))
) {
return true;
}
// A course coach?
if (Database::num_rows(Database::query("SELECT id_user
FROM " . Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER) . "
WHERE session_id='" . $session_id . "'
AND id_user = '$user_id' AND status = 2
AND course_code='$course_code'"))
if (Database::num_rows(Database::query("SELECT user_id
FROM " . Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER) . "
WHERE session_id='" . $session_id . "'
AND user_id = '$user_id' AND status = 2
AND course_code='$course_code'"))
) {
return true;
}
// A session coach?
if (Database::num_rows(Database::query("SELECT id_coach
FROM " . Database::get_main_table(TABLE_MAIN_SESSION) . " AS session
WHERE session.id='" . $session_id . "'
AND id_coach='$user_id'"))
FROM " . Database::get_main_table(TABLE_MAIN_SESSION) . " AS session
WHERE session.id='" . $session_id . "'
AND id_coach='$user_id'"))
) {
return true;
}
@ -1285,7 +1286,7 @@ class CourseManager
$sql .= ' FROM ' . Database::get_main_table(TABLE_MAIN_USER) . ' as user ';
$sql .= " LEFT JOIN ".Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER) . " as session_course_user
ON
user.user_id = session_course_user.id_user AND
user.user_id = session_course_user.user_id AND
$courseCondition
$sessionCondition
INNER JOIN $course_table course ON session_course_user.c_id = course.id
@ -1621,7 +1622,7 @@ class CourseManager
$where = array();
if (!empty($session_id)) {
$sql .= ' LEFT JOIN ' . Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER) . ' as session_course_user
ON user.user_id = session_course_user.id_user
ON user.user_id = session_course_user.user_id
AND session_course_user.c_id = "' . $courseId . '"
AND session_course_user.session_id = ' . $session_id;
@ -1676,11 +1677,11 @@ class CourseManager
$users = array();
// We get the coach for the given course in a given session.
$sql = 'SELECT id_user FROM ' . Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER) .
$sql = 'SELECT user_id FROM ' . Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER) .
' WHERE session_id ="' . $session_id . '" AND c_id="' . $courseId . '" AND status = 2';
$rs = Database::query($sql);
while ($user = Database::fetch_array($rs)) {
$user_info = api_get_user_info($user['id_user']);
$user_info = api_get_user_info($user['user_id']);
$user_info['status'] = $user['status'];
$user_info['role'] = $user['role'];
$user_info['tutor_id'] = $user['tutor_id'];
@ -1761,7 +1762,7 @@ class CourseManager
$sql_query = "SELECT * FROM " . Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER) . " scu
$joinSession
INNER JOIN $userTable u ON scu.id_user = u.user_id
INNER JOIN $userTable u ON scu.user_id = u.user_id
WHERE scu.c_id = '$courseId' AND scu.status <> 2";
if (!empty($date_from) && !empty($date_to)) {
@ -1887,7 +1888,7 @@ class CourseManager
$sql = "SELECT DISTINCT u.user_id,u.lastname,u.firstname,u.username
FROM $tbl_user u, $tbl_session_course_user scu
WHERE
u.user_id = scu.id_user AND
u.user_id = scu.user_id AND
scu.session_id = '$session_id' AND
scu.c_id = '$courseId' AND
scu.status = 2";
@ -2610,7 +2611,7 @@ class CourseManager
if ($include_sessions === true) {
$sql = "SELECT DISTINCT(c.code), c.id as real_id
FROM " . Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER) . " s, " . Database::get_main_table(TABLE_MAIN_COURSE) . " c
WHERE id_user = $user_id AND s.c_id = c.id";
WHERE user_id = $user_id AND s.c_id = c.id";
$r = Database::query($sql);
while ($row = Database::fetch_array($r, 'ASSOC')) {
if (!in_array($row['real_id'], $codes)) {
@ -2697,7 +2698,7 @@ class CourseManager
$courseId = intval($courseId);
$session_id = intval($session_id);
$sql = "SELECT id_user
$sql = "SELECT user_id
FROM $tbl_session_course_user
WHERE
session_id = '$session_id' AND
@ -2710,7 +2711,7 @@ class CourseManager
$user_ids = array();
while ($row = Database::fetch_array($rs)) {
$user_ids[] = $row['id_user'];
$user_ids[] = $row['user_id'];
}
$sql = "SELECT firstname, lastname, email FROM $tbl_user
@ -4378,7 +4379,7 @@ class CourseManager
} else {
$table = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
$sql = "SELECT legal_agreement FROM $table
WHERE id_user = $user_id AND c_id ='$courseId' AND id_session = $session_id";
WHERE user_id = $user_id AND c_id ='$courseId' AND session_id = $session_id";
$result = Database::query($sql);
if (Database::num_rows($result) > 0) {
$result = Database::fetch_array($result);
@ -4423,7 +4424,7 @@ class CourseManager
} else {
$table = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
$sql = "UPDATE $table SET legal_agreement = '1'
WHERE id_user = $user_id AND c_id = '$courseId' AND id_session = $session_id";
WHERE user_id = $user_id AND c_id = '$courseId' AND session_id = $session_id";
Database::query($sql);
}
}
@ -5664,7 +5665,7 @@ class CourseManager
public static function getCoursesWithoutSession($startDate = null, $endDate = null, $includeClosed = false)
{
$dateConditional = ($startDate && $endDate) ?
" WHERE id_session IN (SELECT id FROM " . Database::get_main_table(TABLE_MAIN_SESSION) .
" WHERE session_id IN (SELECT id FROM " . Database::get_main_table(TABLE_MAIN_SESSION) .
" WHERE date_start = '$startDate' AND date_end = '$endDate')" :
null;
$visibility = ($includeClosed ? '' : 'visibility NOT IN (0, 4) AND ');

@ -1511,7 +1511,7 @@ class DocumentManager
//note the extra / at the end of doc_path to match every path in the document table that is part of the document path
$session_id = intval($session_id);
$condition = "AND id_session IN ('$session_id', '0') ";
$condition = "AND session_id IN ('$session_id', '0') ";
// The " d.filetype='file' " let the user see a file even if the folder is hidden see #2198
/*
@ -3229,7 +3229,7 @@ class DocumentManager
$tbl_doc = Database::get_course_table(TABLE_DOCUMENT);
$tbl_item_prop = Database::get_course_table(TABLE_ITEM_PROPERTY);
$condition_session = " AND (id_session = '$session_id' OR id_session = '0' )";
$condition_session = " AND (session_id = '$session_id' OR id_session = '0' )";
$add_folder_filter = null;
if (!empty($filter_by_folder)) {

@ -2795,7 +2795,7 @@ class ExerciseLib
} else {
$courseCondition = "
INNER JOIN $courseUserSession cu
ON cu.c_id = c.id AND cu.id_user = exe_user_id";
ON cu.c_id = c.id AND cu.user_id = exe_user_id";
$courseConditionWhere = " AND cu.status = 0 ";
}
@ -2870,7 +2870,7 @@ class ExerciseLib
} else {
$courseCondition = "
INNER JOIN $courseUserSession cu
ON cu.c_id = c.id AND cu.id_user = exe_user_id";
ON cu.c_id = c.id AND cu.user_id = exe_user_id";
$courseConditionWhere = " AND cu.status = 0 ";
}
@ -2959,7 +2959,7 @@ class ExerciseLib
} else {
$courseCondition = "
INNER JOIN $courseUserSession cu
ON cu.course_code = a.course_code AND cu.id_user = exe_user_id";
ON cu.c_id = a.c_id AND cu.user_id = exe_user_id";
$courseConditionWhere = " AND cu.status = 0 ";
}

@ -558,13 +558,14 @@ class Login
$tbl_session_course_user = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
//Session coach, session admin, course coach admin
$sql = "SELECT session.id_coach, session_admin_id, session_rcru.id_user
FROM $tbl_session session, $tbl_session_course_user session_rcru
WHERE session_rcru.session_id = session.id AND
session_rcru.course_code = '$_cid' AND
session_rcru.id_user = '$user_id' AND
session_rcru.session_id = $session_id AND
session_rcru.status = 2";
$sql = "SELECT session.id_coach, session_admin_id, session_rcru.user_id
FROM $tbl_session session, $tbl_session_course_user session_rcru
WHERE
session_rcru.session_id = session.id AND
session_rcru.course_code = '$_cid' AND
session_rcru.user_id = '$user_id' AND
session_rcru.session_id = $session_id AND
session_rcru.status = 2";
$result = Database::query($sql);
$row = Database::store_result($result);
@ -579,16 +580,17 @@ class Login
$is_sessionAdmin = true;
} else {
//Im a coach or a student?
$sql = "SELECT id_user, status FROM " . $tbl_session_course_user . "
WHERE course_code = '$_cid' AND
id_user = '" . $user_id . "' AND
id_session = '" . $session_id . "'
LIMIT 1";
$sql = "SELECT user_id, status
FROM " . $tbl_session_course_user . "
WHERE
c_id = '$_cid' AND
user_id = '" . $user_id . "' AND
session_id = '" . $session_id . "'
LIMIT 1";
$result = Database::query($sql);
if (Database::num_rows($result)) {
$row = Database::fetch_array($result, 'ASSOC');
$session_course_status = $row['status'];
switch ($session_course_status) {

@ -348,19 +348,38 @@ class MySpace
$tbl_session_course_user = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
$tbl_sessions = Database::get_main_table(TABLE_MAIN_SESSION);
$sqlCoachs = "SELECT DISTINCT scu.id_user as id_coach, user_id, lastname, firstname, MAX(login_date) as login_date
FROM $tbl_user, $tbl_session_course_user scu, $tbl_track_login
WHERE scu.id_user=user_id AND scu.status=2 AND login_user_id=user_id
GROUP BY user_id ";
$sqlCoachs = "SELECT DISTINCT
scu.user_id as id_coach,
u.id as user_id,
lastname,
firstname,
MAX(login_date) as login_date
FROM $tbl_user u, $tbl_session_course_user scu, $tbl_track_login
WHERE
scu.user_id = u.id AND scu.status=2 AND login_user_id=u.id
GROUP BY user_id ";
if (api_is_multiple_url_enabled()) {
$tbl_session_rel_access_url = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_SESSION);
$access_url_id = api_get_current_access_url_id();
if ($access_url_id != -1) {
$sqlCoachs = "SELECT DISTINCT scu.id_user as id_coach, user_id, lastname, firstname, MAX(login_date) as login_date
FROM $tbl_user, $tbl_session_course_user scu, $tbl_track_login , $tbl_session_rel_access_url session_rel_url
WHERE scu.id_user=user_id AND scu.status=2 AND login_user_id=user_id AND access_url_id = $access_url_id AND session_rel_url.session_id=id_session
GROUP BY user_id ";
$sqlCoachs = "SELECT DISTINCT
scu.user_id as id_coach,
u.id as user_id,
lastname,
firstname,
MAX(login_date) as login_date
FROM $tbl_user u,
$tbl_session_course_user scu,
$tbl_track_login ,
$tbl_session_rel_access_url session_rel_url
WHERE
scu.user_id = u.id AND
scu.status = 2 AND
login_user_id = u.id AND
access_url_id = $access_url_id AND
session_rel_url.session_id = scu.session_id
GROUP BY u.id";
}
}
if (!empty($order[$tracking_column])) {
@ -374,20 +393,24 @@ class MySpace
$global_coaches[$coach['user_id']] = $coach;
}
$sql_session_coach = 'SELECT session.id_coach, user_id, lastname, firstname, MAX(login_date) as login_date
FROM '.$tbl_user.','.$tbl_sessions.' as session,'.$tbl_track_login.'
WHERE id_coach=user_id AND login_user_id=user_id
GROUP BY user_id
ORDER BY login_date '.$tracking_direction;
$sql_session_coach = 'SELECT session.id_coach, u.id as user_id, lastname, firstname, MAX(login_date) as login_date
FROM '.$tbl_user.' u ,'.$tbl_sessions.' as session,'.$tbl_track_login.'
WHERE id_coach = u.id AND login_user_id = u.id
GROUP BY u.id
ORDER BY login_date '.$tracking_direction;
if (api_is_multiple_url_enabled()) {
$tbl_session_rel_access_url = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_SESSION);
$access_url_id = api_get_current_access_url_id();
if ($access_url_id != -1) {
$sql_session_coach = 'SELECT session.id_coach, user_id, lastname, firstname, MAX(login_date) as login_date
FROM '.$tbl_user.','.$tbl_sessions.' as session,'.$tbl_track_login.' , '.$tbl_session_rel_access_url.' as session_rel_url
WHERE id_coach=user_id AND login_user_id=user_id AND access_url_id = '.$access_url_id.' AND session_rel_url.session_id=session.id
GROUP BY user_id
$sql_session_coach = 'SELECT session.id_coach, u.id as user_id, lastname, firstname, MAX(login_date) as login_date
FROM '.$tbl_user.' u ,'.$tbl_sessions.' as session, '.$tbl_track_login.' , '.$tbl_session_rel_access_url.' as session_rel_url
WHERE
id_coach = u.id AND
login_user_id = u.id AND
access_url_id = '.$access_url_id.' AND
session_rel_url.session_id = session.id
GROUP BY u.id
ORDER BY login_date '.$tracking_direction;
}
}
@ -1601,11 +1624,11 @@ class MySpace
// course code
$return .= ' <td width="157px" >'.$row->title.'</td>';
// get the users in the course
$sql = "SELECT user_id
$sql = "SELECT u.user_id
FROM $tbl_user AS u
INNER JOIN $tbl_session_rel_course_rel_user AS scu
ON u.user_id = scu.id_user
WHERE scu.session_id = '".$session_id."' AND scu.course_code = '".$courseCode."';";
ON u.user_id = scu.user_id
WHERE scu.session_id = '".$session_id."' AND scu.c_id = '".$courseId."'";
$result_users = Database::query($sql);
$time_spent = 0;
$progress = 0;
@ -1760,10 +1783,11 @@ class MySpace
$csv_row[] = $session_title;
$csv_row[] = $row->title;
// get the users in the course
$sql = "SELECT user_id FROM $tbl_user AS u
$sql = "SELECT scu.user_id
FROM $tbl_user AS u
INNER JOIN $tbl_session_rel_course_rel_user AS scu
ON u.user_id = scu.id_user
WHERE scu.session_id = '".$session_id."' AND scu.course_code = '".$row->code."';";
ON u.user_id = scu.user_id
WHERE scu.session_id = '".$session_id."' AND scu.c_id = '".$courseId."'";
$result_users = Database::query($sql);
$time_spent = 0;
$progress = 0;
@ -1783,14 +1807,28 @@ class MySpace
$progress += $progress_tmp[0];
$nb_progress_lp += $progress_tmp[1];
$score_tmp = Tracking :: get_avg_student_score($row_user->user_id, $row->code, array(), $session_id, true);
if(is_array($score_tmp)) {
if (is_array($score_tmp)) {
$score += $score_tmp[0];
$nb_score_lp += $score_tmp[1];
}
$nb_messages += Tracking::count_student_messages($row_user->user_id, $row->code, $session_id);
$nb_assignments += Tracking::count_student_assignments($row_user->user_id, $row->code, $session_id);
$nb_messages += Tracking::count_student_messages(
$row_user->user_id,
$row->code,
$session_id
);
$nb_assignments += Tracking::count_student_assignments(
$row_user->user_id,
$row->code,
$session_id
);
$last_login_date_tmp = Tracking :: get_last_connection_date_on_the_course ($row_user->user_id, $courseId, $session_id, false);
$last_login_date_tmp = Tracking:: get_last_connection_date_on_the_course(
$row_user->user_id,
$courseId,
$session_id,
false
);
if($last_login_date_tmp != false && $last_login_date == false) { // TODO: To be cleaned.
$last_login_date = $last_login_date_tmp;
} else if($last_login_date_tmp != false && $last_login_date == false) { // TODO: Repeated previous condition. To be cleaned.
@ -2081,13 +2119,13 @@ class MySpace
FROM $tbl_course_user as course_rel_user
WHERE
course_rel_user.status='5' AND
course_rel_user.c_id='$courseId'";
course_rel_user.c_id = '$courseId'";
} else {
$sql = "SELECT id_user as user_id FROM $tbl_session_course_user srcu
$sql = "SELECT user_id FROM $tbl_session_course_user srcu
WHERE
srcu.course_code='$course_code' AND
id_session = '$session_id' AND
srcu.status<>2";
c_id = '$courseId' AND
session_id = '$session_id' AND
status<>2";
}
$rs = Database::query($sql);
$users = array();
@ -2290,10 +2328,10 @@ class MySpace
/**
* Checks whether a username has been already subscribed in a session.
* @param string a given username
* @param array the array with the course list codes
* @param array the array with the course list id
* @param the session id
* @return 0 if the user is not subscribed otherwise it returns the user_id of the given username
* @author Julio Montoya Armas
* @author Julio Montoya
*/
public static function user_available_in_session($username, $course_list, $id_session)
{
@ -2301,15 +2339,17 @@ class MySpace
$tbl_session_rel_course_rel_user = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
$id_session = intval($id_session);
$username = Database::escape_string($username);
foreach($course_list as $enreg_course) {
$sql_select = " SELECT u.user_id FROM $tbl_session_rel_course_rel_user rel INNER JOIN $table_user u
ON (rel.id_user=u.user_id)
WHERE
rel.session_id='$id_session' AND
u.status='5' AND
u.username ='$username' AND
rel.course_code='$enreg_course'";
$rs = Database::query($sql_select);
foreach ($course_list as $courseId) {
$courseId = intval($courseId);
$sql = " SELECT u.user_id FROM $tbl_session_rel_course_rel_user rel
INNER JOIN $table_user u
ON (rel.user_id = u.user_id)
WHERE
rel.session_id='$id_session' AND
u.status='5' AND
u.username ='$username' AND
rel.c_id='$courseId'";
$rs = Database::query($sql);
if (Database::num_rows($rs) > 0) {
return Database::result($rs, 0, 0);
} else {
@ -2319,14 +2359,19 @@ class MySpace
}
/**
This function checks whether some users in the uploaded file repeated and creates unique usernames if necesary.
A case: Within the file there is an user repeted twice (Julio Montoya / Julio Montoya) and the username fields are empty.
Then, this function would create unique usernames based on the first and the last name. Two users wiould be created - jmontoya and jmontoya2.
Of course, if in the database there is a user with the name jmontoya, the newly created two users registered would be jmontoya2 and jmontoya3.
@param $users list of users
@author Julio Montoya Armas
* This function checks whether some users in the uploaded file
* repeated and creates unique usernames if necesary.
* A case: Within the file there is an user repeted twice (Julio Montoya / Julio Montoya)
* and the username fields are empty.
* Then, this function would create unique usernames based on the first and the last name.
* Two users wiould be created - jmontoya and jmontoya2.
* Of course, if in the database there is a user with the name jmontoya,
* the newly created two users registered would be jmontoya2 and jmontoya3.
* @param $users list of users
* @author Julio Montoya Armas
*/
function check_all_usernames($users, $course_list, $id_session) {
function check_all_usernames($users, $course_list, $id_session)
{
$table_user = Database::get_main_table(TABLE_MAIN_USER);
$usernames = array();
$new_users = array();
@ -2365,20 +2410,21 @@ class MySpace
}
/**
* This functions checks whether there are users that are already registered in the DB by different creator than the current coach.
* This functions checks whether there are users that are already
* registered in the DB by different creator than the current coach.
* @param string a given username
* @param array the array with the course list codes
* @param array the array with the course list ids
* @param the session id
* @author Julio Montoya Armas
*/
function get_user_creator($users, $course_list, $id_session) {
public function get_user_creator($users)
{
$errors = array();
foreach ($users as $index => $user) {
// database table definition
$table_user = Database::get_main_table(TABLE_MAIN_USER);
$tbl_session_rel_course_rel_user = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
$username = Database::escape_string($user['UserName']);
//echo "<br>";
$sql = "SELECT creator_id FROM $table_user WHERE username='$username' ";
$rs = Database::query($sql);
@ -2391,6 +2437,7 @@ class MySpace
}
}
}
return $errors;
}
@ -2449,10 +2496,10 @@ class MySpace
*/
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);
$tbl_session_rel_user = Database::get_main_table(TABLE_MAIN_SESSION_USER);
$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);
$tbl_session_rel_user = Database::get_main_table(TABLE_MAIN_SESSION_USER);
$id_session = intval($id_session);
$sendMail = $_POST['sendMail'] ? 1 : 0;
@ -2464,7 +2511,18 @@ class MySpace
// coach only will registered users
$default_status = '5';
if ($user['create'] == '1') {
$user['id'] = UserManager :: create_user($user['FirstName'], $user['LastName'], $default_status, $user['Email'], $user['UserName'], $user['Password'], $user['OfficialCode'], api_get_setting('PlatformLanguage'), $user['PhoneNumber'], '');
$user['id'] = UserManager:: create_user(
$user['FirstName'],
$user['LastName'],
$default_status,
$user['Email'],
$user['UserName'],
$user['Password'],
$user['OfficialCode'],
api_get_setting('PlatformLanguage'),
$user['PhoneNumber'],
''
);
$user['added_at_platform'] = 1;
} else {
$user['id'] = $user['create'];
@ -2483,7 +2541,8 @@ 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(session_id, c_id, user_id) 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);
@ -2495,10 +2554,12 @@ 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 session_id='$id_session' AND c_id='$enreg_course'";
$sql_select = "SELECT COUNT(user_id) 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 session_id='$id_session' AND c_id='$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'";

@ -279,7 +279,7 @@ class SessionManager
) {
$where .= " AND (
s.session_admin_id = $user_id OR
sru.id_user = '$user_id' AND
sru.user_id = '$user_id' AND
sru.relation_type = '" . SESSION_RELATION_TYPE_RRHH . "'
)
";
@ -395,7 +395,7 @@ class SessionManager
) {
$where .= " AND (
s.session_admin_id = $user_id OR
sru.id_user = '$user_id' AND
sru.user_id = '$user_id' AND
sru.relation_type = '" . SESSION_RELATION_TYPE_RRHH . "'
)
";
@ -600,7 +600,7 @@ class SessionManager
$users = CourseManager :: get_student_list_from_course_code($course_code, true, $sessionId);
} */
$sessionCond = 'and id_session = %s';
$sessionCond = 'and session_id = %s';
if ($sessionId == 'T') {
$sessionCond = "";
}
@ -623,7 +623,7 @@ class SessionManager
$sql = "SELECT u.user_id, u.lastname, u.firstname, u.username, u.email, s.c_id
FROM $session_course_user s
INNER JOIN $user u ON u.user_id = s.id_user
INNER JOIN $user u ON u.user_id = s.user_id
$where
$order
$limit";
@ -720,7 +720,7 @@ class SessionManager
$course = api_get_course_info_by_id($courseId);
$where = " WHERE c_id = '%s' AND s.status <> 2 AND id_session = %s";
$where = " WHERE c_id = '%s' AND s.status <> 2 AND session_id = %s";
$limit = null;
if (!empty($options['limit'])) {
@ -744,7 +744,7 @@ class SessionManager
$sql = "SELECT u.user_id, u.lastname, u.firstname, u.username, u.email, s.c_id
FROM $session_course_user s
INNER JOIN $user u ON u.user_id = s.id_user
INNER JOIN $user u ON u.user_id = s.user_id
$where $order $limit";
$sql_query = sprintf($sql, intval($course['real_id']), $sessionId);
@ -867,21 +867,21 @@ class SessionManager
//TODO, fix create report without session
$queryVariables = array($course['real_id']);
if (!empty($sessionId)) {
$where .= ' AND id_session = %s';
$where .= ' AND session_id = %s';
$queryVariables[] = $sessionId;
$sql = "SELECT
u.user_id, u.lastname, u.firstname, u.username,
u.email, s.c_id, s.session_id
FROM $session_course_user s
INNER JOIN $user u
ON u.user_id = s.id_user
ON u.user_id = s.user_id
$where $order $limit";
} else {
$sql = "SELECT
u.user_id, u.lastname, u.firstname, u.username,
u.email, s.c_id, s.session_id
FROM $session_course_user s
INNER JOIN $user u ON u.user_id = s.id_user
INNER JOIN $user u ON u.user_id = s.user_id
$where $order $limit";
}
@ -1497,9 +1497,9 @@ class SessionManager
}
Database::query("DELETE FROM $tbl_session WHERE id IN($id_checked)");
Database::query("DELETE FROM $tbl_session_rel_course WHERE id_session IN($id_checked)");
Database::query("DELETE FROM $tbl_session_rel_course_rel_user WHERE id_session IN($id_checked)");
Database::query("DELETE FROM $tbl_session_rel_user WHERE id_session IN($id_checked)");
Database::query("DELETE FROM $tbl_session_rel_course WHERE session_id IN($id_checked)");
Database::query("DELETE FROM $tbl_session_rel_course_rel_user WHERE session_id IN($id_checked)");
Database::query("DELETE FROM $tbl_session_rel_user WHERE session_id IN($id_checked)");
Database::query("DELETE FROM $tbl_url_session WHERE session_id IN($id_checked)");
$sql_delete_sfv = "DELETE FROM $t_sfv WHERE session_id = '$id_checked'";
@ -1581,16 +1581,16 @@ class SessionManager
}
}
$sql = "SELECT id_user FROM $tbl_session_rel_course_rel_user
WHERE id_session = '$id_session' AND status = 0";
$sql = "SELECT user_id FROM $tbl_session_rel_course_rel_user
WHERE session_id = '$id_session' AND status = 0";
$result = Database::query($sql);
$existingUsers = array();
while ($row = Database::fetch_array($result)) {
$existingUsers[] = $row['id_user'];
$existingUsers[] = $row['user_id'];
}
$sql = "SELECT c_id FROM $tbl_session_rel_course
WHERE id_session = '$id_session'";
WHERE session_id = '$id_session'";
$result = Database::query($sql);
$course_list = array();
while ($row = Database::fetch_array($result)) {
@ -1627,17 +1627,17 @@ class SessionManager
$nbr_users = 0;
$courseId = intval($courseId);
$sql = "SELECT DISTINCT id_user
$sql = "SELECT DISTINCT user_id
FROM $tbl_session_rel_course_rel_user
WHERE
id_session = '$id_session' AND
session_id = '$id_session' AND
c_id = '$courseId' AND
status = 0
";
$result = Database::query($sql);
$existingUsers = array();
while ($row = Database::fetch_array($result)) {
$existingUsers[] = $row['id_user'];
$existingUsers[] = $row['user_id'];
}
// Delete existing users
@ -1646,9 +1646,9 @@ class SessionManager
if (!in_array($existing_user, $user_list)) {
$sql = "DELETE FROM $tbl_session_rel_course_rel_user
WHERE
id_session =' $id_session' AND
session_id =' $id_session' AND
c_id = '$courseId' AND
id_user = '$existing_user' AND
user_id = '$existing_user' AND
status = 0 ";
$result = Database::query($sql);
if (Database::affected_rows($result)) {
@ -1663,7 +1663,7 @@ class SessionManager
foreach ($user_list as $enreg_user) {
if (!in_array($enreg_user, $existingUsers)) {
$enreg_user = Database::escape_string($enreg_user);
$sql = "INSERT IGNORE INTO $tbl_session_rel_course_rel_user (id_session, c_id, id_user, visibility, status)
$sql = "INSERT IGNORE INTO $tbl_session_rel_course_rel_user (session_id, c_id, user_id, visibility, status)
VALUES('$id_session', '$courseId', '$enreg_user', '$session_visibility', '0')";
$result = Database::query($sql);
if (Database::affected_rows($result)) {
@ -1673,21 +1673,21 @@ class SessionManager
}
// Count users in this session-course relation
$sql = "SELECT COUNT(id_user) as nbUsers
$sql = "SELECT COUNT(user_id) as nbUsers
FROM $tbl_session_rel_course_rel_user
WHERE id_session = '$id_session' AND c_id = '$courseId' AND status<>2";
WHERE session_id = '$id_session' AND c_id = '$courseId' AND status<>2";
$rs = Database::query($sql);
list($nbr_users) = Database::fetch_array($rs);
// update the session-course relation to add the users total
$sql = "UPDATE $tbl_session_rel_course SET nbr_users = $nbr_users
WHERE id_session='$id_session' AND c_id = '$courseId'";
WHERE session_id ='$id_session' AND c_id = '$courseId'";
Database::query($sql);
}
// Delete users from the session
if ($empty_users === true) {
$sql = "DELETE FROM $tbl_session_rel_user
WHERE id_session = $id_session AND relation_type<>" . SESSION_RELATION_TYPE_RRHH . "";
WHERE session_id = $id_session AND relation_type<>" . SESSION_RELATION_TYPE_RRHH . "";
Database::query($sql);
}
@ -1697,7 +1697,7 @@ class SessionManager
foreach ($user_list as $enreg_user) {
$enreg_user = Database::escape_string($enreg_user);
$nbr_users++;
$sql = "INSERT IGNORE INTO $tbl_session_rel_user (relation_type, id_session, id_user)
$sql = "INSERT IGNORE INTO $tbl_session_rel_user (relation_type, session_id, user_id)
VALUES (0, '$id_session', '$enreg_user')";
Database::query($sql);
}
@ -1745,17 +1745,17 @@ class SessionManager
$table = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
$sql = "SELECT DISTINCT id_user
$sql = "SELECT DISTINCT user_id
FROM $table
WHERE
id_session = '$sessionId' AND
c_id='$courseId'
session_id = '$sessionId' AND
c_id = '$courseId'
$statusCondition
";
$result = Database::query($sql);
$existingUsers = array();
while ($row = Database::fetch_array($result)) {
$existingUsers[] = $row['id_user'];
$existingUsers[] = $row['user_id'];
}
return $existingUsers;
@ -1798,9 +1798,9 @@ class SessionManager
$userId = intval($userId);
$sql = "DELETE FROM $table
WHERE
id_session='$sessionId' AND
session_id='$sessionId' AND
c_id = '$courseId' AND
id_user = '$userId'
user_id = '$userId'
$statusCondition
";
Database::query($sql);
@ -1808,20 +1808,20 @@ class SessionManager
if ($updateTotal) {
// Count users in this session-course relation
$sql = "SELECT COUNT(id_user) as nbUsers
$sql = "SELECT COUNT(user_id) as nbUsers
FROM $table
WHERE
id_session='$sessionId' AND
session_id ='$sessionId' AND
c_id = '$courseId' AND
status <>2";
$result = Database::query($sql);
list($userCount) = Database::fetch_array($result);
// update the session-course relation to add the users total
$sql = "UPDATE $tableSessionCourse SET
nbr_users = $userCount
$sql = "UPDATE $tableSessionCourse
SET nbr_users = $userCount
WHERE
id_session='$sessionId' AND
session_id ='$sessionId' AND
c_id = '$courseId'";
Database::query($sql);
}
@ -1885,12 +1885,12 @@ class SessionManager
foreach ($user_list as $enreg_user) {
$enreg_user = intval($enreg_user);
// Checking if user exists in session - course - user table.
$sql = "SELECT count(id_user) as count
$sql = "SELECT count(user_id) as count
FROM $tbl_session_rel_course_rel_user
WHERE
id_session = $session_id AND
session_id = $session_id AND
c_id = '$courseId' and
id_user = $enreg_user ";
user_id = $enreg_user ";
$result = Database::query($sql);
$count = 0;
@ -1900,7 +1900,7 @@ class SessionManager
}
if ($count == 0) {
$sql = "INSERT IGNORE INTO $tbl_session_rel_course_rel_user (id_session, c_id, id_user, visibility)
$sql = "INSERT IGNORE INTO $tbl_session_rel_course_rel_user (session_id, c_id, user_id, visibility)
VALUES ('$session_id', '$courseId', '$enreg_user', '$session_visibility')";
$result = Database::query($sql);
if (Database::affected_rows($result)) {
@ -1909,9 +1909,9 @@ class SessionManager
}
// Checking if user exists in session - user table.
$sql = "SELECT count(id_user) as count
$sql = "SELECT count(user_id) as count
FROM $tbl_session_rel_user
WHERE id_session = $session_id AND id_user = $enreg_user ";
WHERE session_id = $session_id AND user_id = $enreg_user ";
$result = Database::query($sql);
$count = 0;
@ -1922,7 +1922,7 @@ class SessionManager
if (empty($count)) {
// If user is not registered to a session then add it.
$sql = "INSERT IGNORE INTO $tbl_session_rel_user (id_session, id_user)
$sql = "INSERT IGNORE INTO $tbl_session_rel_user (session_id, user_id)
VALUES ('$session_id', '$enreg_user')";
Database::query($sql);
@ -1933,14 +1933,15 @@ class SessionManager
}
// count users in this session-course relation
$sql = "SELECT COUNT(id_user) as nbUsers
$sql = "SELECT COUNT(user_id) as nbUsers
FROM $tbl_session_rel_course_rel_user
WHERE id_session='$session_id' AND c_id='$courseId' AND status<>2";
WHERE session_id ='$session_id' AND c_id='$courseId' AND status<>2";
$rs = Database::query($sql);
list($nbr_users) = Database::fetch_array($rs);
// update the session-course relation to add the users total
$sql = "UPDATE $tbl_session_rel_course SET nbr_users=$nbr_users
WHERE id_session='$session_id' AND c_id = '$courseId'";
$sql = "UPDATE $tbl_session_rel_course
SET nbr_users=$nbr_users
WHERE session_id='$session_id' AND c_id = '$courseId'";
Database::query($sql);
}
@ -1963,8 +1964,8 @@ class SessionManager
$delete_sql = "DELETE FROM $tbl_session_rel_user
WHERE
id_session = '$session_id' AND
id_user ='$user_id' AND
session_id = '$session_id' AND
user_id ='$user_id' AND
relation_type <> " . SESSION_RELATION_TYPE_RRHH . "";
$result = Database::query($delete_sql);
$return = Database::affected_rows($result);
@ -1983,12 +1984,12 @@ class SessionManager
$courseId = $course['id'];
// Delete user from course
$sql = "DELETE FROM $tbl_session_rel_course_rel_user
WHERE id_session='$session_id' AND c_id='$courseId' AND id_user='$user_id'";
WHERE session_id ='$session_id' AND c_id = '$courseId' AND user_id = '$user_id'";
$result = Database::query($sql);
if (Database::affected_rows($result)) {
// Update number of users in this relation
$sql = "UPDATE $tbl_session_rel_course SET nbr_users = nbr_users - 1
WHERE id_session='$session_id' AND c_id = '$courseId'";
WHERE session_id ='$session_id' AND c_id = '$courseId'";
Database::query($sql);
}
}
@ -2025,16 +2026,16 @@ class SessionManager
// Get list of courses subscribed to this session
$sql = "SELECT c_id
FROM $tbl_session_rel_course
WHERE id_session = $sessionId";
WHERE session_id = $sessionId";
$rs = Database::query($sql );
$existingCourses = Database::store_result($rs);
$nbr_courses = count($existingCourses);
// get list of users subscribed to this session
$sql = "SELECT id_user
$sql = "SELECT user_id
FROM $tbl_session_rel_user
WHERE
id_session = $sessionId AND
session_id = $sessionId AND
relation_type<>" . SESSION_RELATION_TYPE_RRHH . "";
$result = Database::query($sql);
$user_list = Database::store_result($result);
@ -2047,11 +2048,11 @@ class SessionManager
$courseInfo = api_get_course_info($existingCourse['c_id']);
$sql = "DELETE FROM $tbl_session_rel_course
WHERE c_id = '" . $existingCourse['c_id'] . "' AND id_session=$sessionId";
WHERE c_id = '" . $existingCourse['c_id'] . "' AND session_id=$sessionId";
Database::query($sql);
$sql = "DELETE FROM $tbl_session_rel_course_rel_user
WHERE c_id = '" . $existingCourse['c_id'] . "' AND id_session=$sessionId";
WHERE c_id = '" . $existingCourse['c_id'] . "' AND session_id=$sessionId";
Database::query($sql);
CourseManager::remove_course_ranking(
@ -2077,7 +2078,7 @@ class SessionManager
if (!$exists) {
//if the course isn't subscribed yet
$sql = "INSERT INTO $tbl_session_rel_course (id_session, c_id)
$sql = "INSERT INTO $tbl_session_rel_course (session_id, c_id)
VALUES ('$sessionId', '$courseId')";
Database::query($sql);
@ -2088,8 +2089,8 @@ class SessionManager
// subscribe all the users from the session to this course inside the session
$nbr_users = 0;
foreach ($user_list as $enreg_user) {
$enreg_user_id = intval($enreg_user['id_user']);
$sql = "INSERT IGNORE INTO $tbl_session_rel_course_rel_user (id_session, c_id, id_user)
$enreg_user_id = intval($enreg_user['user_id']);
$sql = "INSERT IGNORE INTO $tbl_session_rel_course_rel_user (session_id, c_id, user_id)
VALUES ($sessionId, '$courseId', $enreg_user_id)";
$result = Database::query($sql);
if (Database::affected_rows($result)) {
@ -2098,7 +2099,7 @@ class SessionManager
}
$sql = "UPDATE $tbl_session_rel_course
SET nbr_users=$nbr_users
WHERE id_session='$sessionId' AND c_id='$courseId'";
WHERE session_id ='$sessionId' AND c_id='$courseId'";
Database::query($sql);
}
}
@ -2135,12 +2136,12 @@ class SessionManager
// Unsubscribe course
$sql = "DELETE FROM $tbl_session_rel_course
WHERE c_id = '$course_id' AND id_session='$session_id'";
WHERE c_id = '$course_id' AND session_id='$session_id'";
$result = Database::query($sql);
$nb_affected = Database::affected_rows($result);
$sql = "DELETE FROM $tbl_session_rel_course_rel_user
WHERE c_id = '$course_id' AND id_session='$session_id'";
WHERE c_id = '$course_id' AND session_id='$session_id'";
Database::query($sql);
if ($nb_affected > 0) {
@ -2287,7 +2288,7 @@ class SessionManager
$return_value = false;
$sql = "SELECT c_id FROM $tbl_session_course
WHERE
id_session = " . intval($session_id) . " AND
session_id = " . intval($session_id) . " AND
c_id = '" . intval($courseId) . "'";
$result = Database::query($sql);
$num = Database::num_rows($result);
@ -2648,7 +2649,8 @@ class SessionManager
$tbl_user = Database::get_main_table(TABLE_MAIN_USER);
// check if user is a teacher
$sql = "SELECT * FROM $tbl_user WHERE status='1' AND user_id = '$user_id'";
$sql = "SELECT * FROM $tbl_user
WHERE status='1' AND user_id = '$user_id'";
$rs_check_user = Database::query($sql);
@ -2656,8 +2658,10 @@ class SessionManager
if ($nocoach) {
// check if user_id exists in session_rel_user (if the user is
// subscribed to the session in any manner)
$sql = "SELECT id_user FROM $tbl_session_rel_user
WHERE id_session = '$session_id' AND id_user = '$user_id'";
$sql = "SELECT user_id FROM $tbl_session_rel_user
WHERE
session_id = '$session_id' AND
user_id = '$user_id' ";
$res = Database::query($sql);
if (Database::num_rows($res) > 0) {
@ -2666,7 +2670,10 @@ class SessionManager
// and then exit
$sql = "UPDATE $tbl_session_rel_course_rel_user
SET status = 0
WHERE id_session = '$session_id' AND c_id = '$courseId' AND id_user = '$user_id' ";
WHERE
session_id = '$session_id' AND
c_id = '$courseId' AND
user_id = '$user_id' ";
$result = Database::query($sql);
if (Database::affected_rows($result) > 0)
return true;
@ -2677,7 +2684,10 @@ class SessionManager
// he isn't subscribed to a course in this session either
// and then exit
$sql = "DELETE FROM $tbl_session_rel_course_rel_user
WHERE id_session = '$session_id' AND c_id = '$courseId' AND id_user = '$user_id' ";
WHERE
session_id = '$session_id' AND
c_id = '$courseId' AND
user_id = '$user_id' ";
$result = Database::query($sql);
if (Database::affected_rows($result) > 0)
return true;
@ -2687,14 +2697,20 @@ class SessionManager
} else {
// Assign user as a coach to course
// First check if the user is registered to the course
$sql = "SELECT id_user FROM $tbl_session_rel_course_rel_user
WHERE id_session = '$session_id' AND c_id = '$courseId' AND id_user = '$user_id'";
$sql = "SELECT user_id FROM $tbl_session_rel_course_rel_user
WHERE
session_id = '$session_id' AND
c_id = '$courseId' AND
user_id = '$user_id'";
$rs_check = Database::query($sql);
// Then update or insert.
if (Database::num_rows($rs_check) > 0) {
$sql = "UPDATE $tbl_session_rel_course_rel_user SET status = 2
WHERE id_session = '$session_id' AND c_id = '$courseId' AND id_user = '$user_id' ";
WHERE
session_id = '$session_id' AND
c_id = '$courseId' AND
user_id = '$user_id' ";
$result = Database::query($sql);
if (Database::affected_rows($result) > 0) {
return true;
@ -2702,7 +2718,7 @@ class SessionManager
return false;
}
} else {
$sql = "INSERT INTO $tbl_session_rel_course_rel_user(id_session, c_id, id_user, status)
$sql = "INSERT INTO $tbl_session_rel_course_rel_user(session_id, c_id, user_id, status)
VALUES('$session_id', '$courseId', '$user_id', 2)";
$result = Database::query($sql);
if (Database::affected_rows($result) > 0) {
@ -2751,16 +2767,16 @@ class SessionManager
// Deleting assigned sessions to hrm_id.
if ($removeOldConnections) {
if (api_is_multiple_url_enabled()) {
$sql = "SELECT id_session
$sql = "SELECT session_id
FROM $tbl_session_rel_user s
INNER JOIN $tbl_session_rel_access_url a ON (a.session_id = s.session_id)
WHERE
id_user = $userId AND
s.user_id = $userId AND
relation_type=" . SESSION_RELATION_TYPE_RRHH . " AND
access_url_id = " . api_get_current_access_url_id() . "";
} else {
$sql = "SELECT id_session FROM $tbl_session_rel_user s
WHERE id_user = $userId AND relation_type=" . SESSION_RELATION_TYPE_RRHH . "";
$sql = "SELECT session_id FROM $tbl_session_rel_user s
WHERE user_id = $userId AND relation_type=" . SESSION_RELATION_TYPE_RRHH . "";
}
$result = Database::query($sql);
@ -2768,8 +2784,8 @@ class SessionManager
while ($row = Database::fetch_array($result)) {
$sql = "DELETE FROM $tbl_session_rel_user
WHERE
id_session = {$row['id_session']} AND
id_user = $userId AND
session_id = {$row['session_id']} AND
user_id = $userId AND
relation_type=" . SESSION_RELATION_TYPE_RRHH . " ";
Database::query($sql);
}
@ -2780,7 +2796,7 @@ class SessionManager
foreach ($sessions_list as $session_id) {
$session_id = intval($session_id);
$sql = "INSERT IGNORE INTO $tbl_session_rel_user (id_session, id_user, relation_type)
$sql = "INSERT IGNORE INTO $tbl_session_rel_user (session_id, user_id, relation_type)
VALUES ($session_id, $userId, '" . SESSION_RELATION_TYPE_RRHH . "')";
Database::query($sql);
$affected_rows++;
@ -2819,7 +2835,7 @@ class SessionManager
INNER JOIN $tbl_session_rel_user sru ON (sru.session_id = s.id)
LEFT JOIN $tbl_session_rel_access_url a ON (s.id = a.session_id)
WHERE
sru.id_user = '$userId' AND
sru.user_id = '$userId' AND
sru.session_id = '$sessionId' AND
sru.relation_type = '" . SESSION_RELATION_TYPE_RRHH . "' AND
access_url_id = " . api_get_current_access_url_id() . "
@ -2829,17 +2845,20 @@ class SessionManager
INNER JOIN $tbl_session_rel_user sru
ON
sru.session_id = s.id AND
sru.id_user = '$userId' AND
sru.user_id = '$userId' AND
sru.session_id = '$sessionId' AND
sru.relation_type = '" . SESSION_RELATION_TYPE_RRHH . "'
";
";
}
$result = Database::query($sql);
if (Database::num_rows($result)) {
$row = Database::fetch_array($result, 'ASSOC');
$row['course_list'] = self::get_course_list_by_session_id($sessionId);
return $row;
}
return array();
}
@ -2946,13 +2965,13 @@ class SessionManager
$tbl_session_rel_user sru
WHERE
sru.relation_type = '".SESSION_RELATION_TYPE_RRHH."' AND
sru.id_user = $userId";
sru.user_id = $userId";
break;
case COURSEMANAGER:
$courseSessionQuery = "
SELECT scu.session_id as id
FROM $tbl_session_rel_course_rel_user scu
WHERE (scu.status = 2 AND scu.id_user = $userId)";
WHERE (scu.status = 2 AND scu.user_id = $userId)";
$whereConditions = " OR (s.id_coach = $userId) ";
break;
@ -2961,7 +2980,7 @@ class SessionManager
FROM
$tbl_session_rel_user sru
WHERE
sru.id_user = $userId";
sru.user_id = $userId";
break;
}
@ -3008,6 +3027,7 @@ class SessionManager
$sessions[$row['id']] = $row;
}
}
return $sessions;
}
@ -3073,6 +3093,7 @@ class SessionManager
$courses[$row['id']] = $row;
}
}
return $courses;
}
@ -3286,7 +3307,7 @@ class SessionManager
access_url_id
FROM $tbl_user u
INNER JOIN $tbl_session_rel_user
ON u.user_id = $tbl_session_rel_user.id_user AND
ON u.user_id = $tbl_session_rel_user.user_id AND
$tbl_session_rel_user.session_id = $id
LEFT OUTER JOIN $table_access_url_user uu
ON (uu.user_id = u.user_id)
@ -3340,6 +3361,7 @@ class SessionManager
}
$sql .= ' ORDER by name';
$result = Database::query($sql);
return Database::store_result($result, 'ASSOC');
}
@ -3367,7 +3389,7 @@ class SessionManager
$sql = "SELECT session_rcru.status
FROM $tbl_session_rel_course_rel_user session_rcru, $tbl_user user
WHERE
session_rcru.id_user = user.user_id AND
session_rcru.user_id = user.user_id AND
session_rcru.session_id = '" . intval($session_id) . "' AND
session_rcru.c_id ='" . intval($courseId) . "' AND
user.user_id = " . intval($user_id);
@ -3399,7 +3421,7 @@ class SessionManager
$tbl_user = Database::get_main_table(TABLE_MAIN_USER);
$sql = "SELECT session_rcru.status
FROM $tbl_session_rel_course_rel_user session_rcru, $tbl_user user
WHERE session_rcru.id_user = user.user_id AND
WHERE session_rcru.user_id = user.user_id AND
session_rcru.session_id = '" . intval($session_id) . "' AND
session_rcru.c_id ='" . intval($courseId) . "' AND
user.user_id = " . intval($user_id);
@ -3950,19 +3972,19 @@ class SessionManager
// Delete session-user relation only for students
$sql = "DELETE FROM $tbl_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;
Database::query($sql);
$sql = "DELETE FROM $tbl_session_course WHERE id_session = '$session_id'";
$sql = "DELETE FROM $tbl_session_course WHERE session_id = '$session_id'";
Database::query($sql);
// Delete session-course-user relationships students and coaches.
if ($updateCourseCoaches) {
$sql = "DELETE FROM $tbl_session_course_user WHERE id_session = '$session_id' AND status in ('0', '2')";
$sql = "DELETE FROM $tbl_session_course_user WHERE session_id = '$session_id' AND status in ('0', '2')";
Database::query($sql);
} else {
// Delete session-course-user relation ships *only* for students.
$sql = "DELETE FROM $tbl_session_course_user WHERE id_session = '$session_id' AND status <> 2";
$sql = "DELETE FROM $tbl_session_course_user WHERE session_id = '$session_id' AND status <> 2";
Database::query($sql);
}
}
@ -4036,21 +4058,21 @@ class SessionManager
// Delete session-user relation only for students
$sql = "DELETE FROM $tbl_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;
Database::query($sql);
$sql = "DELETE FROM $tbl_session_course WHERE id_session = '$session_id'";
$sql = "DELETE FROM $tbl_session_course WHERE session_id = '$session_id'";
Database::query($sql);
// Delete session-course-user relationships students and coaches.
if ($updateCourseCoaches) {
$sql = "DELETE FROM $tbl_session_course_user
WHERE id_session = '$session_id' AND status in ('0', '2')";
WHERE session_id = '$session_id' AND status in ('0', '2')";
Database::query($sql);
} else {
// Delete session-course-user relation ships *only* for students.
$sql = "DELETE FROM $tbl_session_course_user
WHERE id_session = '$session_id' AND status <> 2";
WHERE session_id = '$session_id' AND status <> 2";
Database::query($sql);
}
} else {
@ -4077,8 +4099,8 @@ class SessionManager
$userList[] = $user_id;
// Insert new users.
$sql = "INSERT IGNORE INTO $tbl_session_user SET
id_user = '$user_id',
id_session = '$session_id'";
user_id = '$user_id',
session_id = '$session_id'";
Database::query($sql);
if ($debug) {
$logger->addInfo("Sessions - Adding User #$user_id ($user) to session #$session_id");
@ -4133,7 +4155,7 @@ class SessionManager
// Adding the course to a session.
$sql = "INSERT IGNORE INTO $tbl_session_course
SET c_id = '$courseId', id_session='$session_id'";
SET c_id = '$courseId', session_id='$session_id'";
Database::query($sql);
SessionManager::installCourse($session_id, $courseInfo['real_id']);
@ -4365,9 +4387,9 @@ class SessionManager
$sessionId = intval($sessionId);
$courseId = intval($courseId);
$sql = "SELECT id_user FROM $table
$sql = "SELECT user_id FROM $table
WHERE
id_session = '$sessionId' AND
session_id = '$sessionId' AND
c_id = '$courseId' AND
status = 2";
$result = Database::query($sql);
@ -4416,15 +4438,15 @@ class SessionManager
$table = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
$sessionId = intval($sessionId);
$sql = "SELECT DISTINCT id_user
$sql = "SELECT DISTINCT user_id
FROM $table
WHERE id_session = '$sessionId' AND status = 2";
WHERE session_id = '$sessionId' AND status = 2";
$result = Database::query($sql);
$coaches = array();
if (Database::num_rows($result) > 0) {
while ($row = Database::fetch_array($result)) {
$coaches[] = $row['id_user'];
$coaches[] = $row['user_id'];
}
}
@ -5192,7 +5214,7 @@ class SessionManager
$position[$course['code']] = $course['position'];
// Saving current order.
$sql = "UPDATE $table SET position = $count
WHERE id_session = $sessionId AND c_id = '".$course['real_id']."'";
WHERE session_id = $sessionId AND c_id = '".$course['real_id']."'";
Database::query($sql);
$count++;
}
@ -5225,11 +5247,11 @@ class SessionManager
}
$sql1 = "UPDATE $table SET position = '".intval($nextOrder)."'
WHERE id_session = $sessionId AND c_id = '".$thisCourseCode."'";
WHERE session_id = $sessionId AND c_id = '".$thisCourseCode."'";
Database::query($sql1);
$sql2 = "UPDATE $table SET position = '".intval($thisOrder)."'
WHERE id_session = $sessionId AND c_id = '".$nextId."'";
WHERE session_id = $sessionId AND c_id = '".$nextId."'";
Database::query($sql2);
return true;
@ -5322,7 +5344,7 @@ class SessionManager
$table = Database::get_main_table(TABLE_MAIN_SESSION_USER);
$parameters = array('duration' => $duration);
$where = array('id_session = ? AND id_user = ? ' => array($sessionId, $userId));
$where = array('session_id = ? AND user_id = ? ' => array($sessionId, $userId));
Database::update($table, $parameters, $where);
}
@ -5342,7 +5364,8 @@ class SessionManager
}
$table = Database::get_main_table(TABLE_MAIN_SESSION_USER);
$sql = "SELECT * FROM $table WHERE id_session =$sessionId AND id_user = $userId";
$sql = "SELECT * FROM $table
WHERE session_id =$sessionId AND user_id = $userId";
$result = Database::query($sql);
$values = array();
if (Database::num_rows($result)) {
@ -5367,8 +5390,11 @@ class SessionManager
// COUNT(1) actually returns the number of rows from the table (as if
// counting the results from the first column)
$sql = "SELECT COUNT(1) AS qty FROM $sessionRelUserTable "
. "WHERE id_session = $sessionId AND id_user = $userId AND relation_type = 0";
$sql = "SELECT COUNT(1) AS qty FROM $sessionRelUserTable
WHERE
session_id = $sessionId AND
user_id = $userId AND
relation_type = 0";
$result = Database::fetch_assoc(Database::query($sql));
@ -5500,7 +5526,7 @@ class SessionManager
$scuTable = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
$userTable = Database::get_main_table(TABLE_MAIN_USER);
$idResult = Database::select('DISTINCT id_user', $scuTable, array(
$idResult = Database::select('DISTINCT user_id', $scuTable, array(
'where' => array(
'status = ?' => 2
)
@ -5510,7 +5536,7 @@ class SessionManager
foreach ($idResult as $idData) {
$userResult = Database::select('user_id, lastname, firstname, username', $userTable, array(
'where' => array(
'user_id = ?' => $idData['id_user']
'user_id = ?' => $idData['user_id']
)
), 'first');
@ -5576,7 +5602,7 @@ class SessionManager
$table = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
return Database::select('*', $table, array(
'where' => array(
'id_user = ? AND ' => $coachId,
'user_id = ? AND ' => $coachId,
'status = ?' => 2
)
));
@ -5589,11 +5615,13 @@ class SessionManager
*/
public static function getTotalUserCoursesInSession($sessionId)
{
$sql = "SELECT COUNT(1) as count, u.user_id, scu.status status_in_session, u.status user_status "
. "FROM session_rel_course_rel_user scu "
. "INNER JOIN user u ON scu.id_user = u.user_id "
. "WHERE scu.session_id = " . intval($sessionId) . " "
. "GROUP BY u.user_id";
$tableUser = Database::get_main_table(TABLE_MAIN_USER);
$tableSessionRelCourseRelUser = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
$sql = "SELECT COUNT(1) as count, u.user_id, scu.status status_in_session, u.status user_status
FROM $tableSessionRelCourseRelUser scu
INNER JOIN $tableUser u ON scu.user_id = u.user_id
WHERE scu.session_id = " . intval($sessionId) ."
GROUP BY u.user_id";
$result = Database::query($sql);
@ -5805,7 +5833,7 @@ class SessionManager
u.lastname AS coach_lastname
FROM $courseTable c
INNER JOIN $sessionCourseUserTable scu ON c.id = scu.c_id
INNER JOIN $userTable u ON scu.id_user = u.user_id
INNER JOIN $userTable u ON scu.user_id = u.user_id
WHERE scu.status = 2 AND scu.session_id IN $sessionIdsString
ORDER BY scu.session_id ASC ";
$res = Database::query($sql);

@ -1037,13 +1037,22 @@ class Thematic
// get all thematic advance done
$rs_thematic_done = Database::query("SELECT ref FROM $tbl_item_property
WHERE c_id = $course_id AND tool='thematic_advance' AND lastedit_type='ThematicAdvanceDone' AND id_session = $sessionId ");
WHERE c_id = $course_id AND tool='thematic_advance' AND lastedit_type='ThematicAdvanceDone' AND session_id = $sessionId ");
if (Database::num_rows($rs_thematic_done) > 0) {
while ($row_thematic_done = Database::fetch_array($rs_thematic_done)) {
$ref = $row_thematic_done['ref'];
if (in_array($ref, $a_thematic_advance_ids)) { continue; }
// update items
Database::query("UPDATE $tbl_item_property SET lastedit_date='".api_get_utc_datetime()."', lastedit_type='ThematicAdvanceUpdated', lastedit_user_id = $user_id WHERE c_id = $course_id AND tool='thematic_advance' AND ref=$ref AND id_session = $sessionId ");
$sql = "UPDATE $tbl_item_property SET
lastedit_date='".api_get_utc_datetime()."',
lastedit_type='ThematicAdvanceUpdated',
lastedit_user_id = $user_id
WHERE
c_id = $course_id AND
tool='thematic_advance' AND
ref=$ref AND
session_id = $sessionId ";
Database::query($sql);
}
}
}

@ -1574,7 +1574,7 @@ class Tracking
if ($include_sessions) {
$sql = 'SELECT DISTINCT c_id
FROM ' . $tbl_session_course_rel_user . '
WHERE id_user = ' . $user_id;
WHERE user_id = ' . $user_id;
$rs = Database::query($sql);
$nb_courses += Database::num_rows($rs);
}
@ -1871,9 +1871,12 @@ class Tracking
$sessionId = intval($sessionId);
$courseId = intval($courseId);
$sessionCourseUserTable = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
$sessionTable = Database::get_main_table(TABLE_MAIN_SESSION);
//get teachers
$sql = "SELECT scu.session_id, scu.id_user, s.name
FROM session_rel_course_rel_user scu, session s
$sql = "SELECT scu.session_id, scu.user_id, s.name
FROM $sessionCourseUserTable scu, $sessionTable s
WHERE
scu.session_id = s.id
AND scu.status = 2
@ -1894,11 +1897,11 @@ class Tracking
WHERE lastedit_type = 'DocumentAdded'
AND c_id = %s
AND insert_user_id = %s
AND id_session = %s";
AND session_id = %s";
$query = sprintf($sql,
$courseId,
$teacher['id_user'],
$teacher['id_session']
$teacher['user_id'],
$teacher['session_id']
);
$rs = Database::query($query);
@ -1913,11 +1916,11 @@ class Tracking
WHERE lastedit_type = 'LinkAdded'
AND c_id = %s
AND insert_user_id = %s
AND id_session = %s";
AND session_id = %s";
$query = sprintf($sql,
$courseId,
$teacher['id_user'],
$teacher['id_session']
$teacher['user_id'],
$teacher['session_id']
);
$rs = Database::query($query);
@ -1932,11 +1935,11 @@ class Tracking
WHERE lastedit_type = 'ForumthreadVisible'
AND c_id = %s
AND insert_user_id = %s
AND id_session = %s";
AND session_id = %s";
$query = sprintf($sql,
$courseId,
$teacher['id_user'],
$teacher['id_session']
$teacher['user_id'],
$teacher['session_id']
);
$rs = Database::query($query);
@ -1951,11 +1954,11 @@ class Tracking
WHERE lastedit_type = 'WikiAdded'
AND c_id = %s
AND insert_user_id = %s
AND id_session = %s";
AND session_id = %s";
$query = sprintf($sql,
$courseId,
$teacher['id_user'],
$teacher['id_session']
$teacher['user_id'],
$teacher['session_id']
);
$rs = Database::query($query);
@ -1971,11 +1974,11 @@ class Tracking
AND tool = 'work'
AND c_id = %s
AND insert_user_id = %s
AND id_session = %s";
AND session_id = %s";
$query = sprintf($sql,
$courseId,
$teacher['id_user'],
$teacher['id_session']
$teacher['user_id'],
$teacher['session_id']
);
$rs = Database::query($query);
@ -1990,11 +1993,11 @@ class Tracking
WHERE lastedit_type = 'AnnouncementAdded'
AND c_id = %s
AND insert_user_id = %s
AND id_session = %s";
AND session_id = %s";
$query = sprintf($sql,
$courseId,
$teacher['id_user'],
$teacher['id_session']
$teacher['user_id'],
$teacher['session_id']
);
$rs = Database::query($query);
@ -2003,7 +2006,7 @@ class Tracking
$row = Database::fetch_row($rs);
$totalAnnouncements = $row[0];
}
$tutor = api_get_user_info($teacher['id_user']);
$tutor = api_get_user_info($teacher['user_id']);
$data[] = array(
'course' => $course['title'],
'session' => $teacher['name'],
@ -2660,9 +2663,9 @@ class Tracking
$a_students = array ();
// At first, courses where $coach_id is coach of the course //
$sql = 'SELECT id_session, c_id
$sql = 'SELECT session_id, c_id
FROM ' . $tbl_session_course_user . '
WHERE id_user=' . $coach_id.' AND status=2';
WHERE user_id=' . $coach_id.' AND status=2';
if (api_is_multiple_url_enabled()) {
$tbl_session_rel_access_url= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_SESSION);
@ -2673,7 +2676,7 @@ class Tracking
INNER JOIN '.$tbl_session_rel_access_url.' sru
ON (scu.session_id=sru.session_id)
WHERE
scu.id_user=' . $coach_id.' AND
scu.user_id=' . $coach_id.' AND
scu.status=2 AND
sru.access_url_id = '.$access_url_id;
}
@ -2683,12 +2686,12 @@ class Tracking
while ($a_courses = Database::fetch_array($result)) {
$courseId = $a_courses["c_id"];
$id_session = $a_courses["id_session"];
$id_session = $a_courses["session_id"];
$sql = "SELECT DISTINCT srcru.id_user
$sql = "SELECT DISTINCT srcru.user_id
FROM $tbl_session_course_user AS srcru, $tbl_session_user sru
WHERE
srcru.id_user = sru.id_user AND
srcru.user_id = sru.user_id AND
sru.relation_type<>".SESSION_RELATION_TYPE_RRHH." AND
srcru.session_id = sru.session_id AND
srcru.c_id = '$courseId' AND
@ -2697,7 +2700,7 @@ class Tracking
$rs = Database::query($sql);
while ($row = Database::fetch_array($rs)) {
$a_students[$row['id_user']] = $row['id_user'];
$a_students[$row['user_id']] = $row['user_id'];
}
}
@ -2705,7 +2708,7 @@ class Tracking
$sql = 'SELECT session_course_user.user_id
FROM ' . $tbl_session_course_user . ' as session_course_user
INNER JOIN '.$tbl_session_user.' sru
ON session_course_user.id_user = sru.id_user AND session_course_user.session_id = sru.session_id
ON session_course_user.user_id = sru.user_id AND session_course_user.session_id = sru.session_id
INNER JOIN ' . $tbl_session_course . ' as session_course
ON session_course.c_id = session_course_user.c_id
AND session_course_user.session_id = session_course.session_id
@ -2716,10 +2719,10 @@ class Tracking
$tbl_session_rel_access_url= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_SESSION);
$access_url_id = api_get_current_access_url_id();
if ($access_url_id != -1){
$sql = 'SELECT session_course_user.id_user
$sql = 'SELECT session_course_user.user_id
FROM ' . $tbl_session_course_user . ' as session_course_user
INNER JOIN '.$tbl_session_user.' sru
ON session_course_user.id_user = sru.id_user AND
ON session_course_user.user_id = sru.user_id AND
session_course_user.session_id = sru.session_id
INNER JOIN ' . $tbl_session_course . ' as session_course
ON session_course.c_id = session_course_user.c_id AND
@ -2734,7 +2737,7 @@ class Tracking
$result = Database::query($sql);
while ($row = Database::fetch_array($result)) {
$a_students[$row['id_user']] = $row['id_user'];
$a_students[$row['user_id']] = $row['user_id'];
}
return $a_students;
@ -2755,20 +2758,20 @@ class Tracking
$a_students = array ();
// At first, courses where $coach_id is coach of the course //
$sql = 'SELECT c_id FROM ' . $tbl_session_course_user . '
WHERE id_session="' . $id_session . '" AND id_user=' . $coach_id.' AND status=2';
WHERE session_id="' . $id_session . '" AND user_id=' . $coach_id.' AND status=2';
$result = Database::query($sql);
while ($a_courses = Database::fetch_array($result)) {
$courseId = $a_courses["c_id"];
$sql = "SELECT DISTINCT srcru.id_user
$sql = "SELECT DISTINCT srcru.user_id
FROM $tbl_session_course_user AS srcru
WHERE
c_id = '$courseId' AND
id_session = '" . $id_session . "'";
session_id = '" . $id_session . "'";
$rs = Database::query($sql);
while ($row = Database::fetch_array($rs)) {
$a_students[$row['id_user']] = $row['id_user'];
$a_students[$row['user_id']] = $row['user_id'];
}
}
@ -2778,12 +2781,12 @@ class Tracking
$result = Database::query($sql);
//He is the session_coach so we select all the users in the session
if (Database::num_rows($result) > 0) {
$sql = 'SELECT DISTINCT srcru.id_user
$sql = 'SELECT DISTINCT srcru.user_id
FROM ' . $tbl_session_course_user . ' AS srcru
WHERE id_session="' . $id_session . '"';
WHERE session_id="' . $id_session . '"';
$result = Database::query($sql);
while ($row = Database::fetch_array($result)) {
$a_students[$row['id_user']] = $row['id_user'];
$a_students[$row['user_id']] = $row['user_id'];
}
}
@ -2807,25 +2810,27 @@ class Tracking
// At first, courses where $coach_id is coach of the course //
$sql = 'SELECT 1 FROM ' . $tbl_session_course_user . ' WHERE id_user=' . $coach_id .' AND status=2';
$sql = 'SELECT 1 FROM ' . $tbl_session_course_user . '
WHERE user_id=' . $coach_id .' AND status=2';
$result = Database::query($sql);
if (Database::num_rows($result) > 0) {
return true;
}
// Then, courses where $coach_id is coach of the session
$sql = 'SELECT session_course_user.id_user
$sql = 'SELECT session_course_user.user_id
FROM ' . $tbl_session_course_user . ' as session_course_user
INNER JOIN ' . $tbl_session_course . ' as session_course
ON session_course.c_id = session_course_user.c_id
INNER JOIN ' . $tbl_session . ' as session
ON session.id = session_course.session_id
AND session.id_coach = ' . $coach_id . '
WHERE id_user = ' . $student_id;
WHERE user_id = ' . $student_id;
$result = Database::query($sql);
if (Database::num_rows($result) > 0) {
return true;
}
return false;
}
@ -2854,7 +2859,7 @@ class Tracking
FROM ' . $tbl_session_course_user . ' sc
INNER JOIN '.$tbl_course.' c
ON (c.id = sc.c_id)
WHERE id_user = ' . $coach_id.' AND status = 2';
WHERE user_id = ' . $coach_id.' AND status = 2';
if (api_is_multiple_url_enabled()) {
$access_url_id = api_get_current_access_url_id();
if ($access_url_id != -1){
@ -2865,14 +2870,14 @@ class Tracking
INNER JOIN '.$tbl_course_rel_access_url.' cru
ON (c.id = cru.c_id)
WHERE
scu.id_user=' . $coach_id.' AND
scu.user_id=' . $coach_id.' AND
scu.status=2 AND
cru.access_url_id = '.$access_url_id;
}
}
if (!empty($id_session)) {
$sql .= ' AND id_session=' . $id_session;
$sql .= ' AND session_id=' . $id_session;
}
$courseList = array();
@ -2989,7 +2994,7 @@ class Tracking
FROM $tbl_session as session
INNER JOIN $tbl_session_course_user as session_course_user
ON session.id = session_course_user.session_id AND
session_course_user.id_user= $coach_id AND
session_course_user.user_id= $coach_id AND
session_course_user.status=2
INNER JOIN $tbl_session_rel_access_url session_rel_url
ON (session.id = session_rel_url.session_id)
@ -3054,7 +3059,7 @@ class Tracking
FROM $tbl_session_course sc
INNER JOIN $courseTable c
sc.c_id = c.id
WHERE id_session= $session_id";
WHERE session_id= $session_id";
$result = Database::query($sql);
@ -3461,8 +3466,8 @@ class Tracking
FROM $tbl_session_course_user sc
INNER JOIN $courseTable c
WHERE
id_user= $user_id AND
id_session= $id_session";
user_id= $user_id AND
session_id = $id_session";
$result = Database::query($sql);
$courses = array();
while ($row = Database::fetch_array($result)) {
@ -3963,7 +3968,7 @@ class Tracking
INNER JOIN $tbl_access_rel_course a
ON (a.c_id = c.id)
WHERE
user_id = $user_id AND
cu.user_id = $user_id AND
relation_type<> ".COURSE_RELATION_TYPE_RRHH." AND
access_url_id = ".api_get_current_access_url_id()."
ORDER BY title";
@ -4005,7 +4010,7 @@ class Tracking
ON (c.id = cu.c_id)
$extraInnerJoin
WHERE
id_user = $user_id AND
cu.user_id = $user_id AND
access_url_id = ".api_get_current_access_url_id()."
$orderBy ";
} else {
@ -4016,7 +4021,7 @@ class Tracking
INNER JOIN $tbl_course c
ON (c.id = cu.c_id)
$extraInnerJoin
WHERE id_user = $user_id
WHERE cu.user_id = $user_id
$orderBy ";
}
@ -5479,7 +5484,7 @@ class TrackingCourseLog
WHERE
track_resource.c_id = $course_id AND
track_resource.insert_user_id = user.user_id AND
id_session = $session_id ";
session_id = $session_id ";
if (isset($_GET['keyword'])) {
$keyword = Database::escape_string(trim($_GET['keyword']));
@ -5536,7 +5541,7 @@ class TrackingCourseLog
WHERE
track_resource.c_id = $course_id AND
track_resource.insert_user_id = user.user_id AND
id_session = $session_id ";
session_id = $session_id ";
if (isset($_GET['keyword'])) {
$keyword = Database::escape_string(trim($_GET['keyword']));

@ -393,7 +393,7 @@ class UserManager
Database::query($sql);
// Unsubscribe user from all courses in sessions
$sql = "DELETE FROM $table_session_course_user WHERE id_user = '".$user_id."'";
$sql = "DELETE FROM $table_session_course_user WHERE user_id = '".$user_id."'";
Database::query($sql);
// If the user was added as a id_coach then set the current admin as coach see BT#
@ -405,7 +405,7 @@ class UserManager
Database::query($sql);
// Unsubscribe user from all sessions
$sql = "DELETE FROM $table_session_user WHERE id_user = '".$user_id."'";
$sql = "DELETE FROM $table_session_user WHERE user_id = '".$user_id."'";
Database::query($sql);
// Delete user picture
@ -2504,7 +2504,7 @@ class UserManager
LEFT JOIN $tbl_session_course_user as session_rel_course_user
ON (session_rel_course_user.session_id = session.id)
WHERE (
session_rel_course_user.id_user = $user_id OR
session_rel_course_user.user_id = $user_id OR
session.id_coach = $user_id
)
ORDER BY session_category_name, name";
@ -2680,14 +2680,14 @@ class UserManager
if (api_is_allowed_to_create_course()) {
$sessionListFromCourseCoach = array();
$sql =" SELECT DISTINCT id_session FROM $tbl_session_course_user
WHERE id_user = $user_id AND status = 2 ";
$sql =" SELECT DISTINCT session_id FROM $tbl_session_course_user
WHERE user_id = $user_id AND status = 2 ";
$result = Database::query($sql);
if (Database::num_rows($result)) {
$result = Database::store_result($result);
foreach ($result as $session) {
$sessionListFromCourseCoach[]= $session['id_session'];
$sessionListFromCourseCoach[]= $session['session_id'];
}
}
if (!empty($sessionListFromCourseCoach)) {
@ -2702,8 +2702,8 @@ class UserManager
$sql = "SELECT DISTINCT id, name, date_start, date_end
FROM $tbl_session_user, $tbl_session
WHERE (
id_session = id AND
id_user = $user_id AND
session_id = id AND
user_id = $user_id AND
relation_type <> ".SESSION_RELATION_TYPE_RRHH."
)
$coachCourseConditions
@ -2762,7 +2762,7 @@ class UserManager
INNER JOIN $tbl_session as session
ON session.id = session_course_user.session_id
LEFT JOIN $tbl_user as user
ON user.user_id = session_course_user.id_user OR session.id_coach = user.user_id
ON user.user_id = session_course_user.user_id OR session.id_coach = user.user_id
WHERE
session_course_user.session_id = $id_session AND (
(session_course_user.user_id = $user_id AND session_course_user.status = 2)
@ -2799,13 +2799,13 @@ class UserManager
date_end,
session.id as session_id,
session.name as session_name,
IF((session_course_user.id_user = 3 AND session_course_user.status=2),'2', '5')
IF((session_course_user.user_id = 3 AND session_course_user.status=2),'2', '5')
FROM $tbl_session_course_user as session_course_user
INNER JOIN $tbl_course AS course
ON course.id = session_course_user.c_id AND session_course_user.session_id = $session_id
INNER JOIN $tbl_session as session ON session_course_user.session_id = session.id
LEFT JOIN $tbl_user as user ON user.user_id = session_course_user.id_user
WHERE session_course_user.id_user = $user_id
LEFT JOIN $tbl_user as user ON user.user_id = session_course_user.user_id
WHERE session_course_user.user_id = $user_id
ORDER BY i";
$course_list_sql_result = Database::query($personal_course_list_sql);
@ -2897,7 +2897,7 @@ class UserManager
WHERE
s.id = $session_id AND
(
(scu.id_user=$user_id AND scu.status=2) OR
(scu.user_id=$user_id AND scu.status=2) OR
s.id_coach = $user_id
)
$where_access_url
@ -4308,14 +4308,14 @@ class UserManager
";
$sessionConditionsTeacher .= " AND
(scu.status = 2 AND scu.id_user = '$userId')
(scu.status = 2 AND scu.user_id = '$userId')
";
$teacherSelect =
"UNION ALL (
$select
FROM $tbl_user u
INNER JOIN $tbl_session_rel_user sru ON (sru.id_user = u.user_id)
INNER JOIN $tbl_session_rel_user sru ON (sru.user_id = u.user_id)
WHERE
sru.session_id IN (
SELECT DISTINCT(s.id) FROM $tbl_session s INNER JOIN
@ -4538,7 +4538,7 @@ class UserManager
} elseif ($session > 0) {
$sql = 'SELECT u.user_id FROM '.$table_user.' u
INNER JOIN '.$table_session_course_user.' sru
ON sru.id_user=u.user_id
ON sru.user_id=u.user_id
WHERE
sru.course_code="'.Database::escape_string($courseCode).'" AND
sru.status=2';
@ -4647,25 +4647,25 @@ class UserManager
/**
* This function check if the user is a coach inside session course
* @param int User id
* @param string Course code
* @param int $courseId
* @param int Session id
* @return bool True if the user is a coach
*
*/
public static function is_session_course_coach($user_id, $course_code, $session_id)
public static function is_session_course_coach($user_id, $courseId, $session_id)
{
$tbl_session_course_rel_user = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
// Protect data
$user_id = intval($user_id);
$course_code = Database::escape_string($course_code);
$courseId = intval($courseId);
$session_id = intval($session_id);
$result = false;
$sql = "SELECT id_session FROM $tbl_session_course_rel_user
$sql = "SELECT session_id FROM $tbl_session_course_rel_user
WHERE
id_session=$session_id AND
course_code='$course_code' AND
id_user = $user_id AND
session_id=$session_id AND
c_id='$courseId' AND
user_id = $user_id AND
status = 2 ";
$res = Database::query($sql);

@ -917,7 +917,8 @@ if (isset($cidReset) && $cidReset) {
$_SESSION['_gid'] = intval($_REQUEST['gidReq']);
$group_table = Database::get_course_table(TABLE_GROUP);
$sql = "SELECT * FROM $group_table WHERE c_id = ".$_course['real_id']." AND id = '$gidReq'";
$sql = "SELECT * FROM $group_table
WHERE c_id = ".$_course['real_id']." AND id = '$gidReq'";
$result = Database::query($sql);
if (Database::num_rows($result) > 0) { // This group has recorded status related to this course
$gpData = Database::fetch_array($result);
@ -1040,9 +1041,9 @@ if ((isset($uidReset) && $uidReset) || (isset($cidReset) && $cidReset)) {
if (Database::num_rows($result) > 0) { // this user have a recorded state for this course
$cuData = Database::fetch_array($result, 'ASSOC');
$is_courseAdmin = (bool) ($cuData['status'] == 1 );
$is_courseTutor = (bool) ($cuData['tutor_id' ] == 1 );
$is_courseMember = true;
$is_courseAdmin = (bool)($cuData['status'] == 1);
$is_courseTutor = (bool)($cuData['tutor_id'] == 1);
$is_courseMember = true;
$_courseUser['role'] = $cuData['role'];
Session::write('_courseUser', $_courseUser);
@ -1055,18 +1056,19 @@ if ((isset($uidReset) && $uidReset) || (isset($cidReset) && $cidReset)) {
// This user has no status related to this course
// The user is subscribed in a session? The user is a Session coach a Session admin ?
$tbl_session = Database :: get_main_table(TABLE_MAIN_SESSION);
$tbl_session_course = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE);
$tbl_session = Database :: get_main_table(TABLE_MAIN_SESSION);
$tbl_session_course = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE);
$tbl_session_course_user = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
// Session coach, session admin or course coach admin
$sql = "SELECT session.id_coach, session_admin_id, session_rcru.id_user
$sql = "SELECT session.id_coach, session_admin_id, session_rcru.user_id
FROM $tbl_session session, $tbl_session_course_user session_rcru
WHERE session_rcru.session_id = session.id AND
session_rcru.c_id = '$_cid' AND
session_rcru.id_user = '$user_id' AND
session_rcru.session_id = $session_id AND
session_rcru.status = 2
WHERE
session_rcru.session_id = session.id AND
session_rcru.c_id = '$_real_cid' AND
session_rcru.user_id = '$user_id' AND
session_rcru.session_id = $session_id AND
session_rcru.status = 2
";
$result = Database::query($sql);
@ -1082,12 +1084,12 @@ if ((isset($uidReset) && $uidReset) || (isset($cidReset) && $cidReset)) {
$is_sessionAdmin = true;
} else {
// Am I a session coach for this session?
$sql = "SELECT id, id_coach FROM $tbl_session session ".
"INNER JOIN $tbl_session_course sc ".
"ON sc.session_id = session.id ".
"WHERE session.id = $session_id ".
"AND session.id_coach = $user_id ".
"AND sc.course_code = '$_cid'";
$sql = "SELECT id, id_coach FROM $tbl_session session
INNER JOIN $tbl_session_course sc
ON sc.session_id = session.id
WHERE session.id = $session_id
AND session.id_coach = $user_id
AND sc.c_id = '$_real_cid'";
$result = Database::query($sql);
if (Database::num_rows($result)) {
@ -1098,12 +1100,13 @@ if ((isset($uidReset) && $uidReset) || (isset($cidReset) && $cidReset)) {
$is_sessionAdmin = false;
} else {
// Am I a course coach or a student?
$sql = "SELECT cu.id_user, cu.status ".
"FROM $tbl_session_course_user cu ".
"WHERE course_code = '$_cid' AND ".
" cu.id_user = '".$user_id."' AND ".
" cu.session_id = '".$session_id."' ".
"LIMIT 1";
$sql = "SELECT cu.user_id, cu.status
FROM $tbl_session_course_user cu
WHERE
c_id = '$_real_cid' AND
cu.user_id = '".$user_id."' AND
cu.session_id = '".$session_id."'
LIMIT 1";
$result = Database::query($sql);
if (Database::num_rows($result)) {
@ -1114,10 +1117,10 @@ if ((isset($uidReset) && $uidReset) || (isset($cidReset) && $cidReset)) {
switch ($session_course_status) {
case '2': // coach - teacher
$_courseUser['role'] = 'Professor';
$is_courseMember = true;
$is_courseTutor = true;
$is_courseCoach = true;
$is_sessionAdmin = false;
$is_courseMember = true;
$is_courseTutor = true;
$is_courseCoach = true;
$is_sessionAdmin = false;
if (api_get_setting('extend_rights_for_coach') == 'true') {
$is_courseAdmin = true;
@ -1128,32 +1131,32 @@ if ((isset($uidReset) && $uidReset) || (isset($cidReset) && $cidReset)) {
break;
case '0': //Student
$_courseUser['role'] = '';
$is_courseMember = true;
$is_courseTutor = false;
$is_courseAdmin = false;
$is_courseCoach = false;
$is_sessionAdmin = false;
$is_courseMember = true;
$is_courseTutor = false;
$is_courseAdmin = false;
$is_courseCoach = false;
$is_sessionAdmin = false;
Session::write('_courseUser', $_courseUser);
break;
default:
//unregister user
$_courseUser['role'] = '';
$is_courseMember = false;
$is_courseTutor = false;
$is_courseAdmin = false;
$is_sessionAdmin = false;
$is_courseCoach = false;
$is_courseMember = false;
$is_courseTutor = false;
$is_courseAdmin = false;
$is_sessionAdmin = false;
$is_courseCoach = false;
Session::erase('_courseUser');
break;
}
} else {
// Unregister user
$is_courseMember = false;
$is_courseTutor = false;
$is_courseAdmin = false;
$is_sessionAdmin = false;
$is_courseCoach = false;
$is_courseMember = false;
$is_courseTutor = false;
$is_courseAdmin = false;
$is_sessionAdmin = false;
$is_courseCoach = false;
Session::erase('_courseUser');
}
}

@ -49,27 +49,30 @@ if (isset($_POST['export'])) {
if (isset($_GET["id_student"])) {
$id_student = intval($_GET["id_student"]);
$sql_coachs = "SELECT DISTINCT srcru.id_user as id_coach" .
"FROM $tbl_session_rel_course_rel_user as srcru " .
"WHERE srcru.id_user='$id_student' AND srcru.status=2";
$sql_coachs = "SELECT DISTINCT srcru.user_id as id_coach
FROM $tbl_session_rel_course_rel_user as srcru
WHERE srcru.user_id='$id_student' AND srcru.status=2";
} else {
if (api_is_platform_admin()) {
$sql_coachs = "SELECT DISTINCT srcru.id_user as id_coach, user_id, lastname, firstname
$sql_coachs = "SELECT DISTINCT
srcru.user_id as id_coach, user_id, lastname, firstname
FROM $tbl_user, $tbl_session_rel_course_rel_user srcru
WHERE srcru.id_user=user_id AND srcru.status=2 ".$order_clause;
WHERE
srcru.user_id=user_id AND
srcru.status=2 ".$order_clause;
} else {
$sql_coachs = "SELECT DISTINCT id_user as id_coach, $tbl_user.user_id, lastname, firstname
$sql_coachs = "SELECT DISTINCT user_id as id_coach, $tbl_user.user_id, lastname, firstname
FROM
$tbl_user as user,
$tbl_session_rel_course_user as srcu,
$tbl_course_user as course_rel_user,
$tbl_course as c
WHERE
c.id = course_rel_userc_id AND
c.id = course_rel_user.c_id AND
c.code = srcu.course_code AND
course_rel_user.status='1' AND
course_rel_user.user_id='".intval($_SESSION["_uid"])."' AND
srcu.id_user=user.user_id AND
course_rel_user.user_id='".api_get_user_id()."' AND
srcu.user_id = user.user_id AND
srcu.status = 2
".$order_clause;
}

@ -255,21 +255,21 @@ while ($row = Database :: fetch_array($rs)) {
}
// Get the list of sessions where the user is subscribed as student
$sql = 'SELECT id_session, course_code
$sql = 'SELECT session_id, c_id
FROM '.Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER).'
WHERE id_user=' . intval($user_info['user_id']);
WHERE user_id=' . intval($user_info['user_id']);
$rs = Database::query($sql);
$tmp_sessions = array();
while ($row = Database :: fetch_array($rs)) {
$tmp_sessions[] = $row['id_session'];
$tmp_sessions[] = $row['session_id'];
if ($drh_can_access_all_courses) {
if (in_array($row['id_session'], $tmp_sessions)) {
$courses_in_session[$row['id_session']][] = $row['course_code'];
if (in_array($row['session_id'], $tmp_sessions)) {
$courses_in_session[$row['session_id']][] = $row['c_id'];
}
} else {
if (isset($courses_in_session_by_coach[$row['id_session']])) {
if (in_array($row['id_session'], $tmp_sessions)) {
$courses_in_session[$row['id_session']][] = $row['course_code'];
if (isset($courses_in_session_by_coach[$row['session_id']])) {
if (in_array($row['session_id'], $tmp_sessions)) {
$courses_in_session[$row['session_id']][] = $row['c_id'];
}
}
}
@ -659,9 +659,10 @@ if (!empty($student_id)) {
</tr>';
if (!empty($courses)) {
foreach ($courses as $course_code) {
$courseInfo = api_get_course_info($course_code);
foreach ($courses as $courseId) {
$courseInfo = api_get_course_info_by_id($courseId);
$courseId = $courseInfo['real_id'];
$course_code = $courseInfo['code'];
if (CourseManager :: is_user_subscribed_in_course($student_id, $course_code, true)) {
$course_info = CourseManager :: get_course_information($course_code);

@ -273,25 +273,29 @@ if ($form->validate()) {
$id_session = $user['session_id'];
if ($id_session != 0) {
$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) {
Database::query("INSERT INTO $tbl_session_rel_course_rel_user(id_session,course_code,id_user) VALUES('$id_session','$enreg_course','$user_id')");
$sql = "INSERT INTO $tbl_session_rel_course_rel_user(id_session,c_id,user_id)
VALUES('$id_session','$enreg_course','$user_id')";
Database::query($sql);
// updating the total
$sql = "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 COUNT(user_id) as nbUsers FROM $tbl_session_rel_course_rel_user
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'");
Database::query("UPDATE $tbl_session_rel_course SET nbr_users=$nbr_users WHERE session_id='$id_session' AND c_id='$enreg_course'");
}
Database::query("INSERT INTO $tbl_session_rel_user(id_session, id_user) VALUES('$id_session','$user_id')");
Database::query("INSERT INTO $tbl_session_rel_user(session_id, user_id) VALUES('$id_session','$user_id')");
$sql = "SELECT COUNT(nbr_users) as nbUsers FROM $tbl_session WHERE id='$id_session' ";
$sql = "SELECT COUNT(nbr_users) as nbUsers
FROM $tbl_session WHERE id='$id_session' ";
$rs = Database::query($sql);
list($nbr_users) = Database::fetch_array($rs);
@ -299,7 +303,6 @@ if ($form->validate()) {
}
}
$extras = array();
foreach ($user as $key => $value) {
if (substr($key, 0, 6) == 'extra_') {

@ -72,13 +72,13 @@ 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 c_id FROM $tbl_session_rel_course WHERE id_session='$id_session'";
$sql = "SELECT c_id FROM $tbl_session_rel_course WHERE session_id ='$id_session'";
$result = Database::query($sql);
$course_list = array();
while ($row = Database::fetch_array($result)) {
$course_list[] = $row['c_id'];
}
$errors = MySpace::get_user_creator($users, $course_list, $id_session);
$errors = MySpace::get_user_creator($users);
$users = MySpace::check_all_usernames($users, $course_list, $id_session);
if (count($errors) == 0) {
MySpace::save_data($users, $course_list, $id_session);

@ -79,7 +79,8 @@ function search_users($needle, $type)
if (!empty($id_session)) {
$group_id = intval($group_id);
// check id_user from session_rel_user table
$sql = 'SELECT id_user FROM ' . $tbl_group_rel_user . ' WHERE group_id ="' . (int)$group_id . '"';
$sql = 'SELECT user_id FROM ' . $tbl_group_rel_user . '
WHERE group_id ="' . (int)$group_id . '"';
$res = Database::query($sql);
$user_ids = array();
if (Database::num_rows($res) > 0) {
@ -88,25 +89,27 @@ function search_users($needle, $type)
}
}
if (count($user_ids) > 0) {
$cond_user_id = ' AND user_id NOT IN(' . implode(
",",
$user_ids
) . ')';
$cond_user_id = ' AND user_id NOT IN(' . implode(",", $user_ids ) . ')';
}
}
if ($type == 'single') {
// search users where username or firstname or lastname begins likes $needle
$sql = 'SELECT user_id, username, lastname, firstname FROM ' . $tbl_user . ' user
WHERE (username LIKE "' . $needle . '%"
OR firstname LIKE "' . $needle . '%"
OR lastname LIKE "' . $needle . '%") AND user_id<>"' . $user_anonymous . '"' .
$order_clause .
' LIMIT 11';
$sql = 'SELECT user_id, username, lastname, firstname
FROM ' . $tbl_user . ' user
WHERE
(
username LIKE "' . $needle . '%" OR
firstname LIKE "' . $needle . '%" OR
lastname LIKE "' . $needle . '%"
) AND user_id <>"' . $user_anonymous . '"' .
$order_clause .
' LIMIT 11';
} else {
$sql = 'SELECT user_id, username, lastname, firstname FROM ' . $tbl_user . ' user
WHERE ' . (api_sort_by_first_name(
) ? 'firstname' : 'lastname') . ' LIKE "' . $needle . '%" AND user_id<>"' . $user_anonymous . '"' . $cond_user_id .
WHERE
' . (api_sort_by_first_name() ? 'firstname' : 'lastname') . ' LIKE "' . $needle . '%" AND
user_id<>"' . $user_anonymous . '"' . $cond_user_id .
$order_clause;
}
@ -117,20 +120,27 @@ function search_users($needle, $type)
$access_url_id = api_get_current_access_url_id();
if ($access_url_id != -1) {
if ($type == 'single') {
$sql = 'SELECT user.user_id, username, lastname, firstname FROM ' . $tbl_user . ' user
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 (username LIKE "' . $needle . '%"
OR firstname LIKE "' . $needle . '%"
OR lastname LIKE "' . $needle . '%") AND user.user_id<>"' . $user_anonymous . '"' .
$sql = 'SELECT user.user_id, username, lastname, firstname
FROM ' . $tbl_user . ' user
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
(
username LIKE "' . $needle . '%" OR
firstname LIKE "' . $needle . '%" OR
lastname LIKE "' . $needle . '%"
) AND user.user_id<>"' . $user_anonymous . '"' .
$order_clause .
' LIMIT 11';
} else {
$sql = 'SELECT user.user_id, username, lastname, firstname FROM ' . $tbl_user . ' user
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 ' . (api_sort_by_first_name(
) ? 'firstname' : 'lastname') . ' LIKE "' . $needle . '%" AND user.user_id<>"' . $user_anonymous . '"' . $cond_user_id .
$order_clause;
$sql = 'SELECT user.user_id, username, lastname, firstname
FROM ' . $tbl_user . ' user
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
' . (api_sort_by_first_name() ? 'firstname' : 'lastname') . ' LIKE "' . $needle . '%" AND
user.user_id<>"' . $user_anonymous . '"' . $cond_user_id .
$order_clause;
}
}
}
@ -266,10 +276,10 @@ if ($ajax_search) {
);
$access_url_id = api_get_current_access_url_id();
if ($access_url_id != -1) {
$sql = "SELECT u.user_id, lastname, firstname, username, id_session
$sql = "SELECT u.user_id, lastname, firstname, username, session_id
FROM $tbl_user u
INNER JOIN $tbl_session_rel_user
ON $tbl_session_rel_user.id_user = u.user_id
ON $tbl_session_rel_user.user_id = u.user_id
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)

@ -76,7 +76,7 @@ $sql = "SELECT 1
AND ((date_start <= '$now'
AND date_end >= '$now')
OR (date_start='0000-00-00' AND date_end='0000-00-00'))
WHERE id_session='".api_get_session_id()."' AND course_code='$_cid'";
WHERE session_id='".api_get_session_id()."' AND course_code='$_cid'";
//echo $sql;
$result=Database::query($sql);
if(!Database::num_rows($result)){

@ -71,7 +71,7 @@ $sql = "SELECT 1
AND ((date_start <= '$now'
AND date_end >= '$now')
OR (date_start='0000-00-00' AND date_end='0000-00-00'))
WHERE id_session='" . $_SESSION['id_session'] . "' AND course_code='$_cid'";
WHERE session_id='" . $_SESSION['id_session'] . "' AND course_code='$_cid'";
//echo $sql;
$result = Database::query($sql);
if (!Database::num_rows($result)) {

@ -84,7 +84,8 @@ if($_configuration['allow_tutors_to_assign_students_to_session'] == 'true') {
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 session_id ="'.$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) {
@ -109,13 +110,20 @@ if($_configuration['allow_tutors_to_assign_students_to_session'] == 'true') {
break;
case 'multiple':
$sql = 'SELECT user.user_id, username, lastname, firstname FROM '.$tbl_user.' user
WHERE '.(api_sort_by_first_name() ? 'firstname' : 'lastname').' LIKE "'.$needle.'%" AND user.status<>'.DRH.' AND user.status<>6 '.$cond_user_id.
WHERE '.(api_sort_by_first_name() ? 'firstname' : 'lastname').'
LIKE "'.$needle.'%" AND
user.status<>'.DRH.' AND
user.status<>6 '.$cond_user_id.
$order_clause;
break;
case 'any_session':
$sql = 'SELECT DISTINCT user.user_id, username, lastname, firstname FROM '.$tbl_user.' user LEFT OUTER JOIN '.$tbl_session_rel_user.' s ON (s.id_user = user.user_id)
WHERE s.id_user IS null AND user.status<>'.DRH.' AND
user.status<>6 '.$cond_user_id.
$sql = 'SELECT DISTINCT user.user_id, username, lastname, firstname
FROM '.$tbl_user.' user
LEFT OUTER JOIN '.$tbl_session_rel_user.' s ON (s.user_id = user.user_id)
WHERE
s.user_id IS NULL AND
user.status <>'.DRH.' AND
user.status <> 6 '.$cond_user_id.
$order_clause;
break;
}
@ -141,12 +149,15 @@ if($_configuration['allow_tutors_to_assign_students_to_session'] == 'true') {
$order_clause;
break;
case 'any_session' :
$sql = 'SELECT DISTINCT user.user_id, username, lastname, firstname 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)
WHERE access_url_id = '.$access_url_id.' AND
s.id_user IS null AND
user.status<>'.DRH.' AND
user.status<>6 '.$cond_user_id.
$sql = 'SELECT DISTINCT user.user_id, username, lastname, firstname
FROM '.$tbl_user.' user 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.user_id IS null AND
user.status<>'.DRH.' AND
user.status<>6 '.$cond_user_id.
$order_clause;
break;
}
@ -265,12 +276,12 @@ if($_configuration['allow_tutors_to_assign_students_to_session'] == 'true') {
$order_clause = api_sort_by_first_name() ? ' ORDER BY firstname, lastname, username' : ' ORDER BY lastname, firstname, username';
if ($ajax_search) {
$sql = "SELECT user_id, lastname, firstname, username, session_id
$sql = "SELECT u.user_id, lastname, firstname, username, session_id
FROM $tbl_user u
INNER JOIN $tbl_session_rel_user
ON $tbl_session_rel_user.id_user = u.user_id AND $tbl_session_rel_user.relation_type<>".SESSION_RELATION_TYPE_RRHH."
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.session_id = ".intval($id_session)."
WHERE u.status<>".DRH." AND u.status<>6 $order_clause";
WHERE u.status<>".DRH." AND u.status<>6 $order_clause";
if (api_is_multiple_url_enabled()) {
$tbl_user_rel_access_url= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
@ -341,18 +352,22 @@ if($_configuration['allow_tutors_to_assign_students_to_session'] == 'true') {
}
if ($use_extra_fields) {
$sql = "SELECT user_id, lastname, firstname, username, session_id
$sql = "SELECT u.user_id, lastname, firstname, username, session_id
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.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";
LEFT JOIN $tbl_session_rel_user
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";
} else {
$sql = "SELECT user_id, lastname, firstname, username, session_id
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.session_id = '$id_session' AND $tbl_session_rel_user.relation_type<>".SESSION_RELATION_TYPE_RRHH."
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";
}
@ -393,7 +408,7 @@ if($_configuration['allow_tutors_to_assign_students_to_session'] == 'true') {
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.user_id = u.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";

@ -59,7 +59,10 @@ if($_configuration['allow_tutors_to_assign_students_to_session'] == 'true') {
$result = UrlManager::add_user_to_url($user_id, $url_id);
$user_info = api_get_user_info($user_id);
if ($result) {
$message = Display::return_message(get_lang('UserAdded').' '.api_get_person_name($user_info['firstname'], $user_info['lastname']), 'confirm');
$message = Display::return_message(
get_lang('UserAdded').' '.api_get_person_name($user_info['firstname'], $user_info['lastname']),
'confirm'
);
}
break;
case 'delete':
@ -67,16 +70,16 @@ if($_configuration['allow_tutors_to_assign_students_to_session'] == 'true') {
if(is_array($idChecked)) {
$my_temp = array();
foreach ($idChecked as $id){
$my_temp[]= Database::escape_string($id);// forcing the escape_string
$courseInfo = api_get_course_info($id);
$my_temp[]= $courseInfo['real_id'];// forcing the escape_string
}
$idChecked = $my_temp;
$idChecked = "'".implode("','", $idChecked)."'";
$idChecked="'".implode("','",$idChecked)."'";
$result = Database::query("DELETE FROM $tbl_session_rel_course WHERE id_session='$id_session' AND course_code IN($idChecked)");
$result = Database::query("DELETE FROM $tbl_session_rel_course WHERE session_id='$id_session' AND c_id IN($idChecked)");
$nbr_affected_rows=Database::affected_rows($result);
Database::query("DELETE FROM $tbl_session_rel_course_rel_user WHERE id_session='$id_session' AND course_code IN($idChecked)");
Database::query("DELETE FROM $tbl_session_rel_course_rel_user WHERE session_id='$id_session' AND c_id IN($idChecked)");
Database::query("UPDATE $tbl_session SET nbr_courses=nbr_courses-$nbr_affected_rows WHERE id='$id_session'");
}
@ -87,15 +90,15 @@ if($_configuration['allow_tutors_to_assign_students_to_session'] == 'true') {
}
if (!empty($_GET['user'])) {
$result = Database::query("DELETE FROM $tbl_session_rel_user WHERE relation_type<>".SESSION_RELATION_TYPE_RRHH." AND id_session='$id_session' AND id_user=".intval($_GET['user']));
$result = Database::query("DELETE FROM $tbl_session_rel_user WHERE relation_type<>".SESSION_RELATION_TYPE_RRHH." AND session_id ='$id_session' AND user_id=".intval($_GET['user']));
$nbr_affected_rows = Database::affected_rows($result);
Database::query("UPDATE $tbl_session SET nbr_users=nbr_users-$nbr_affected_rows WHERE id='$id_session'");
$result = Database::query("DELETE FROM $tbl_session_rel_course_rel_user WHERE id_session='$id_session' AND id_user=".intval($_GET['user']));
$result = Database::query("DELETE FROM $tbl_session_rel_course_rel_user WHERE session_id ='$id_session' AND user_id=".intval($_GET['user']));
$nbr_affected_rows=Database::affected_rows($result);
Database::query("UPDATE $tbl_session_rel_course SET nbr_users=nbr_users-$nbr_affected_rows WHERE id_session='$id_session'");
Database::query("UPDATE $tbl_session_rel_course SET nbr_users=nbr_users-$nbr_affected_rows WHERE session_id ='$id_session'");
}
break;
}
@ -303,7 +306,7 @@ if($_configuration['allow_tutors_to_assign_students_to_session'] == 'true') {
$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."
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.session_id = $id_session AND (access_url_id = $url_id OR access_url_id is null )
$order_clause";
@ -311,7 +314,7 @@ if($_configuration['allow_tutors_to_assign_students_to_session'] == 'true') {
$sql = "SELECT u.user_id, lastname, firstname, username
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."
ON u.user_id = su.user_id AND su.relation_type<>".SESSION_RELATION_TYPE_RRHH."
AND su.session_id = ".$id_session.$order_clause;
}

@ -237,18 +237,27 @@ function get_number_of_users()
$sql = "SELECT COUNT(u.user_id)
FROM $user_table u
LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user and course_code='".api_get_course_id()."' AND id_session ='".api_get_session_id()."'
WHERE cu.id_user IS NULL AND u.status=1 AND (u.official_code <> 'ADMIN' OR u.official_code IS NULL) ";
LEFT JOIN $tbl_session_rel_course_user cu
ON
u.user_id = cu.user_id AND
c_id = '".api_get_course_int_id()."' AND
session_id ='".api_get_session_id()."'
WHERE
cu.user_id IS NULL AND
u.status = 1 AND
(u.official_code <> 'ADMIN' OR u.official_code IS NULL) ";
if ($_configuration['multiple_access_urls']) {
$url_access_id = api_get_current_access_url_id();
if ($url_access_id !=-1) {
$tbl_url_rel_user = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
$sql = "SELECT COUNT(u.user_id) FROM $user_table u
LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user and course_code='".api_get_course_id()."' AND id_session ='".api_get_session_id()."'
$sql = "SELECT COUNT(u.user_id)
FROM $user_table u
LEFT JOIN $tbl_session_rel_course_user cu
ON u.user_id = cu.user_id and cu.c_id = '".api_get_course_int_id()."' AND session_id ='".api_get_session_id()."'
INNER JOIN $tbl_url_rel_user as url_rel_user
ON (url_rel_user.user_id = u.user_id)
WHERE cu.id_user IS NULL AND access_url_id= $url_access_id AND u.status=1 AND (u.official_code <> 'ADMIN' OR u.official_code IS NULL) ";
WHERE cu.user_id IS NULL AND access_url_id= $url_access_id AND u.status=1 AND (u.official_code <> 'ADMIN' OR u.official_code IS NULL) ";
}
}
} else {
@ -279,24 +288,41 @@ function get_number_of_users()
if (api_get_session_id() != 0) {
$sql = "SELECT COUNT(u.user_id)
FROM $user_table u
LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user and course_code='".api_get_course_id()."' AND id_session ='".api_get_session_id()."'
WHERE cu.id_user IS NULL AND u.status<>".DRH." AND (u.official_code <> 'ADMIN' OR u.official_code IS NULL) ";
LEFT JOIN $tbl_session_rel_course_user cu
ON
u.user_id = cu.user_id AND
c_id='".api_get_course_int_id()."' AND
session_id ='".api_get_session_id()."'
WHERE
cu.user_id IS NULL AND
u.status<>".DRH." AND
(u.official_code <> 'ADMIN' OR u.official_code IS NULL) ";
if ($_configuration['multiple_access_urls']) {
$url_access_id = api_get_current_access_url_id();
if ($url_access_id !=-1) {
$tbl_url_rel_user = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
$sql = "SELECT COUNT(u.user_id)
FROM $user_table u
LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user and course_code='".api_get_course_id()."' AND id_session ='".api_get_session_id()."'
LEFT JOIN $tbl_session_rel_course_user cu
ON
u.user_id = cu.user_id AND
c_id='".api_get_course_int_id()."' AND
session_id ='".api_get_session_id()."'
INNER JOIN $tbl_url_rel_user as url_rel_user
ON (url_rel_user.user_id = u.user_id)
WHERE cu.id_user IS NULL AND u.status<>".DRH." AND access_url_id= $url_access_id AND (u.official_code <> 'ADMIN' OR u.official_code IS NULL) ";
WHERE
cu.user_id IS NULL AND
u.status<>".DRH." AND
access_url_id= $url_access_id AND
(u.official_code <> 'ADMIN' OR u.official_code IS NULL) ";
}
}
} else {
$sql = "SELECT COUNT(u.user_id)
FROM $user_table u
LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and c_id='".api_get_course_int_id()."'";
LEFT JOIN $course_user_table cu
ON u.user_id = cu.user_id AND c_id='".api_get_course_int_id()."'";
// we change the SQL when we have a filter
if (isset($_GET['subscribe_user_filter_value']) AND
@ -415,8 +441,12 @@ function get_user_data($from, $number_of_items, $column, $direction)
$sql = "SELECT $select_fields
FROM $user_table u
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) ";
ON
u.user_id = cu.user_id AND
c_id ='".$courseId."' AND
session_id ='".$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']) &&
@ -428,13 +458,13 @@ function get_user_data($from, $number_of_items, $column, $direction)
LEFT JOIN $table_user_field_values field_values
ON field_values.user_id = u.user_id
WHERE
cu.id_user IS NULL AND
cu.user_id 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) ";
$sql .= "WHERE cu.user_id IS NULL AND u.status=1 AND (u.official_code <> 'ADMIN' OR u.official_code IS NULL) ";
}
$sql .= " AND access_url_id= $url_access_id";
@ -500,9 +530,9 @@ function get_user_data($from, $number_of_items, $column, $direction)
FROM $user_table u
LEFT JOIN $tbl_session_rel_course_user cu
ON
u.user_id = cu.id_user AND
u.user_id = cu.user_id AND
c_id ='".$courseId."' AND
id_session ='".$session_id."' ";
session_id ='".$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) ";
@ -515,14 +545,14 @@ function get_user_data($from, $number_of_items, $column, $direction)
LEFT JOIN $table_user_field_values field_values
ON field_values.user_id = u.user_id
WHERE
cu.id_user IS NULL AND
cu.user_id 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
cu.user_id IS NULL AND
u.status<>".DRH." AND
(u.official_code <> 'ADMIN' OR u.official_code IS NULL) ";
}

@ -190,8 +190,8 @@ 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 c_id = '$courseId' AND session_course_user.id_user = user.user_id ";
$sql_query .= ' AND id_session = '.$session_id;
$sql_query .=" WHERE c_id = '$courseId' AND session_course_user.user_id = user.user_id ";
$sql_query .= ' AND session_id = '.$session_id;
if (api_is_multiple_url_enabled()) {
$sql_query .= " AND user.user_id = au.user_id AND access_url_id = $current_access_url_id ";
@ -387,7 +387,7 @@ if (api_is_allowed_to_edit(null, true)) {
$sql = 'SELECT '.$tbl_user.'.user_id
FROM '.$tbl_user.' user
INNER JOIN '.$tbl_session_rel_user.' reluser
ON user.user_id = reluser.id_user AND reluser.relation_type<>'.SESSION_RELATION_TYPE_RRHH.'
ON user.user_id = reluser.user_id AND reluser.relation_type<>'.SESSION_RELATION_TYPE_RRHH.'
INNER JOIN '.$tbl_session_rel_course.' rel_course
ON rel_course.session_id = reluser.id_session
WHERE user.user_id = "'.$user_id.'"

@ -210,7 +210,7 @@ if (api_is_allowed_to_edit(null, true)) {
// get information about user id viewed
$user_info_viewed = api_get_user_info($userIdViewed);
$is_session_course_coach = UserManager::is_session_course_coach($userIdViewed, $_course['sysCode'], $current_session_id);
$is_session_course_coach = UserManager::is_session_course_coach($userIdViewed, $_course['real_id'], $current_session_id);
if ($displayMode == "viewDefEdit") {
/* CATEGORIES DEFINITIONS : EDIT */

@ -3783,11 +3783,11 @@ function WSDeleteSession($params) {
$sql_session = "DELETE FROM $tbl_session WHERE id = '$idChecked'";
@Database::query($sql_session);
$sql_session_rel_course = "DELETE FROM $tbl_session_rel_course WHERE id_session = '$idChecked'";
$sql_session_rel_course = "DELETE FROM $tbl_session_rel_course WHERE session_id = '$idChecked'";
@Database::query($sql_session_rel_course);
$sql_session_rel_course_rel_user = "DELETE FROM $tbl_session_rel_course_rel_user WHERE id_session = '$idChecked'";
$sql_session_rel_course_rel_user = "DELETE FROM $tbl_session_rel_course_rel_user WHERE session_id = '$idChecked'";
@Database::query($sql_session_rel_course_rel_user);
$sql_session_rel_course = "DELETE FROM $tbl_session_rel_user WHERE id_session = '$idChecked'";
$sql_session_rel_course = "DELETE FROM $tbl_session_rel_user WHERE session_id = '$idChecked'";
@Database::query($sql_session_rel_course);
$results[] = 1;
continue;
@ -4471,17 +4471,18 @@ function WSSuscribeUsersToSession($params){
continue;
}
$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."";
$result = Database::query($sql);
$existingUsers = array();
while($row = Database::fetch_array($result)){
$existingUsers[] = $row['id_user'];
$existingUsers[] = $row['user_id'];
}
$sql = "SELECT course_code FROM $tbl_session_rel_course WHERE id_session='$id_session'";
$sql = "SELECT c_id FROM $tbl_session_rel_course WHERE session_id='$id_session'";
$result=Database::query($sql);
$CourseList = array();
while($row = Database::fetch_array($result)) {
$CourseList[] = $row['course_code'];
$CourseList[] = $row['c_id'];
}
foreach ($CourseList as $enreg_course) {
@ -4493,7 +4494,8 @@ function WSSuscribeUsersToSession($params){
foreach ($usersList as $enreg_user) {
if(!in_array($enreg_user, $existingUsers)) {
$enreg_user = Database::escape_string($enreg_user);
$insert_sql = "INSERT IGNORE INTO $tbl_session_rel_course_rel_user(id_session,course_code,id_user) VALUES('$id_session','$enreg_course','$enreg_user')";
$insert_sql = "INSERT IGNORE INTO $tbl_session_rel_course_rel_user(session_id, c_id, user_id)
VALUES('$id_session', '$enreg_course', '$enreg_user')";
$result = Database::query($insert_sql);
if (Database::affected_rows($result)) {
$nbr_users++;
@ -4501,11 +4503,14 @@ function WSSuscribeUsersToSession($params){
}
}
// count users in this session-course relation
$sql = "SELECT COUNT(id_user) as nbUsers FROM $tbl_session_rel_course_rel_user WHERE id_session='$id_session' AND course_code='$enreg_course'";
$sql = "SELECT COUNT(user_id) as nbUsers
FROM $tbl_session_rel_course_rel_user
WHERE session_id = '$id_session' AND c_id='$enreg_course'";
$rs = Database::query($sql);
list($nbr_users) = Database::fetch_array($rs);
// update the session-course relation to add the users total
$update_sql = "UPDATE $tbl_session_rel_course SET nbr_users=$nbr_users WHERE id_session='$id_session' AND course_code='$enreg_course'";
$update_sql = "UPDATE $tbl_session_rel_course SET nbr_users=$nbr_users
WHERE session_id='$id_session' AND c_id='$enreg_course'";
Database::query($update_sql);
}
@ -4514,7 +4519,7 @@ function WSSuscribeUsersToSession($params){
foreach ($usersList as $enreg_user) {
$enreg_user = Database::escape_string($enreg_user);
$nbr_users++;
$insert_sql = "INSERT IGNORE INTO $tbl_session_rel_user(id_session, id_user) VALUES('$id_session','$enreg_user')";
$insert_sql = "INSERT IGNORE INTO $tbl_session_rel_user(session_id, user_id) VALUES('$id_session','$enreg_user')";
Database::query($insert_sql);
}
// update number of users in the session
@ -4530,7 +4535,11 @@ function WSSuscribeUsersToSession($params){
$count_results = count($results);
$output = array();
for($i = 0; $i < $count_results; $i++) {
$output[] = array('original_user_id_values' => $orig_user_id_value[$i], 'original_session_id_value' => $orig_session_id_value[$i], 'result' => $results[$i]);
$output[] = array(
'original_user_id_values' => $orig_user_id_value[$i],
'original_session_id_value' => $orig_session_id_value[$i],
'result' => $results[$i]
);
}
return $output;
@ -4745,17 +4754,18 @@ function WSUnsuscribeUsersFromSession($params) {
continue;
}
$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."";
$result = Database::query($sql);
$existingUsers = array();
while($row = Database::fetch_array($result)){
$existingUsers[] = $row['id_user'];
$existingUsers[] = $row['user_id'];
}
$sql = "SELECT course_code FROM $tbl_session_rel_course WHERE id_session='$id_session'";
$sql = "SELECT c_id FROM $tbl_session_rel_course WHERE session_id='$id_session'";
$result = Database::query($sql);
$CourseList = array();
while($row = Database::fetch_array($result)) {
$CourseList[] = $row['course_code'];
while ($row = Database::fetch_array($result)) {
$CourseList[] = $row['c_id'];
}
foreach ($CourseList as $enreg_course) {
@ -4766,7 +4776,7 @@ function WSUnsuscribeUsersFromSession($params) {
foreach ($existingUsers as $existing_user) {
if (!in_array($existing_user, $usersList)) {
$sql = "DELETE FROM $tbl_session_rel_course_rel_user
WHERE id_session='$id_session' AND course_code='$enreg_course' AND id_user='$existing_user'";
WHERE session_id ='$id_session' AND c_id='$enreg_course' AND user_id='$existing_user'";
$result = Database::query($sql);
if (Database::affected_rows($result)) {
@ -4775,14 +4785,14 @@ function WSUnsuscribeUsersFromSession($params) {
}
}
// Count users in this session-course relation.
$sql = "SELECT COUNT(id_user) as nbUsers
$sql = "SELECT COUNT(user_id) 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);
// update the session-course relation to add the users total
$update_sql = "UPDATE $tbl_session_rel_course SET nbr_users=$nbr_users
WHERE id_session='$id_session' AND course_code='$enreg_course'";
WHERE session_id ='$id_session' AND c_id ='$enreg_course'";
Database::query($update_sql);
}
@ -4790,7 +4800,10 @@ function WSUnsuscribeUsersFromSession($params) {
foreach ($usersList as $enreg_user) {
$enreg_user = Database::escape_string($enreg_user);
$delete_sql = "DELETE FROM $tbl_session_rel_user
WHERE id_session = '$id_session' AND id_user ='$enreg_user' AND relation_type<>".SESSION_RELATION_TYPE_RRHH."";
WHERE
session_id = '$id_session' AND
user_id = '$enreg_user' AND
relation_type<>".SESSION_RELATION_TYPE_RRHH."";
$result = Database::query($delete_sql);
$return = Database::affected_rows($result);
}
@ -4975,14 +4988,18 @@ function WSSuscribeCoursesToSession($params) {
$orig_session_id_value = array();
foreach ($coursessessions_params as $coursesession_param) {
$original_session_id_value = $coursesession_param['original_session_id_value'];
$original_session_id_name = $coursesession_param['original_session_id_name'];
$original_course_id_name = $coursesession_param['original_course_id_name'];
$original_course_id_values = $coursesession_param['original_course_id_values'];
$orig_session_id_value[] = $original_session_id_value;
$original_session_id_value = $coursesession_param['original_session_id_value'];
$original_session_id_name = $coursesession_param['original_session_id_name'];
$original_course_id_name = $coursesession_param['original_course_id_name'];
$original_course_id_values = $coursesession_param['original_course_id_values'];
$orig_session_id_value[] = $original_session_id_value;
// get session id from original session id
$sql_session = "SELECT session_id FROM $t_sf sf,$t_sfv sfv WHERE sfv.field_id=sf.id AND field_variable='$original_session_id_name' AND field_value='$original_session_id_value'";
$sql_session = "SELECT session_id FROM $t_sf sf,$t_sfv sfv
WHERE
sfv.field_id=sf.id AND
field_variable='$original_session_id_name' AND
field_value='$original_session_id_value'";
if ($debug) error_log($sql_session);
$res_session = Database::query($sql_session);
@ -4996,25 +5013,31 @@ function WSSuscribeCoursesToSession($params) {
}
// Get course list from row_original_course_id_values
$course_list = array();
$course_list = [];
$courseCodeList = [];
foreach ($original_course_id_values as $row_original_course_list) {
$course_code = Database::escape_string($row_original_course_list['course_code']);
$sql_course = "SELECT course_code FROM $t_cf cf, $t_cfv cfv WHERE cfv.field_id=cf.id AND field_variable='$original_course_id_name' AND field_value = '$course_code'";
$sql_course = "SELECT course_code FROM $t_cf cf, $t_cfv cfv
WHERE cfv.field_id=cf.id AND field_variable='$original_course_id_name' AND field_value = '$course_code'";
$res_course = Database::query($sql_course);
$row_course = Database::fetch_row($res_course);
$courseId = null;
if (empty($row_course[0])) {
continue; // course_code doesn't exist.
} else {
$sql = "SELECT code FROM $tbl_course WHERE code ='".$row_course[0]."' AND visibility = '0'";
$sql = "SELECT id FROM $tbl_course WHERE code ='".$row_course[0]."' AND visibility = '0'";
$resu = Database::query($sql);
$r_check_course = Database::fetch_row($resu);
if (!empty($r_check_course[0])) {
continue; // user_id is not active.
}
$courseInfo = api_get_course_info($row_course[0]);
$courseId = $courseInfo['real_id'];
}
$course_list[] = $row_course[0];
$courseCodeList[] = $row_course[0];
$course_list[] = $courseId;
}
if (empty($course_list)) {
@ -5022,7 +5045,7 @@ function WSSuscribeCoursesToSession($params) {
continue;
}
$orig_course_id_value[] = implode(',', $course_list);
$orig_course_id_value[] = implode(',', $courseCodeList);
// Get general coach ID
$sql = "SELECT id_coach FROM $tbl_session WHERE id='$id_session'";
@ -5031,17 +5054,17 @@ function WSSuscribeCoursesToSession($params) {
$id_coach = $id_coach[0];
// get list of courses subscribed to this session
$sql = "SELECT course_code FROM $tbl_session_rel_course WHERE id_session='$id_session'";
$sql = "SELECT c_id FROM $tbl_session_rel_course WHERE session_id ='$id_session'";
$rs = Database::query($sql);
$existingCourses = Database::store_result($rs);
$nbr_courses=count($existingCourses);
$nbr_courses = count($existingCourses);
// get list of users subscribed to this session
$sql= "SELECT id_user FROM $tbl_session_rel_user
WHERE id_session = '$id_session' AND relation_type<>".SESSION_RELATION_TYPE_RRHH."";
$result=Database::query($sql);
$user_list=Database::store_result($result);
$sql= "SELECT user_id FROM $tbl_session_rel_user
WHERE session_id = '$id_session' AND relation_type<>".SESSION_RELATION_TYPE_RRHH."";
$result = Database::query($sql);
$user_list = Database::store_result($result);
$course_directory = array();
// Pass through the courses list we want to add to the session.
@ -5051,7 +5074,7 @@ function WSSuscribeCoursesToSession($params) {
// Check if the course we want to add is already subscribed.
foreach ($existingCourses as $existingCourse) {
if ($enreg_course == $existingCourse['course_code']) {
if ($enreg_course == $existingCourse['c_id']) {
$exists = true;
}
}
@ -5059,27 +5082,28 @@ function WSSuscribeCoursesToSession($params) {
if (!$exists) {
// if the course isn't subscribed yet
$sql_insert_rel_course= "INSERT INTO $tbl_session_rel_course (id_session,course_code) VALUES ('$id_session','$enreg_course')";
Database::query($sql_insert_rel_course);
$sql = "INSERT INTO $tbl_session_rel_course (session_id, c_id) VALUES ('$id_session','$enreg_course')";
Database::query($sql);
// We add the current course in the existing courses array, to avoid adding another time the current course
$existingCourses[] = array('course_code' => $enreg_course);
$existingCourses[] = array('c_id' => $enreg_course);
$nbr_courses++;
// subscribe all the users from the session to this course inside the session
$nbr_users = 0;
foreach ($user_list as $enreg_user) {
$enreg_user_id = Database::escape_string($enreg_user['id_user']);
$sql_insert = "INSERT IGNORE INTO $tbl_session_rel_course_rel_user (id_session,course_code,id_user) VALUES ('$id_session','$enreg_course','$enreg_user_id')";
$result = Database::query($sql_insert);
$enreg_user_id = Database::escape_string($enreg_user['user_id']);
$sql = "INSERT IGNORE INTO $tbl_session_rel_course_rel_user (session_id, c_id, user_id)
VALUES ('$id_session','$enreg_course','$enreg_user_id')";
$result = Database::query($sql);
if (Database::affected_rows($result)) {
$nbr_users++;
}
}
Database::query("UPDATE $tbl_session_rel_course SET nbr_users=$nbr_users WHERE id_session='$id_session' AND course_code='$enreg_course'");
Database::query("UPDATE $tbl_session_rel_course SET nbr_users=$nbr_users WHERE session_id='$id_session' AND c_id='$enreg_course'");
$sql_directory = "SELECT directory FROM $tbl_course WHERE code = '$enreg_course'";
$sql_directory = "SELECT directory FROM $tbl_course WHERE id = '$enreg_course'";
$res_directory = Database::query($sql_directory);
$row_directory = Database::fetch_row($res_directory);
$course_directory[] = $row_directory[0];
@ -5096,7 +5120,11 @@ function WSSuscribeCoursesToSession($params) {
$count_results = count($results);
$output = array();
for ($i = 0; $i < $count_results; $i++) {
$output[] = array('original_course_id_values' => $orig_course_id_value[$i], 'original_session_id_value' => $orig_session_id_value[$i], 'result' => $results[$i]);
$output[] = array(
'original_course_id_values' => $orig_course_id_value[$i],
'original_session_id_value' => $orig_session_id_value[$i],
'result' => $results[$i]
);
}
return $output;
}
@ -5220,12 +5248,15 @@ function WSUnsuscribeCoursesFromSession($params) {
// Get courses list from row_original_course_id_values
$course_list = array();
$courseIdList = [];
foreach ($original_course_id_values as $row_original_course_list) {
$course_code = Database::escape_string($row_original_course_list['course_code']);
$sql_course = "SELECT course_code FROM $t_cf cf,$t_cfv cfv WHERE cfv.field_id=cf.id AND field_variable='$original_course_id_name' AND field_value = '$course_code'";
$sql_course = "SELECT course_code FROM $t_cf cf,$t_cfv cfv
WHERE cfv.field_id=cf.id AND field_variable='$original_course_id_name' AND field_value = '$course_code'";
$res_course = Database::query($sql_course);
$row_course = Database::fetch_row($res_course);
$courseId = null;
if (empty($row_course[0])) {
continue; // Course_code doesn't exist'
} else {
@ -5235,8 +5266,10 @@ function WSUnsuscribeCoursesFromSession($params) {
if (!empty($r_check_course[0])) {
continue; // user_id is not active.
}
$courseId = $row_course[0];
}
$course_list[] = $row_course[0];
$courseIdList[] = $courseId;
}
if (empty($course_list)) {
@ -5246,10 +5279,10 @@ function WSUnsuscribeCoursesFromSession($params) {
$orig_course_id_value[] = implode(',', $course_list);
foreach ($course_list as $enreg_course) {
$enreg_course = Database::escape_string($enreg_course);
Database::query("DELETE FROM $tbl_session_rel_course WHERE course_code='$enreg_course' AND id_session='$id_session'");
$result = Database::query("DELETE FROM $tbl_session_rel_course_rel_user WHERE course_code='$enreg_course' AND id_session='$id_session'");
foreach ($courseIdList as $courseId) {
$courseId = intval($courseId);
Database::query("DELETE FROM $tbl_session_rel_course WHERE c_id ='$courseId' AND session_id='$id_session'");
$result = Database::query("DELETE FROM $tbl_session_rel_course_rel_user WHERE c_id='$courseId' AND session_id = '$id_session'");
$return = Database::affected_rows($result);
}

@ -2745,8 +2745,13 @@ function get_list_users_without_publication($task_id, $studentId = null)
FROM $table_course_user AS cu, $table_user AS u
WHERE u.status != 1 and cu.c_id='".api_get_course_int_id()."' AND u.user_id = cu.user_id";
} else {
$sql_users = "SELECT cu.id_user, u.lastname, u.firstname, u.email FROM $session_course_rel_user AS cu, $table_user AS u
WHERE u.status != 1 and cu.c_id='".api_get_course_int_id()."' AND u.user_id = cu.user_id and cu.session_id = '".$session_id."'";
$sql_users = "SELECT cu.user_id, u.lastname, u.firstname, u.email
FROM $session_course_rel_user AS cu, $table_user AS u
WHERE
u.status != 1 AND
cu.c_id='".api_get_course_int_id()."' AND
u.user_id = cu.user_id AND
cu.session_id = '".$session_id."'";
}
if (!empty($studentId)) {

@ -21,7 +21,7 @@ $sessionExtraFieldValue = new ExtraFieldValue('session');
$joinTables = Database::get_main_table(TABLE_MAIN_SESSION) . ' s INNER JOIN ' .
Database::get_main_table(TABLE_MAIN_SESSION_USER) . ' su ON s.id = su.session_id INNER JOIN ' .
Database::get_main_table(TABLE_MAIN_USER_REL_USER) . ' uu ON su.user_id = uu.user_id INNER JOIN ' .
Database::get_main_table(TABLE_ADVANCED_SUBSCRIPTION_QUEUE) . ' asq ON su.session_id = asq.session_id AND su.id_user = asq.user_id';
Database::get_main_table(TABLE_ADVANCED_SUBSCRIPTION_QUEUE) . ' asq ON su.session_id = asq.session_id AND su.user_id = asq.user_id';
$columns = 's.id AS session_id, uu.friend_user_id AS superior_id, uu.user_id AS student_id, asq.id AS queue_id, asq.status AS status';
$conditions = array(
'where' => array(

@ -1317,13 +1317,15 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
$tSessionField = Database::get_main_table(TABLE_MAIN_SESSION_FIELD);
$tSessionFieldValues = Database::get_main_table(TABLE_MAIN_SESSION_FIELD_VALUES);
$tSessionUser = Database::get_main_table(TABLE_MAIN_SESSION_USER);
$sql = "SELECT s.id FROM $tSession AS s "
. "INNER JOIN $tSessionFieldValues AS sfv ON s.id = sfv.session_id "
. "INNER JOIN $tSessionField AS sf ON sfv.field_id = sf.id "
. "INNER JOIN $tSessionUser AS su ON s.id = su.id_session "
. "WHERE sf.field_variable = 'is_induction_session' "
. "AND su.relation_type = 0 "
. "AND su.id_user = " . intval($userId);
$sql = "SELECT s.id FROM $tSession AS s
INNER JOIN $tSessionFieldValues AS sfv ON s.id = sfv.session_id
INNER JOIN $tSessionField AS sf ON sfv.field_id = sf.id
INNER JOIN $tSessionUser AS su ON s.id = su.id_session
WHERE
sf.field_variable = 'is_induction_session' AND
su.relation_type = 0 AND
su.user_id = " . intval($userId);
$result = Database::query($sql);

@ -197,7 +197,7 @@ function userSessionList()
if ($currentUserId > 0) {
$sql = "SELECT 1 FROM $tableSessionRelUser
WHERE id_session ='".$rowSession['session_id']."' AND
id_user = $currentUserId";
user_id = $currentUserId";
$result = Database::query($sql);
if (Database::affected_rows($result) > 0) {
$rowSession['enrolled'] = "YES";
@ -314,8 +314,8 @@ function checkUserBuy($parameter, $user, $type = 'COURSE')
{
$sql = "SELECT 1 FROM %s WHERE %s ='" . Database::escape_string($parameter) . "' AND %s ='" . intval($user) . "';";
$sql = $type === 'SESSION' ?
sprintf($sql, Database::get_main_table(TABLE_MAIN_SESSION_USER), 'id_session', 'id_user') :
sprintf($sql, Database::get_main_table(TABLE_MAIN_COURSE_USER), 'course_code', 'user_id');
sprintf($sql, Database::get_main_table(TABLE_MAIN_SESSION_USER), 'session_id', 'user_id') :
sprintf($sql, Database::get_main_table(TABLE_MAIN_COURSE_USER), 'c_id', 'user_id');
$result = Database::query($sql);
if (Database::affected_rows($result) > 0) {
return true;
@ -524,13 +524,13 @@ function sessionInfo($code)
//check if the user is enrolled in the current session
if ($currentUserId > 0) {
$sql = "SELECT 1 FROM $tableSessionRelUser
WHERE id_user = $currentUserId";
WHERE user_id = $currentUserId";
$result = Database::query($sql);
if (Database::affected_rows($result) > 0) {
$rowSession['enrolled'] = "YES";
} else {
$sql = "SELECT 1 FROM $tableBuySessionTemporal
WHERE user_id='".$currentUserId."';";
WHERE user_id='".$currentUserId."';";
$result = Database::query($sql);
if (Database::affected_rows($result) > 0) {
$rowSession['enrolled'] = "TMP";

@ -119,15 +119,15 @@ if ($_REQUEST['tab'] == 'sessions_filter') {
//check if the user is enrolled in the current session
if (isset($_SESSION['_user']) || $_SESSION['_user']['user_id'] != '') {
$sql = "SELECT 1 FROM $tableSessionRelUser
WHERE id_session='".$rowSession['session_id']."' AND
id_user ='" . $_SESSION['_user']['user_id'] . "';";
WHERE session_id ='".$rowSession['session_id']."' AND
user_id ='" . api_get_user_id() . "'";
$result = Database::query($sql);
if (Database::affected_rows($result) > 0) {
$rowSession['enrolled'] = "YES";
} else {
$sql = "SELECT 1 FROM $tableBuySessionTemporal
WHERE session_id ='".$rowSession['session_id']."' AND
user_id='" . $_SESSION['_user']['user_id'] . "';";
user_id='" . api_get_user_id() . "'";
$result = Database::query($sql);
if (Database::affected_rows($result) > 0) {
$rowSession['enrolled'] = "TMP";
@ -138,7 +138,7 @@ if ($_REQUEST['tab'] == 'sessions_filter') {
} else {
$sql = "SELECT 1 FROM $tableBuySessionTemporal
WHERE session_id ='".$rowSession['session_id']."' AND
user_id='" . $_SESSION['_user']['user_id'] . "';";
user_id='" . api_get_user_id() . "'";
$result = Database::query($sql);
if (Database::affected_rows($result) > 0) {
$rowSession['enrolled'] = "TMP";

@ -40,15 +40,15 @@ class HookResubscription extends HookObserver implements HookResubscribeObserver
break;
}
$join = " INNER JOIN ".Database::get_main_table(TABLE_MAIN_SESSION)."ON id = id_session";
$join = " INNER JOIN ".Database::get_main_table(TABLE_MAIN_SESSION)."ON id = session_id";
// User sessions and courses
$userSessions = Database::select(
'id_session, date_end',
'session_id, date_end',
Database::get_main_table(TABLE_MAIN_SESSION_USER).$join,
array(
'where' => array(
'id_user = ? AND date_end >= ?' => array(
'user_id = ? AND date_end >= ?' => array(
api_get_user_id(),
$limitDate
)
@ -63,15 +63,15 @@ class HookResubscription extends HookObserver implements HookResubscribeObserver
Database::get_main_table(TABLE_MAIN_SESSION_COURSE),
array(
'where' => array(
'id_session = ?' => array(
$userSession['id_session']
'session_id = ?' => array(
$userSession['session_id']
)
)
)
);
foreach ($userSessionCourseResult as $userSessionCourse) {
if (!isset($userSessionCourses[$userSessionCourse['course_code']])) {
$userSessionCourses[$userSessionCourse['course_code']] = $userSession['date_end'];
if (!isset($userSessionCourses[$userSessionCourse['c_id']])) {
$userSessionCourses[$userSessionCourse['c_id']] = $userSession['date_end'];
}
}
@ -79,11 +79,11 @@ class HookResubscription extends HookObserver implements HookResubscribeObserver
// Current session and courses
$currentSessionCourseResult = Database::select(
'course_code',
'c_id',
Database::get_main_table(TABLE_MAIN_SESSION_COURSE),
array(
'where' => array(
'id_session = ?' => array(
'session_id = ?' => array(
$data['session_id']
)
)
@ -92,8 +92,8 @@ class HookResubscription extends HookObserver implements HookResubscribeObserver
// Check if current course code matches with one of the users
foreach ($currentSessionCourseResult as $currentSessionCourse) {
if (isset($userSessionCourses[$currentSessionCourse['course_code']])) {
$endDate = $userSessionCourses[$currentSessionCourse['course_code']];
if (isset($userSessionCourses[$currentSessionCourse['c_id']])) {
$endDate = $userSessionCourses[$currentSessionCourse['c_id']];
$resubscriptionDate = gmdate('Y-m-d', strtotime($endDate." +$resubscriptionLimit"));
$icon = Display::return_icon('students.gif', get_lang('Student'));
$canResubscribeFrom = sprintf(get_plugin_lang('CanResubscribeFromX', 'resubscription'), $resubscriptionDate);

@ -136,7 +136,7 @@ class TestMySpaceLib extends UnitTestCase {
public function testGetUserCreator() {
//ob_start();
$res = MySpace::get_user_creator($users = array(), $course_list = array(), $id_session = 1);
$res = MySpace::get_user_creator($users = array());
$this->assertTrue(is_array($res));
//ob_end_clean();
//var_dump($res);

@ -35,7 +35,7 @@ if (!empty($docs)) {
SET visibility = 2
WHERE
c_id = $courseId AND
id_session = $sessionId AND
session_id = $sessionId AND
ref = $ref AND
tool = 'document'
";

@ -53,7 +53,7 @@ Display::display_header(get_lang('UserOnlineListSession'));
date_end
FROM $tbl_session as session
INNER JOIN $tbl_session_course_user as srcru
ON srcru.id_user = ".$_user['user_id']." AND srcru.status=2
ON srcru.user_id = ".$_user['user_id']." AND srcru.status=2
AND session.id = srcru.session_id
ORDER BY date_start, date_end, name";
$result = Database::query($sql);

Loading…
Cancel
Save