diff --git a/main/inc/lib/tracking.lib.php b/main/inc/lib/tracking.lib.php
index fea90b3935..aaf3b24a89 100644
--- a/main/inc/lib/tracking.lib.php
+++ b/main/inc/lib/tracking.lib.php
@@ -35,33 +35,33 @@ class Tracking {
$tbl_track_login = Database :: get_statistic_table(TABLE_STATISTIC_TRACK_E_LOGIN);
$condition_time = '';
-
+
if (empty($time_filter)) {
$time_filter = 'last_week';
- }
-
+ }
+
$today = date('Y-m-d H:i:s');
-
+
switch ($time_filter) {
case 'last_7_days':
- $new_date = strtotime('-7 day');
+ $new_date = strtotime('-7 day');
$new_date = date('Y-m-d H:i:s', $new_date);
$condition_time = ' AND (login_date >= "'.$new_date.'" AND logout_date <= "'.$today.'") ';
break;
case 'last_30_days':
- $new_date = strtotime('-30 day');
+ $new_date = strtotime('-30 day');
$new_date = date('Y-m-d H:i:s', $new_date);
$condition_time = ' AND (login_date >= "'.$new_date.'" AND logout_date <= "'.$today.'") ';
- break;
+ break;
case 'custom':
if (!empty($start_date) && !empty($end_date)) {
- $condition_time = ' AND (login_date >= "'.$start_date.'" AND logout_date <= "'.$end_date.'" ) ';
+ $condition_time = ' AND (login_date >= "'.$start_date.'" AND logout_date <= "'.$end_date.'" ) ';
}
break;
}
$sql = 'SELECT login_date, logout_date FROM '.$tbl_track_login.'
- WHERE login_user_id = '.intval($user_id).$condition_time;
+ WHERE login_user_id = '.intval($user_id).$condition_time;
$rs = Database::query($sql);
$nb_seconds = 0;
@@ -127,7 +127,7 @@ class Tracking {
$sql = "SELECT SUM(UNIX_TIMESTAMP(logout_course_date) - UNIX_TIMESTAMP(login_course_date)) as nb_seconds
FROM $tbl_track_course
WHERE UNIX_TIMESTAMP(logout_course_date) > UNIX_TIMESTAMP(login_course_date) AND course_code='$course_code' AND session_id = '$session_id' $condition_user";
-
+
$rs = Database::query($sql);
$row = Database::fetch_array($rs);
return $row['nb_seconds'];
@@ -243,12 +243,12 @@ class Tracking {
$session_id = intval($session_id);
$tbl_track_e_course_access = Database :: get_statistic_table(TABLE_STATISTIC_TRACK_E_COURSE_ACCESS);
- $sql = 'SELECT login_course_date
+ $sql = 'SELECT login_course_date
FROM '.$tbl_track_e_course_access.'
- WHERE user_id = '.$student_id.' AND
- course_code = "'.$course_code.'" AND
+ WHERE user_id = '.$student_id.' AND
+ course_code = "'.$course_code.'" AND
session_id = '.$session_id.'
- ORDER BY login_course_date DESC
+ ORDER BY login_course_date DESC
LIMIT 0,1';
$rs = Database::query($sql);
@@ -259,12 +259,12 @@ class Tracking {
}
//$last_login_date_timestamp = api_strtotime($last_login_date, 'UTC');
//see #5736
- $last_login_date_timestamp = api_strtotime($last_login_date);
+ $last_login_date_timestamp = api_strtotime($last_login_date);
$now = time();
//If the last connection is > than 7 days, the text is red
//345600 = 7 days in seconds
if ($now - $last_login_date_timestamp > 604800) {
- if ($convert_date) {
+ if ($convert_date) {
$last_login_date = api_convert_and_format_date($last_login_date, DATE_FORMAT_SHORT);
$icon = api_is_allowed_to_edit() ? '
': null;
return $icon. Display::label($last_login_date, 'warning');
@@ -357,7 +357,7 @@ class Tracking {
*/
public static function get_avg_student_exercise_score($student_id, $course_code, $exercise_id = 0, $session_id = null) {
$course_info = api_get_course_info($course_code);
-
+
if (!empty($course_info)) {
// table definition
$tbl_course_quiz = Database::get_course_table(TABLE_QUIZ_TEST);
@@ -376,32 +376,32 @@ class Tracking {
$session_id = intval($session_id);
$condition_session = " AND session_id = $session_id ";
}
- $sql = "SELECT count(id) FROM $tbl_course_quiz
- WHERE c_id = {$course_info['real_id']} AND active <> -1 $condition_quiz ";
+ $sql = "SELECT count(id) FROM $tbl_course_quiz
+ WHERE c_id = {$course_info['real_id']} AND active <> -1 $condition_quiz ";
$count_quiz = Database::fetch_row(Database::query($sql));
if (!empty($count_quiz[0]) && !empty($student_id)) {
- $condition_user = "";
+ $condition_user = "";
if (is_array($student_id)) {
$condition_user = " AND exe_user_id IN (".implode(',',$student_id).") ";
} else {
$condition_user = " AND exe_user_id = '$student_id' ";
}
- if (empty($exercise_id)) {
- $sql = "SELECT id FROM $tbl_course_quiz
+ if (empty($exercise_id)) {
+ $sql = "SELECT id FROM $tbl_course_quiz
WHERE c_id = {$course_info['real_id']} AND active <> -1 $condition_quiz";
$result = Database::query($sql);
$exercise_list = array();
$exercise_id = null;
if (Database::num_rows($result)) {
- while ($row = Database::fetch_array($result)) {
+ while ($row = Database::fetch_array($result)) {
$exercise_list[] = $row['id'];
}
}
if (!empty($exercise_list)) {
$exercise_id = implode("','",$exercise_list);
- }
+ }
}
$count_quiz = Database::fetch_row(Database::query($sql));
@@ -415,19 +415,19 @@ class Tracking {
exe_cours_id = '$course_code' AND
orig_lp_item_id = 0 $condition_session
ORDER BY exe_date DESC";
-
+
$res = Database::query($sql);
$row = Database::fetch_array($res);
$quiz_avg_score = 0;
-
- if (!empty($row['avg_score'])) {
- $quiz_avg_score = round($row['avg_score'],2);
+
+ if (!empty($row['avg_score'])) {
+ $quiz_avg_score = round($row['avg_score'],2);
}
-
- if(!empty($row['num_attempts'])) {
- $quiz_avg_score = round($quiz_avg_score / $row['num_attempts'], 2);
+
+ if(!empty($row['num_attempts'])) {
+ $quiz_avg_score = round($quiz_avg_score / $row['num_attempts'], 2);
}
- if (is_array($student_id)) {
+ if (is_array($student_id)) {
$quiz_avg_score = round($quiz_avg_score / count($student_id), 2);
}
return $quiz_avg_score;
@@ -438,7 +438,7 @@ class Tracking {
/**
- * Get count student's exercise COMPLETED attempts
+ * Get count student's exercise COMPLETED attempts
* @param int Student id
* @param string Course code
* @param int Exercise id
@@ -456,7 +456,7 @@ class Tracking {
if (!empty($lp_id)) $lp_id = intval($lp_id);
if (!empty($lp_item_id)) $lp_id = intval($lp_item_id);
-
+
$tbl_stats_exercices = Database :: get_statistic_table(TABLE_STATISTIC_TRACK_E_EXERCICES);
$sql = "SELECT COUNT(ex.exe_id) as essais FROM $tbl_stats_exercices AS ex
@@ -465,13 +465,13 @@ class Tracking {
AND status = ''
AND orig_lp_id = $lp_id
AND orig_lp_item_id = $lp_item_id
- AND exe_user_id= $student_id
+ AND exe_user_id= $student_id
AND session_id = $session_id ";
-
+
$rs = Database::query($sql);
$row = Database::fetch_row($rs);
$count_attempts = $row[0];
-
+
return $count_attempts;
}
@@ -481,32 +481,32 @@ class Tracking {
* @param string course code
* @param int session id
*/
-
+
static function get_exercise_student_progress($exercise_list, $user_id, $course_code, $session_id) {
$course_code = Database::escape_string($course_code);
$user_id = intval($user_id);
- $session_id = intval($session_id);
-
+ $session_id = intval($session_id);
+
if (empty($exercise_list)) {
return '0%';
- }
+ }
$tbl_stats_exercices = Database :: get_statistic_table(TABLE_STATISTIC_TRACK_E_EXERCICES);
- $exercise_list = array_keys($exercise_list);
+ $exercise_list = array_keys($exercise_list);
$exercise_list = array_map('intval', $exercise_list);
-
+
$exercise_list_imploded = implode("' ,'", $exercise_list);
-
+
$sql = "SELECT COUNT(DISTINCT ex.exe_exo_id) FROM $tbl_stats_exercices AS ex
WHERE ex.exe_cours_id = '$course_code' AND
ex.session_id = $session_id AND
ex.exe_user_id = $user_id AND ex.exe_exo_id IN ('$exercise_list_imploded') ";
-
+
$rs = Database::query($sql);
$count = 0;
if ($rs) {
$row = Database::fetch_row($rs);
$count = $row[0];
- }
+ }
$count = ($count != 0 ) ? 100*round(intval($count)/count($exercise_list), 2) .'%' : '0%';
return $count;
}
@@ -516,19 +516,19 @@ class Tracking {
$result = 0;
if (!empty($exercise_list)) {
foreach ($exercise_list as $exercise_data) {
- $exercise_id = $exercise_data['id'];
+ $exercise_id = $exercise_data['id'];
$best_attempt = get_best_attempt_exercise_results_per_user($user_id, $exercise_id , $course_code, $session_id);
- if (!empty($best_attempt)) {
- $result += $best_attempt['exe_result']/$best_attempt['exe_weighting'];
+ if (!empty($best_attempt)) {
+ $result += $best_attempt['exe_result']/$best_attempt['exe_weighting'];
}
}
$result = $result/ count($exercise_list);
$result = round($result, 2)*100;
}
-
- return $result.'%';
-
+
+ return $result.'%';
+
}
/**
@@ -561,10 +561,10 @@ class Tracking {
$session_id = intval($session_id);
$sql = "SELECT id FROM $tbl_course_lp lp WHERE c_id = {$course_info['real_id']} $condition_lp";
$res_count_lp = Database::query($sql);
-
+
// count the number of learning paths
$lp_id = array();
- while ($row_lp = Database::fetch_array($res_count_lp,'ASSOC')) {
+ while ($row_lp = Database::fetch_array($res_count_lp,'ASSOC')) {
$lp_id[] = $row_lp['id'];
}
$count_lp = count($lp_id);
@@ -582,11 +582,11 @@ class Tracking {
}
// Get last view for each student (in case of multi-attempt)
// Also filter on LPs of this session
- $sql_maxes = "SELECT MAX(view_count), progress FROM $tbl_course_lp_view lp_view
- WHERE c_id = {$course_info['real_id']} AND
- $condition_user session_id = $session_id AND
- lp_view.lp_id IN (".implode(',',$lp_id).")
- GROUP BY lp_id, user_id";
+ $sql_maxes = "SELECT MAX(view_count), progress FROM $tbl_course_lp_view lp_view
+ WHERE c_id = {$course_info['real_id']} AND
+ $condition_user session_id = $session_id AND
+ lp_view.lp_id IN (".implode(',',$lp_id).")
+ GROUP BY lp_id, user_id";
$res_maxes = Database::query($sql_maxes);
$sum = 0;
while ($row_maxes = Database::fetch_array($res_maxes)) {
@@ -632,7 +632,7 @@ class Tracking {
$debug = false;
}
- if ($debug) echo '
Tracking::get_avg_student_score
';
+ if ($debug) echo 'Tracking::get_avg_student_score
';
$tbl_stats_exercices = Database :: get_statistic_table(TABLE_STATISTIC_TRACK_E_EXERCICES);
$tbl_stats_attempts = Database :: get_statistic_table(TABLE_STATISTIC_TRACK_E_ATTEMPT);
@@ -707,10 +707,10 @@ class Tracking {
// Getting latest LP result for a student
//@todo problem when a course have more than 1500 users
$sql = "SELECT MAX(view_count) as vc, id, progress, lp_id, user_id FROM $lp_view_table
- WHERE c_id = $course_id AND
- lp_id IN (".implode(',',$lp_list).")
- $condition_user1 AND
- session_id = $session_id
+ WHERE c_id = $course_id AND
+ lp_id IN (".implode(',',$lp_list).")
+ $condition_user1 AND
+ session_id = $session_id
GROUP BY lp_id, user_id";
if ($debug) echo $sql;
$rs_last_lp_view_id = Database::query($sql);
@@ -718,7 +718,7 @@ class Tracking {
$global_result = 0;
if (Database::num_rows($rs_last_lp_view_id) > 0) {
- // Cycle through each line of the results (grouped by lp_id, user_id)
+ // Cycle through each line of the results (grouped by lp_id, user_id)
while ($row_lp_view = Database::fetch_array($rs_last_lp_view_id)) {
$count_items = 0;
$lp_partial_total = 0;
@@ -730,12 +730,12 @@ class Tracking {
$user_id = $row_lp_view['user_id'];
if ($debug) echo 'LP id '.$lp_id.'
';
- if ($get_only_latest_attempt_results) {
+ if ($get_only_latest_attempt_results) {
//Getting lp_items done by the user
- $sql = "SELECT DISTINCT lp_item_id
+ $sql = "SELECT DISTINCT lp_item_id
FROM $lp_item_view_table
- WHERE c_id = $course_id AND
- lp_view_id = $lp_view_id
+ WHERE c_id = $course_id AND
+ lp_view_id = $lp_view_id
ORDER BY lp_item_id";
$res_lp_item = Database::query($sql);
@@ -743,22 +743,22 @@ class Tracking {
$my_lp_item_id = $row_lp_item['lp_item_id'];
//Getting the most recent attempt
- $sql = "SELECT lp_iv.id as lp_item_view_id,
+ $sql = "SELECT lp_iv.id as lp_item_view_id,
lp_iv.score as score,
- lp_i.max_score,
- lp_iv.max_score as max_score_item_view,
- lp_i.path,
- lp_i.item_type,
+ lp_i.max_score,
+ lp_iv.max_score as max_score_item_view,
+ lp_i.path,
+ lp_i.item_type,
lp_i.id as iid
- FROM $lp_item_view_table as lp_iv
- INNER JOIN $lp_item_table as lp_i
- ON lp_i.id = lp_iv.lp_item_id AND
- lp_iv.c_id = $course_id AND
- lp_i.c_id = $course_id AND
- (lp_i.item_type='sco' OR lp_i.item_type='".TOOL_QUIZ."')
- WHERE lp_item_id = $my_lp_item_id AND
- lp_view_id = $lp_view_id
- ORDER BY view_count DESC
+ FROM $lp_item_view_table as lp_iv
+ INNER JOIN $lp_item_table as lp_i
+ ON lp_i.id = lp_iv.lp_item_id AND
+ lp_iv.c_id = $course_id AND
+ lp_i.c_id = $course_id AND
+ (lp_i.item_type='sco' OR lp_i.item_type='".TOOL_QUIZ."')
+ WHERE lp_item_id = $my_lp_item_id AND
+ lp_view_id = $lp_view_id
+ ORDER BY view_count DESC
LIMIT 1";
$res_lp_item_result = Database::query($sql);
while ($row_max_score = Database::fetch_array($res_lp_item_result,'ASSOC')) {
@@ -768,15 +768,15 @@ class Tracking {
} else {
// For the currently analysed view, get the score and
// max_score of each item if it is a sco or a TOOL_QUIZ
- $sql_max_score = "SELECT lp_iv.id as lp_item_view_id,
+ $sql_max_score = "SELECT lp_iv.id as lp_item_view_id,
lp_iv.score as score,
- lp_i.max_score,
- lp_iv.max_score as max_score_item_view,
- lp_i.path,
- lp_i.item_type,
+ lp_i.max_score,
+ lp_iv.max_score as max_score_item_view,
+ lp_i.path,
+ lp_i.item_type,
lp_i.id as iid
- FROM $lp_item_view_table as lp_iv
- INNER JOIN $lp_item_table as lp_i
+ FROM $lp_item_view_table as lp_iv
+ INNER JOIN $lp_item_table as lp_i
ON lp_i.id = lp_iv.lp_item_id AND
lp_iv.c_id = $course_id AND
lp_i.c_id = $course_id AND
@@ -789,7 +789,7 @@ class Tracking {
while ($row_max_score = Database::fetch_array($res_max_score,'ASSOC')) {
$list[]= $row_max_score;
}
- }
+ }
// Go through each scorable element of this view
@@ -829,12 +829,12 @@ class Tracking {
// Get last attempt to this exercise through
// the current lp for the current user
$sql_last_attempt = "SELECT exe_id FROM $tbl_stats_exercices WHERE
- exe_exo_id = '$item_path' AND
- exe_user_id = $user_id AND
- orig_lp_item_id = $item_id AND
- orig_lp_item_view_id = $lp_item_view_id AND
+ exe_exo_id = '$item_path' AND
+ exe_user_id = $user_id AND
+ orig_lp_item_id = $item_id AND
+ orig_lp_item_view_id = $lp_item_view_id AND
exe_cours_id = '$course_code' AND
- session_id = $session_id
+ session_id = $session_id
ORDER BY exe_date DESC LIMIT 1";
if ($debug) echo $sql_last_attempt .'
';
$result_last_attempt = Database::query($sql_last_attempt);
@@ -852,9 +852,9 @@ class Tracking {
// the max_scores of all questions that it was
// made of (we need to make this call dynamic because of random questions selection)
$sql = "SELECT SUM(t.ponderation) as maxscore FROM
- (
- SELECT DISTINCT question_id, marks, ponderation
- FROM $tbl_stats_attempts AS at INNER JOIN $tbl_quiz_questions AS q ON (q.id = at.question_id)
+ (
+ SELECT DISTINCT question_id, marks, ponderation
+ FROM $tbl_stats_attempts AS at INNER JOIN $tbl_quiz_questions AS q ON (q.id = at.question_id)
WHERE exe_id ='$id_last_attempt' AND q.c_id = $course_id
)
AS t";
@@ -900,7 +900,7 @@ class Tracking {
if ($debug) var_dump($lp_list);
foreach ($lp_list as $lp_id) {
//Check if LP have a score we asume that all SCO have an score
- $sql = "SELECT count(id) as count FROM $lp_item_table
+ $sql = "SELECT count(id) as count FROM $lp_item_table
WHERE c_id = $course_id AND (item_type = 'quiz' OR item_type = 'sco') AND lp_id = ".$lp_id;
if ($debug) echo $sql;
$result_have_quiz = Database::query($sql);
@@ -991,9 +991,9 @@ class Tracking {
ON item_view.lp_view_id = view.id
WHERE
item_view.c_id = '.$course_id.' AND
- view.c_id = '.$course_id.' AND
+ view.c_id = '.$course_id.' AND
view.lp_id = '.$lp_id.'
- AND view.user_id = '.$student_id.' AND
+ AND view.user_id = '.$student_id.' AND
session_id = '.$session_id;
$rs = Database::query($sql);
@@ -1041,9 +1041,9 @@ class Tracking {
ON item_view.lp_view_id = view.id
WHERE
item_view.c_id = '.$course_id.' AND
- view.c_id = '.$course_id.' AND
+ view.c_id = '.$course_id.' AND
view.lp_id = '.$lp_id.'
- AND view.user_id = '.$student_id.'
+ AND view.user_id = '.$student_id.'
AND view.session_id = '.$session_id;
$rs = Database::query($sql);
if (Database :: num_rows($rs) > 0) {
@@ -1303,7 +1303,7 @@ class Tracking {
$sql .= ' WHERE access_url_id = '.$access_url_id;
}
- $result = Database::query($sql);
+ $result = Database::query($sql);
while ($row = Database::fetch_array($result)) {
$a_courses[$row['course_code']] = $row['course_code'];
}
@@ -1461,13 +1461,13 @@ class Tracking {
$condition_session = " AND pub.session_id = $session_id ";
}
- $sql = "SELECT count(ip.tool)
- FROM $tbl_item_property ip INNER JOIN $tbl_document pub
- ON ip.ref = pub.id
- WHERE ip.c_id = $course_id AND
+ $sql = "SELECT count(ip.tool)
+ FROM $tbl_item_property ip INNER JOIN $tbl_document pub
+ ON ip.ref = pub.id
+ WHERE ip.c_id = $course_id AND
pub.c_id = $course_id AND
pub.filetype ='file' AND
- ip.tool = 'document'
+ ip.tool = 'document'
$condition_user $condition_session ";
$rs = Database::query($sql);
$row = Database::fetch_row($rs);
@@ -1509,12 +1509,12 @@ class Tracking {
$condition_session = " AND pub.session_id = $session_id ";
}
- $sql = "SELECT count(ip.tool)
- FROM $tbl_item_property ip INNER JOIN $tbl_student_publication pub
- ON ip.ref = pub.id
- WHERE ip.c_id = $course_id AND
+ $sql = "SELECT count(ip.tool)
+ FROM $tbl_item_property ip INNER JOIN $tbl_student_publication pub
+ ON ip.ref = pub.id
+ WHERE ip.c_id = $course_id AND
pub.c_id = $course_id AND
- ip.tool='work'
+ ip.tool='work'
$condition_user $condition_session ";
$rs = Database::query($sql);
$row = Database::fetch_row($rs);
@@ -1561,11 +1561,11 @@ class Tracking {
$condition_session = " AND forum.session_id = $session_id";
}
- $sql = "SELECT 1 FROM $tbl_forum_post post INNER JOIN $tbl_forum forum
- ON forum.forum_id = post.forum_id
+ $sql = "SELECT 1 FROM $tbl_forum_post post INNER JOIN $tbl_forum forum
+ ON forum.forum_id = post.forum_id
WHERE post.c_id = $course_id AND
forum.c_id = $course_id
- $condition_user $condition_session ";
+ $condition_user $condition_session ";
$rs = Database::query($sql);
return Database::num_rows($rs);
} else {
@@ -1597,11 +1597,11 @@ class Tracking {
$course_id = $a_course['real_id'];
- $sql = "SELECT count(*) FROM $tbl_posts p INNER JOIN $tbl_forums f
+ $sql = "SELECT count(*) FROM $tbl_posts p INNER JOIN $tbl_forums f
ON f.forum_id = p.forum_id
- WHERE p.c_id = $course_id AND
+ WHERE p.c_id = $course_id AND
f.c_id = $course_id
- $condition_session
+ $condition_session
";
$result = Database::query($sql);
$row = Database::fetch_row($result);
@@ -1622,7 +1622,7 @@ class Tracking {
$course_info = api_get_course_info($course_code);
if (empty($course_info)) {
return null;
- }
+ }
$course_id = $course_info['real_id'];
$count = 0;
@@ -1635,7 +1635,7 @@ class Tracking {
$condition_session = ' AND f.session_id = '. $session_id;
}
- $sql = "SELECT count(*) FROM $tbl_threads t INNER JOIN $tbl_forums f ON f.forum_id = t.forum_id
+ $sql = "SELECT count(*) FROM $tbl_threads t INNER JOIN $tbl_forums f ON f.forum_id = t.forum_id
WHERE t.c_id = $course_id AND f.c_id = $course_id $condition_session ";
$result = Database::query($sql);
if (Database::num_rows($result)) {
@@ -1657,14 +1657,14 @@ class Tracking {
$course_info = api_get_course_info($course_code);
if (empty($course_info)) {
return null;
- }
+ }
$course_id = $course_info['real_id'];
$condition_session = '';
if (isset($session_id)) {
$session_id = intval($session_id);
$condition_session = ' session_id = '. $session_id;
- }
+ }
$tbl_forums = Database :: get_course_table(TABLE_FORUM);
$sql = "SELECT count(*) FROM $tbl_forums WHERE c_id = $course_id AND $condition_session";
@@ -1685,11 +1685,11 @@ class Tracking {
* @param int Session id (optional)
* @return int Chat last connections by course in x days
*/
- public static function chat_connections_during_last_x_days_by_course($course_code,$last_days, $session_id = 0) {
+ public static function chat_connections_during_last_x_days_by_course($course_code,$last_days, $session_id = 0) {
$course_info = api_get_course_info($course_code);
if (empty($course_info)) {
return null;
- }
+ }
$course_id = $course_info['real_id'];
//protect data
@@ -1704,7 +1704,7 @@ class Tracking {
$sql = "SELECT count(*) FROM $tbl_stats_access WHERE DATE_SUB(NOW(),INTERVAL $last_days DAY) <= access_date
AND access_cours_code = '$course_code' AND access_tool='".TOOL_CHAT."' AND access_session_id='$session_id' ";
$result = Database::query($sql);
- if (Database::num_rows($result)) {
+ if (Database::num_rows($result)) {
$row = Database::fetch_row($result);
$count = $row[0];
return $count;
@@ -1908,7 +1908,7 @@ class Tracking {
* @param int User id
* @param string Course id
* @return float average of test
- * @author isaac flores paz
+ * @author isaac flores paz
* @deprecated get_avg_student_score should be use
*/
public static function get_average_test_scorm_and_lp ($user_id, $course_id) {
@@ -1936,12 +1936,12 @@ class Tracking {
$rs_last_lp_view_id = Database::query($sql);
$lp_view_id = intval(Database::result($rs_last_lp_view_id,0,'id'));
- $sql_list_view="SELECT li.max_score,lv.user_id,liw.score,(liw.score/li.max_score) as sum_data
+ $sql_list_view="SELECT li.max_score,lv.user_id,liw.score,(liw.score/li.max_score) as sum_data
FROM $lp_item_table li INNER JOIN $lp_view_table lv
- ON li.lp_id=lv.lp_id INNER JOIN $lp_item_view_table liw ON liw.lp_item_id=li.id
- WHERE li.c_id = $course_id AND
+ ON li.lp_id=lv.lp_id INNER JOIN $lp_item_view_table liw ON liw.lp_item_id=li.id
+ WHERE li.c_id = $course_id AND
liw.c_id = $course_id AND
- lv.c_id = $course_id AND
+ lv.c_id = $course_id AND
lv.user_id= $user_id AND li.item_type = 'quiz' AND liw.lp_view_id= $lp_view_id";
$sum=0;
$tot=0;
@@ -1964,12 +1964,12 @@ class Tracking {
$rs_last_lp_view_id = Database::query($sql);
$lp_view_id = intval(Database::result($rs_last_lp_view_id,0,'id'));
- $sql_list_view = "SELECT li.max_score,lv.user_id,liw.score,((liw.score/li.max_score)*100) as sum_data
+ $sql_list_view = "SELECT li.max_score,lv.user_id,liw.score,((liw.score/li.max_score)*100) as sum_data
FROM $lp_item_table li INNER JOIN $lp_view_table lv
- ON li.lp_id=lv.lp_id INNER JOIN $lp_item_view_table liw ON liw.lp_item_id=li.id
- WHERE li.c_id = $course_id AND
+ ON li.lp_id=lv.lp_id INNER JOIN $lp_item_view_table liw ON liw.lp_item_id=li.id
+ WHERE li.c_id = $course_id AND
liw.c_id = $course_id AND
- lv.c_id = $course_id AND
+ lv.c_id = $course_id AND
lv.user_id= $user_id AND (li.item_type = 'sco' OR li.item_type='quiz') AND liw.lp_view_id = $lp_view_id";
$tot=0;
$sum=0;
@@ -1995,7 +1995,7 @@ class Tracking {
foreach($lp_list as $lp_id) {
//check if LP have a score
- $sql = "SELECT count(id) as count FROM $lp_item_table
+ $sql = "SELECT count(id) as count FROM $lp_item_table
WHERE c_id = $course_id AND item_type = 'quiz' AND lp_id = ".$lp_id." ";
$result_have_quiz = Database::query($sql);
@@ -2092,7 +2092,7 @@ class Tracking {
$course_code = Database::escape_string($course_code);
$course_info = api_get_course_info($course_code);
- $course_id = $course_info['real_id'];
+ $course_id = $course_info['real_id'];
$data = array();
@@ -2107,7 +2107,7 @@ class Tracking {
$sql = "SELECT cl.title, cl.url,count(DISTINCT sl.links_user_id), count(cl.title) as count_visits
FROM $TABLETRACK_LINKS AS sl, $TABLECOURSE_LINKS AS cl
- WHERE cl.c_id = $course_id AND
+ WHERE cl.c_id = $course_id AND
sl.links_link_id = cl.id
AND sl.links_cours_id = '$course_code'
$condition_session
@@ -2133,7 +2133,7 @@ class Tracking {
$tbl_course = Database :: get_main_table(TABLE_MAIN_COURSE);
$tbl_session = Database :: get_main_table(TABLE_MAIN_SESSION);
$tbl_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
- $tbl_access_rel_course = Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
+ $tbl_access_rel_course = Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
$tbl_session_course_user = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
$tbl_access_rel_session = Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_SESSION);
@@ -2145,19 +2145,19 @@ class Tracking {
FROM '.$tbl_course_user.' cu INNER JOIN '.$tbl_access_rel_course.' a ON(a.course_code = cu.course_code) INNER JOIN '.$tbl_course.' c ON( cu.course_code = c.code)
WHERE user_id='.$user_id.' AND relation_type<>'.COURSE_RELATION_TYPE_RRHH.' AND access_url_id = '.api_get_current_access_url_id().' ORDER BY title ';
} else {
- $sql = 'SELECT course_code as code, title FROM '.$tbl_course_user.' u INNER JOIN '.$tbl_course.' c ON(course_code = c.code)
+ $sql = 'SELECT course_code as code, title FROM '.$tbl_course_user.' u INNER JOIN '.$tbl_course.' c ON(course_code = c.code)
WHERE u.user_id='.$user_id.' AND relation_type<>'.COURSE_RELATION_TYPE_RRHH.' ORDER BY title ';
}
$rs = Database::query($sql);
- $courses = $course_in_session = $temp_course_in_session = array();
+ $courses = $course_in_session = $temp_course_in_session = array();
while($row = Database :: fetch_array($rs, 'ASSOC')) {
$courses[$row['code']] = $row['title'];
}
// Get the list of sessions where the user is subscribed as student
if ($_configuration['multiple_access_urls']) {
- $sql = 'SELECT DISTINCT cu.course_code, id_session as session_id, name FROM '.$tbl_session_course_user.' cu INNER JOIN '.$tbl_access_rel_session.' a ON(a.session_id = cu.id_session) INNER JOIN '.$tbl_session.' s ON(s.id = a.session_id)
+ $sql = 'SELECT DISTINCT cu.course_code, id_session as session_id, name FROM '.$tbl_session_course_user.' cu INNER JOIN '.$tbl_access_rel_session.' a ON(a.session_id = cu.id_session) INNER JOIN '.$tbl_session.' s ON(s.id = a.session_id)
WHERE id_user='.$user_id.' AND access_url_id = '.api_get_current_access_url_id().' ORDER BY name ';
} else {
$sql = 'SELECT DISTINCT course_code, id_session as session_id, name FROM '.$tbl_session_course_user.' u INNER JOIN '.$tbl_session.' s ON(s.id = u.id_session)
@@ -2171,14 +2171,14 @@ class Tracking {
$temp_course_in_session[$row['session_id']]['course_list'][$course_info['id']] = $course_info;
$temp_course_in_session[$row['session_id']]['name'] = $row['name'];
$simple_session_array[$row['session_id']] = $row['name'];
- }
+ }
foreach($simple_session_array as $my_session_id => $session_name) {
$course_list = $temp_course_in_session[$my_session_id]['course_list'];
- $my_course_data = array();
+ $my_course_data = array();
foreach ($course_list as $course_data) {
$my_course_data[$course_data['id']] = $course_data['title'];
}
- $my_course_data = utf8_sort($my_course_data);
+ $my_course_data = utf8_sort($my_course_data);
$final_course_data = array();
foreach($my_course_data as $course_id => $value) {
@@ -2186,7 +2186,7 @@ class Tracking {
}
$course_in_session[$my_session_id]['course_list'] = $final_course_data;
$course_in_session[$my_session_id]['name'] = $session_name;
- }
+ }
$html = '';
@@ -2201,7 +2201,7 @@ class Tracking {
'.Display::tag('th', get_lang('TimeSpentInTheCourse'), array('class'=>'head')).'
'.Display::tag('th', get_lang('Progress'), array('class'=>'head')).'
'.Display::tag('th', get_lang('Score').Display::return_icon('info3.gif', get_lang('ScormAndLPTestTotalAverage'), array('align' => 'absmiddle', 'hspace' => '3px')),array('class'=>'head')).'
- '.Display::tag('th', get_lang('LastConnexion'), array('class'=>'head')).'
+ '.Display::tag('th', get_lang('LastConnexion'), array('class'=>'head')).'
'.Display::tag('th', get_lang('Details'), array('class'=>'head')).'
';
@@ -2210,7 +2210,7 @@ class Tracking {
$total_time_login = Tracking :: get_time_spent_on_the_course($user_id, $course_code);
$time = api_time_to_hms($total_time_login);
- $progress = Tracking :: get_avg_student_progress($user_id, $course_code);
+ $progress = Tracking :: get_avg_student_progress($user_id, $course_code);
$percentage_score = Tracking :: get_avg_student_score($user_id, $course_code, array());
$last_connection = Tracking :: get_last_connection_date_on_the_course($user_id, $course_code);
@@ -2261,7 +2261,7 @@ class Tracking {
if (!isset($_GET['session_id']) && !isset($_GET['course'])) {
- //Load graphics only when calling to an specific session
+ //Load graphics only when calling to an specific session
$session_graph = array();
$all_exercise_graph_name_list = array();
@@ -2272,7 +2272,7 @@ class Tracking {
foreach ($course_in_session as $my_session_id => $session_data) {
- $course_list = $session_data['course_list'];
+ $course_list = $session_data['course_list'];
$session_name = $session_data['name'];
$user_count = count(SessionManager::get_users_by_session($my_session_id));
@@ -2285,7 +2285,7 @@ class Tracking {
$exercise_list = get_all_exercises($course_data, $my_session_id);
- foreach ($exercise_list as $exercise_data) {
+ foreach ($exercise_list as $exercise_data) {
$exercise_obj = new Exercise($course_data['id']);
$exercise_obj->read($exercise_data['id']);
//Exercise is not necessary to be visible to show results check the result_disable configuration instead
@@ -2301,7 +2301,7 @@ class Tracking {
$score = 0;
if (!empty($user_result_data['exe_weighting']) && intval($user_result_data['exe_weighting']) != 0) {
$score = intval($user_result_data['exe_result']/$user_result_data['exe_weighting'] * 100);
- }
+ }
//$user_results[] = $score;
$time = api_strtotime($exercise_data['start_time']) ? api_strtotime($exercise_data['start_time'], 'UTC') : 0;
$all_exercise_start_time[] = $time;
@@ -2317,12 +2317,12 @@ class Tracking {
$all_exercise_graph_name_list[]= $title;
}
}
- }
- }
- }
+ }
+ }
+ }
//Complete graph
- if (!empty($my_results) && !empty($all_exercise_graph_list)) {
+ if (!empty($my_results) && !empty($all_exercise_graph_list)) {
asort($all_exercise_start_time);
//Fix exams order
@@ -2353,9 +2353,9 @@ class Tracking {
$html .= '
'.Display::tag('th', get_lang('Session'), array('width'=>'300px')).'
'.Display::tag('th', get_lang('PublishedExercises'), array('width'=>'300px')).'
- '.Display::tag('th', get_lang('NewExercises'), array('class'=>'head')).'
+ '.Display::tag('th', get_lang('NewExercises'), array('class'=>'head')).'
'.Display::tag('th', get_lang('AverageExerciseResult'), array('class'=>'head')).'
- '.Display::tag('th', get_lang('Details'), array('class'=>'head')).'
+ '.Display::tag('th', get_lang('Details'), array('class'=>'head')).'
';
foreach ($course_in_session as $my_session_id => $session_data) {
@@ -2369,20 +2369,20 @@ class Tracking {
}
$all_exercises = 0;
- $all_unanswered_exercises_by_user = 0;
+ $all_unanswered_exercises_by_user = 0;
$all_average = 0;
$stats_array = array();
- foreach($course_list as $course_data) {
- //All exercises in the course @todo change for a real count
+ foreach($course_list as $course_data) {
+ //All exercises in the course @todo change for a real count
$exercises = get_all_exercises($course_data, $my_session_id);
$count_exercises = 0;
if (is_array($exercises) && !empty($exercises)) {
$count_exercises = count($exercises);
}
- //Count of user results
+ //Count of user results
//$done_exercises = get_count_exercises_attempted_by_course($course_data['code'], $my_session_id);
$done_exercises = null;
@@ -2393,7 +2393,7 @@ class Tracking {
if ($attempts > 1) {
$answered_exercises++;
}
- }
+ }
}
//Average
@@ -2431,7 +2431,7 @@ class Tracking {
$html .= Display::tag('td', $icon);
$html .= '';
}
- $html .= '
';
+ $html .= '
';
$html .= Display::div($main_session_graph, array('id'=>'session_graph','class'=>'chart-session', 'style'=>'position:relative; text-align: center;') );
//Checking selected session
@@ -2451,18 +2451,18 @@ class Tracking {
'.get_lang('Course').' |
'.Display::tag('th', get_lang('PublishedExercises'), array('class'=>'head')).'
'.Display::tag('th', get_lang('NewExercises'), array('class'=>'head')).'
- '.Display::tag('th', get_lang('MyAverage'), array('class'=>'head')).'
- '.Display::tag('th', get_lang('AverageExerciseResult'), array('class'=>'head')).'
+ '.Display::tag('th', get_lang('MyAverage'), array('class'=>'head')).'
+ '.Display::tag('th', get_lang('AverageExerciseResult'), array('class'=>'head')).'
'.Display::tag('th', get_lang('TimeSpentInTheCourse'), array('class'=>'head')).'
'.Display::tag('th', get_lang('LPProgress') , array('class'=>'head')).'
'.Display::tag('th', get_lang('Score').Display::return_icon('info3.gif', get_lang('ScormAndLPTestTotalAverage'), array ('align' => 'absmiddle', 'hspace' => '3px')), array('class'=>'head')).'
- '.Display::tag('th', get_lang('LastConnexion'), array('class'=>'head')).'
+ '.Display::tag('th', get_lang('LastConnexion'), array('class'=>'head')).'
'.Display::tag('th', get_lang('Details'), array('class'=>'head')).'
';
foreach ($course_list as $course_data) {
$course_code = $course_data['code'];
- $course_title = $course_data['title'];
+ $course_title = $course_data['title'];
//All exercises in the course @todo change for a real count
$exercises = get_all_exercises($course_data, $session_id_from_get);
@@ -2474,10 +2474,10 @@ class Tracking {
//$done_exercises = get_best_exercise_results_by_course($course_code, $session_id_from_get);
//From course exercises NOT from LP exercises!!!
- //$done_exercises = get_count_exercises_attempted_by_course($course_code, $session_id_from_get);
+ //$done_exercises = get_count_exercises_attempted_by_course($course_code, $session_id_from_get);
$answered_exercises = 0;
- foreach($exercises as $exercise_item) {
- $attempts = count_exercise_attempts_by_user(api_get_user_id(), $exercise_item['id'], $course_code, $session_id_from_get);
+ foreach($exercises as $exercise_item) {
+ $attempts = count_exercise_attempts_by_user(api_get_user_id(), $exercise_item['id'], $course_code, $session_id_from_get);
if ($attempts > 1) {
$answered_exercises++;
}
@@ -2489,10 +2489,10 @@ class Tracking {
$average = get_average_score_by_course($course_code, $session_id_from_get);
$my_average = get_average_score_by_course_by_user(api_get_user_id(), $course_code, $session_id_from_get);
- $stats_array[$course_code] = array( 'exercises' => $count_exercises,
+ $stats_array[$course_code] = array( 'exercises' => $count_exercises,
'unanswered_exercises_by_user' => $unanswered_exercises,
- 'done_exercises' => $done_exercises,
- 'average' => $average,
+ 'done_exercises' => $done_exercises,
+ 'average' => $average,
'my_average' => $my_average);
$weighting = 0;
@@ -2517,7 +2517,7 @@ class Tracking {
//$html .= Display::tag('td', $stats_array[$course_code]['done_exercises']);
$html .= Display::tag('td', convert_to_percentage($stats_array[$course_code]['my_average']));
- $html .= Display::tag('td', $stats_array[$course_code]['average'] == 0 ? '-' : '('.convert_to_percentage($stats_array[$course_code]['average']).')');
+ $html .= Display::tag('td', $stats_array[$course_code]['average'] == 0 ? '-' : '('.convert_to_percentage($stats_array[$course_code]['average']).')');
$html .= Display::tag('td', $time, array('align'=>'center'));
if (is_numeric($progress)) {
@@ -2531,8 +2531,8 @@ class Tracking {
$percentage_score = $percentage_score.'%';
} else {
$percentage_score = '0%';
- }
- //Score
+ }
+ //Score
$html .= Display::tag('td', $percentage_score, array('align'=>'center'));
$html .= Display::tag('td', $last_connection, array('align'=>'center'));
@@ -2551,9 +2551,9 @@ class Tracking {
if (!empty($session_graph[$session_id_from_get])) {
//$html .= Display::div($session_graph[$session_id_from_get], array('id'=>'session_graph','class'=>'chart-session', 'style'=>'position:relative; text-align: center;') );
- }
+ }
}
- }
+ }
return $html;
}
@@ -2566,14 +2566,14 @@ class Tracking {
*/
static function show_course_detail($user_id, $course_code, $session_id) {
$html = '';
- if (isset($course_code)) {
+ if (isset($course_code)) {
$user_id = intval($user_id);
$session_id = intval($session_id);
$course = Database::escape_string($course_code);
$course_info = CourseManager::get_course_information($course);
- //$course_id = $course_info['real_id'];
+ //$course_id = $course_info['real_id'];
//$session_name = api_get_session_name($session_id);
$html .= Display::page_subheader($course_info['title']);
@@ -2583,24 +2583,24 @@ class Tracking {
//Course details
$html .= '
| '.get_lang('Exercices').' |
- '.get_lang('Attempts').' |
+ '.get_lang('Attempts').' |
'.get_lang('BestAttempt').' |
'.get_lang('Ranking').' |
'.get_lang('BestResultInCourse').' |
- '.get_lang('Statistics').' '.Display :: return_icon('info3.gif', get_lang('OnlyBestResultsPerStudent'), array('align' => 'absmiddle', 'hspace' => '3px')).' |
+ '.get_lang('Statistics').' '.Display :: return_icon('info3.gif', get_lang('OnlyBestResultsPerStudent'), array('align' => 'absmiddle', 'hspace' => '3px')).' |
';
if (empty($session_id)) {
$user_list = CourseManager::get_user_list_from_course_code($course, $session_id, null, null, STUDENT);
- } else {
+ } else {
$user_list = CourseManager::get_user_list_from_course_code($course, $session_id, null, null, 0);
}
- //$exercise_list = get_all_exercises($course_info, $session_id, true);
+ //$exercise_list = get_all_exercises($course_info, $session_id, true);
// Show exercise results of invisible exercises? see BT#4091
$exercise_list = get_all_exercises($course_info, $session_id, false);
- $to_graph_exercise_result = array();
+ $to_graph_exercise_result = array();
if (!empty($exercise_list)) {
$score = $weighting = $exe_id = 0;
@@ -2610,11 +2610,6 @@ class Tracking {
$exercise_obj->read($exercices['id']);
$visible_return = $exercise_obj->is_visible();
- //user can see the exercise results even if the exercise was set to invisible?
- /*if ($visible_return['value'] == false) {
- continue;
- }*/
-
$score = $weighting = $attempts = 0;
//Getting count of attempts by user
@@ -2697,8 +2692,8 @@ class Tracking {
$html .= '';
- //LP table results
- $html .='';
+ //LP table results
+ $html .='';
$html .= Display::tag('th', get_lang('Learnpaths'), array('class'=>'head', 'style'=>'color:#000'));
$html .= Display::tag('th', get_lang('LatencyTimeSpent'), array('class'=>'head', 'style'=>'color:#000'));
$html .= Display::tag('th', get_lang('Progress'), array('class'=>'head', 'style'=>'color:#000'));
@@ -2706,7 +2701,7 @@ class Tracking {
$html .= Display::tag('th', get_lang('LastConnexion'), array('class'=>'head', 'style'=>'color:#000'));
$html .= '';
- $list = new LearnpathList(api_get_user_id(), $course_info['code'], $session_id, 'publicated_on ASC', true);
+ $list = new LearnpathList(api_get_user_id(), $course_info['code'], $session_id, 'publicated_on ASC', true);
$lp_list = $list->get_flat_list();
if (!empty($lp_list) > 0) {
@@ -2725,7 +2720,7 @@ class Tracking {
$time_spent_in_lp = api_time_to_hms($time_spent_in_lp);
$html .= '';
- $url = api_get_path(WEB_CODE_PATH)."newscorm/lp_controller.php?cidReq={$course_code}&id_session=$session_id&lp_id=$lp_id&action=view";
+ $url = api_get_path(WEB_CODE_PATH)."newscorm/lp_controller.php?cidReq={$course_code}&id_session=$session_id&lp_id=$lp_id&action=view";
$html .= Display::tag('td', Display::url($learnpath['lp_name'], $url, array('target'=>SESSION_LINK_TARGET)));
$html .= Display::tag('td', $time_spent_in_lp, array('align'=>'center'));
if (is_numeric($progress)) {
@@ -2749,7 +2744,7 @@ class Tracking {
';
}
$html .='
';
- }
+ }
return $html;
}
@@ -3156,7 +3151,7 @@ class TrackingCourseLog {
$table_item_property = Database :: get_course_table(TABLE_ITEM_PROPERTY);
$table_user = Database :: get_main_table(TABLE_MAIN_USER);
$table_session = Database :: get_main_table(TABLE_MAIN_SESSION);
-
+
$session_id = intval($session_id);
$sql = "SELECT
@@ -3167,8 +3162,8 @@ class TrackingCourseLog {
insert_date as col5,
visibility as col6
FROM $table_item_property track_resource, $table_user user
- WHERE track_resource.c_id = $course_id AND
- track_resource.insert_user_id = user.user_id AND
+ WHERE track_resource.c_id = $course_id AND
+ track_resource.insert_user_id = user.user_id AND
id_session = $session_id ";
if (isset($_GET['keyword'])) {
@@ -3222,7 +3217,7 @@ class TrackingCourseLog {
if (!empty($recorset)) {
$obj = Database::fetch_object($recorset);
-
+
$name_session = '';
$coach_name = '';
if (!empty($obj)) {
@@ -3566,7 +3561,7 @@ class TrackingCourseLog {
$user_ids = intval($user_ids);
$condition_user = " WHERE user.user_id = $user_ids ";
}
-
+
if (!empty($_GET['user_keyword'])) {
$keyword = trim(Database::escape_string($_GET['user_keyword']));
$condition_user .= " AND (user.firstname LIKE '%".$keyword."%' OR user.lastname LIKE '%".$keyword."%' OR user.username LIKE '%".$keyword."%' OR user.email LIKE '%".$keyword."%' ) ";
@@ -3588,7 +3583,7 @@ class TrackingCourseLog {
if (!in_array($direction, array('ASC','DESC'))) {
$direction = 'ASC';
}
-
+
$column = intval($column);
if ($is_western_name_order) {
@@ -3609,26 +3604,26 @@ class TrackingCourseLog {
$res = Database::query($sql);
$users = array();
$t = time();
-
+
$course_info = api_get_course_info($course_code);
- $total_surveys = 0;
+ $total_surveys = 0;
$total_exercises = get_all_exercises($course_info, $session_id);
-
+
if (empty($session_id)) {
$survey_user_list = array();
$survey_list = survey_manager::get_surveys($course_code, $session_id);
-
+
$total_surveys = count($survey_list);
$survey_data = array();
foreach ($survey_list as $survey) {
$user_list = survey_manager::get_people_who_filled_survey($survey['survey_id'], false, $course_info['real_id']);
-
+
foreach ($user_list as $user_id) {
isset($survey_user_list[$user_id]) ? $survey_user_list[$user_id]++ : $survey_user_list[$user_id] = 1;
}
}
}
-
+
while ($user = Database::fetch_array($res, 'ASSOC')) {
$user['official_code'] = $user['col0'];
if ($is_western_name_order) {
@@ -3640,7 +3635,7 @@ class TrackingCourseLog {
}
$user['username'] = $user['col3'];
$user['time'] = api_time_to_hms(Tracking::get_time_spent_on_the_course($user['user_id'], $course_code, $session_id));
-
+
$avg_student_score = Tracking::get_avg_student_score($user['user_id'], $course_code, array(), $session_id);
$avg_student_progress = Tracking::get_avg_student_progress($user['user_id'], $course_code, array(), $session_id);
@@ -3648,20 +3643,20 @@ class TrackingCourseLog {
$avg_student_progress=0;
}
$user['average_progress'] = $avg_student_progress.'%';
-
- $total_user_exercise = Tracking::get_exercise_student_progress($total_exercises, $user['user_id'], $course_code, $session_id);
+
+ $total_user_exercise = Tracking::get_exercise_student_progress($total_exercises, $user['user_id'], $course_code, $session_id);
$user['exercise_progress'] = $total_user_exercise;
-
+
$total_user_exercise = Tracking::get_exercise_student_average_best_attempt($total_exercises, $user['user_id'], $course_code, $session_id);
- $user['exercise_average_best_attempt'] = $total_user_exercise;
-
+ $user['exercise_average_best_attempt'] = $total_user_exercise;
+
if (is_numeric($avg_student_score)) {
$user['student_score'] = $avg_student_score.'%';
} else {
$user['student_score'] = $avg_student_score;
}
-
+
$user['count_assignments'] = Tracking::count_student_assignments($user['user_id'], $course_code, $session_id);
$user['count_messages'] = Tracking::count_student_messages($user['user_id'], $course_code, $session_id);
$user['first_connection'] = Tracking::get_first_connection_date_on_the_course($user['user_id'], $course_code, $session_id);
@@ -3669,7 +3664,7 @@ class TrackingCourseLog {
// we need to display an additional profile field
$user['additional'] = '';
-
+
if (isset($_GET['additional_profile_field']) AND is_numeric($_GET['additional_profile_field'])) {
if (isset($additional_user_profile_info[$user['user_id']]) && is_array($additional_user_profile_info[$user['user_id']])) {
$user['additional'] = implode(', ', $additional_user_profile_info[$user['user_id']]);
@@ -3679,15 +3674,15 @@ class TrackingCourseLog {
if (empty($session_id)) {
$user['survey'] = (isset($survey_user_list[$user['user_id']]) ? $survey_user_list[$user['user_id']] : 0) .' / '.$total_surveys;
}
-
+
$user['link'] = '
';
// store columns in array $users
-
+
$is_western_name_order = api_is_western_name_order();
$user_row = array();
-
- $user_row[]= $user['official_code']; //0
+
+ $user_row[]= $user['official_code']; //0
if ($is_western_name_order) {
$user_row[]= $user['lastname'];
$user_row[]= $user['firstname'];
@@ -3696,28 +3691,28 @@ class TrackingCourseLog {
$user_row[]= $user['lastname'];
}
$user_row[]= $user['username'];
- $user_row[]= $user['time'];
- $user_row[]= $user['average_progress'];
- $user_row[]= $user['exercise_progress'];
- $user_row[]= $user['exercise_average_best_attempt'];
+ $user_row[]= $user['time'];
+ $user_row[]= $user['average_progress'];
+ $user_row[]= $user['exercise_progress'];
+ $user_row[]= $user['exercise_average_best_attempt'];
$user_row[]= $user['student_score'];
$user_row[]= $user['count_assignments'];
$user_row[]= $user['count_messages'];
-
+
if (empty($session_id)) {
$user_row[]= $user['survey'];
}
-
+
$user_row[]= $user['first_connection'];
- $user_row[]= $user['last_connection'];
+ $user_row[]= $user['last_connection'];
if (isset($_GET['additional_profile_field']) AND is_numeric($_GET['additional_profile_field'])) {
- $user_row[]= $user['additional'];
+ $user_row[]= $user['additional'];
}
-
+
$user_row[]= $user['link'];
-
+
$users[] = $user_row;
-
+
if ($export_csv) {
if (empty($session_id)) {
$user_row = array_map('strip_tags', $user_row);
@@ -3728,7 +3723,7 @@ class TrackingCourseLog {
unset($user_row[13]);
unset($user_row[14]);
}
-
+
$csv_content[] = $user_row;
}
}