Fixed missing id_coach field into session_rel_course table - partial DT#5496

skala
Cristian Fasanando 16 years ago
parent 1d2b04c227
commit dcaa2dbc2b
  1. 4
      main/inc/lib/course.lib.php
  2. 54
      main/inc/lib/tracking.lib.php
  3. 21
      main/mySpace/coaches.php
  4. 12
      main/mySpace/index.php
  5. 7
      main/work/work.php
  6. 15
      whoisonlinesession.php

@ -755,8 +755,8 @@ class CourseManager {
return true;
}
if (Database::num_rows(Database::query('SELECT 1 FROM '.Database::get_main_table(TABLE_MAIN_SESSION_COURSE).
' WHERE id_coach = '.$user_id.' AND course_code="'.$course_code.'"', __FILE__, __LINE__)) > 0) {
if (Database::num_rows(Database::query('SELECT 1 FROM '.Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER).
' WHERE id_user = '.$user_id.' AND status=2 AND course_code="'.$course_code.'"', __FILE__, __LINE__)) > 0) {
return true;
}

@ -605,36 +605,38 @@ class Tracking {
$tbl_session_course_user = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
$tbl_session_course = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE);
$tbl_session_user = Database :: get_main_table(TABLE_MAIN_SESSION_USER);
$tbl_session = Database :: get_main_table(TABLE_MAIN_SESSION);
$a_students = array ();
//////////////////////////////////////////////////////////////
// At first, courses where $coach_id is coach of the course //
//////////////////////////////////////////////////////////////
$sql = 'SELECT id_session, course_code FROM ' . $tbl_session_course . ' WHERE id_coach=' . $coach_id;
//////////////////////////////////////////////////////////////
$sql = 'SELECT id_session, course_code FROM ' . $tbl_session_course_user . ' WHERE id_user=' . $coach_id.' AND status=2';
global $_configuration;
if ($_configuration['multiple_access_urls']==true) {
$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 id_session, course_code
FROM ' . $tbl_session_course . ' session_course INNER JOIN '.$tbl_session_rel_access_url.' session_rel_url
ON (session_course.id_session=session_rel_url.session_id)
WHERE id_coach=' . $coach_id.' AND access_url_id = '.$access_url_id;
$sql = 'SELECT scu.id_session, scu.course_code
FROM ' . $tbl_session_course_user . ' scu INNER JOIN '.$tbl_session_rel_access_url.' sru
ON (scu.id_session=sru.session_id)
WHERE scu.id_user=' . $coach_id.' AND scu.status=2 AND sru.access_url_id = '.$access_url_id;
}
}
$result = Database::query($sql,__FILE__,__LINE__);
while ($a_courses = Database::fetch_array($result)) {
$course_code = $a_courses["course_code"];
$id_session = $a_courses["id_session"];
$sql = "SELECT distinct srcru.id_user
FROM $tbl_session_course_user AS srcru
WHERE course_code='$course_code' AND id_session='$id_session'";
FROM $tbl_session_course_user AS srcru, $tbl_session_user sru
WHERE srcru.id_user = sru.id_user AND srcru.id_session = sru.id_session AND srcru.course_code='$course_code' AND srcru.id_session='$id_session'";
$rs = Database::query($sql,__FILE__,__LINE__);
@ -649,6 +651,7 @@ class Tracking {
$sql = 'SELECT session_course_user.id_user
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.id_session = sru.id_session
INNER JOIN ' . $tbl_session_course . ' as session_course
ON session_course.course_code = session_course_user.course_code
AND session_course_user.id_session = session_course.id_session
@ -661,6 +664,7 @@ class Tracking {
if ($access_url_id != -1){
$sql = 'SELECT session_course_user.id_user
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.id_session = sru.id_session
INNER JOIN ' . $tbl_session_course . ' as session_course
ON session_course.course_code = session_course_user.course_code
AND session_course_user.id_session = session_course.id_session
@ -693,7 +697,7 @@ class Tracking {
//////////////////////////////////////////////////////////////
// At first, courses where $coach_id is coach of the course //
//////////////////////////////////////////////////////////////
$sql = 'SELECT course_code FROM ' . $tbl_session_course . ' WHERE id_session="' . $id_session . '" AND id_coach=' . $coach_id;
$sql = 'SELECT course_code FROM ' . $tbl_session_course_user . ' WHERE id_session="' . $id_session . '" AND id_user=' . $coach_id.' AND status=2';
$result = Database::query($sql,__FILE__,__LINE__);
@ -739,12 +743,15 @@ class Tracking {
//////////////////////////////////////////////////////////////
// At first, courses where $coach_id is coach of the course //
//////////////////////////////////////////////////////////////
$sql = 'SELECT 1
/*$sql = 'SELECT 1
FROM ' . $tbl_session_course_user . ' AS session_course_user
INNER JOIN ' . $tbl_session_course . ' AS session_course
ON session_course.course_code = session_course_user.course_code
AND id_coach=' . $coach_id . '
WHERE id_user=' . $student_id;
WHERE id_user=' . $student_id;*/
$sql = 'SELECT 1 FROM ' . $tbl_session_course_user . ' WHERE id_user=' . $coach_id .' AND status=2';
$result = Database::query($sql, __FILE__, __LINE__);
if (Database::num_rows($result) > 0) {
return true;
@ -786,16 +793,16 @@ class Tracking {
//////////////////////////////////////////////////////////////
// At first, courses where $coach_id is coach of the course //
//////////////////////////////////////////////////////////////
$sql = 'SELECT DISTINCT course_code FROM ' . $tbl_session_course . ' WHERE id_coach=' . $coach_id;
$sql = 'SELECT DISTINCT course_code FROM ' . $tbl_session_course_user . ' WHERE id_user=' . $coach_id.' AND status=2';
global $_configuration;
if ($_configuration['multiple_access_urls']==true) {
$tbl_course_rel_access_url= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
$access_url_id = api_get_current_access_url_id();
if ($access_url_id != -1){
$sql = 'SELECT DISTINCT session_course.course_code FROM ' . $tbl_session_course . ' session_course INNER JOIN '.$tbl_course_rel_access_url.' course_rel_url
ON (session_course.course_code = course_rel_url.course_code)
WHERE id_coach=' . $coach_id.' AND access_url_id = '.$access_url_id;
$sql = 'SELECT DISTINCT scu.course_code FROM ' . $tbl_session_course_user . ' scu INNER JOIN '.$tbl_course_rel_access_url.' cru
ON (scu.course_code = cru.course_code)
WHERE scu.id_user=' . $coach_id.' AND scu.status=2 AND cru.access_url_id = '.$access_url_id;
}
}
@ -855,6 +862,7 @@ class Tracking {
// table definition
$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);
// protect datas
$coach_id = intval($coach_id);
@ -886,9 +894,9 @@ class Tracking {
// session where we are coach of a course
$sql = 'SELECT DISTINCT session.id, session.name, session.date_start, session.date_end
FROM ' . $tbl_session . ' as session
INNER JOIN ' . $tbl_session_course . ' as session_course
ON session.id = session_course.id_session
AND session_course.id_coach=' . $coach_id;
INNER JOIN ' . $tbl_session_course_user . ' as session_course_user
ON session.id = session_course_user.id_session
AND session_course_user.id_user=' . $coach_id.' AND session_course_user.status=2';
global $_configuration;
if ($_configuration['multiple_access_urls']==true) {
@ -897,8 +905,8 @@ class Tracking {
if ($access_url_id != -1){
$sql = 'SELECT DISTINCT session.id, session.name, session.date_start, session.date_end
FROM ' . $tbl_session . ' as session
INNER JOIN ' . $tbl_session_course . ' as session_course
ON session.id = session_course.id_session AND session_course.id_coach=' . $coach_id.'
INNER JOIN ' . $tbl_session_course_user . ' as session_course_user
ON session.id = session_course_user.id_session AND session_course_user.id_user=' . $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)
WHERE access_url_id = '.$access_url_id;
@ -950,8 +958,8 @@ class Tracking {
// table definition
$tbl_session = Database :: get_main_table(TABLE_MAIN_SESSION);
$tbl_session_course = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE);
$sql = 'SELECT DISTINCT course_code, id_coach
$sql = 'SELECT DISTINCT course_code
FROM ' . $tbl_session_course . '
WHERE id_session=' . $session_id;
@ -1358,4 +1366,4 @@ class Tracking {
return $avg_student_score;
}
}
?>
?>

@ -67,21 +67,22 @@ if (isset($_POST['export'])) {
}
if (isset($_GET["id_student"])) {
$id_student = intval($_GET["id_student"]);
$sql_coachs = "SELECT DISTINCT src.id_coach " .
"FROM $tbl_session_rel_course as src, $tbl_session_rel_course_rel_user as srcru " .
"WHERE src.id_coach<>'0' AND src.course_code=srcru.course_code AND srcru.id_user='$id_student' AND srcru.id_session=src.id_session";
$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";
} else {
if (api_is_platform_admin()) {
$sql_coachs = "SELECT DISTINCT id_coach, user_id, lastname, firstname
FROM $tbl_user, $tbl_session_rel_course
WHERE id_coach=user_id".$order_clause;
$sql_coachs = "SELECT DISTINCT srcru.id_user 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;
} else {
$sql_coachs = "SELECT DISTINCT id_coach, $tbl_user.user_id, lastname, firstname
FROM $tbl_user as user, $tbl_session_rel_course as session_rel_course, $tbl_course_user as course_rel_user
WHERE course_rel_user.course_code=session_rel_course.course_code AND course_rel_user.status='1' AND course_rel_user.user_id='".intval($_SESSION["_uid"])."'
AND session_rel_course.id_coach=user.user_id".$order_clause;
$sql_coachs = "SELECT DISTINCT id_user 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
WHERE course_rel_user.course_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 srcu.status=2 ".$order_clause;
}
}
$result_coachs = Database::query($sql_coachs, __FILE__, __LINE__);
if (api_is_western_name_order()) {

@ -626,9 +626,9 @@ if ($is_platform_admin && $view == 'admin') {
$tbl_track_login = Database :: get_statistic_table(TABLE_STATISTIC_TRACK_E_LOGIN);
$sqlCoachs = "SELECT DISTINCT id_coach, user_id, lastname, firstname, MAX(login_date) as login_date
FROM $tbl_user, $tbl_session_course, $tbl_track_login
WHERE id_coach=user_id AND login_user_id=user_id
$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 ";
// ORDER BY login_date ".$tracking_direction;
@ -636,9 +636,9 @@ if ($is_platform_admin && $view == 'admin') {
$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 id_coach, user_id, lastname, firstname, MAX(login_date) as login_date
FROM $tbl_user, $tbl_session_course, $tbl_track_login , $tbl_session_rel_access_url 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=id_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 , $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 ";
}
}

@ -110,6 +110,7 @@ $table_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
$table_user = Database :: get_main_table(TABLE_MAIN_USER);
$table_session = Database :: get_main_table(TABLE_MAIN_SESSION);
$table_session_course = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE);
$table_session_course_user = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
/*
-----------------------------------------------------------
Constants and variables
@ -1034,10 +1035,10 @@ if (!empty($_POST['submitWork']) && !empty($succeed) && !$id) {
//coach of the course
$sql_resp = 'SELECT user.email as myemail
FROM ' . $table_session_course . ' session_course
FROM ' . $table_session_course_user . ' scu
INNER JOIN ' . $table_user . ' user
ON user.user_id = session_course.id_coach
WHERE session_course.id_session = ' . intval($id_session);
ON user.user_id = scu.id_user AND scu.status=2
WHERE scu.id_session = ' . intval($id_session);
$res_resp = Database::query($sql_resp, __FILE__, __LINE__);
while ($row_email = Database :: fetch_array($res_resp)) {
if (!empty ($row_email['myemail'])) {

@ -9,6 +9,7 @@ api_block_anonymous_users();
$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);
/*
-----------------------------------------------------------
@ -27,16 +28,16 @@ Display::display_header(get_lang('UserOnlineListSession'));
</td>
</tr>
<tr>
<th class="head">
<th>
<?php echo get_lang('Name'); ?>
</th>
<th class="head">
<th>
<?php echo get_lang('InCourse'); ?>
</th>
<th class="head">
<th>
<?php echo get_lang('Email'); ?>
</th>
<th class="head">
<th>
<?php echo get_lang('Chat'); ?>
</th>
</tr>
@ -49,9 +50,9 @@ Display::display_header(get_lang('UserOnlineListSession'));
date_start,
date_end
FROM $tbl_session as session
INNER JOIN $tbl_session_course as session_rel_course
ON session_rel_course.id_coach = ".$_user['user_id']."
AND session.id = session_rel_course.id_session
INNER JOIN $tbl_session_course_user as srcru
ON srcru.id_user = ".$_user['user_id']." AND srcru.status=2
AND session.id = srcru.id_session
ORDER BY date_start, date_end, name",__FILE__,__LINE__);
while ($session = Database:: fetch_array($result)) {

Loading…
Cancel
Save