|
@@ -53,7 +53,6 @@ class ExerciseResult
|
|
|
|
|
|
$TBL_USER = Database::get_main_table(TABLE_MAIN_USER);
|
|
|
$TBL_TRACK_EXERCISES = Database::get_main_table(TABLE_STATISTIC_TRACK_E_EXERCICES);
|
|
|
- $TBL_TRACK_HOTPOTATOES = Database::get_main_table(TABLE_STATISTIC_TRACK_E_HOTPOTATOES);
|
|
|
$TBL_TRACK_ATTEMPT_RECORDING = Database:: get_main_table(TABLE_STATISTIC_TRACK_E_ATTEMPT_RECORDING);
|
|
|
|
|
|
$cid = api_get_course_id();
|
|
@@ -62,7 +61,6 @@ class ExerciseResult
|
|
|
$sessionId = api_get_session_id();
|
|
|
$session_id_and = ' AND te.session_id = ' . $sessionId . ' ';
|
|
|
$exercise_id = intval($exercise_id);
|
|
|
- $hotpotato_name = Database::escape_string($hotpotato_name);
|
|
|
|
|
|
if (!empty($exercise_id)) {
|
|
|
$session_id_and .= " AND exe_exo_id = $exercise_id ";
|
|
@@ -93,7 +91,6 @@ class ExerciseResult
|
|
|
te.status != 'incomplete' AND
|
|
|
te.exe_cours_id='" . Database :: escape_string($cid) . "' $user_id_and $session_id_and AND
|
|
|
ce.active <>-1";
|
|
|
-
|
|
|
} else {
|
|
|
$user_id_and = ' AND te.exe_user_id = ' . api_get_user_id() . ' ';
|
|
|
// get only this user's results
|
|
@@ -148,31 +145,38 @@ class ExerciseResult
|
|
|
$filter_by_not_revised = false;
|
|
|
$filter_by_revised = false;
|
|
|
|
|
|
- if ($filter) {
|
|
|
- switch ($filter) {
|
|
|
- case 1 :
|
|
|
+ if ($filter) {
|
|
|
+ switch ($filter) {
|
|
|
+ case 1 :
|
|
|
$filter_by_not_revised = true;
|
|
|
break;
|
|
|
- case 2 :
|
|
|
+ case 2 :
|
|
|
$filter_by_revised = true;
|
|
|
break;
|
|
|
- default :
|
|
|
+ default :
|
|
|
null;
|
|
|
- }
|
|
|
- }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (empty($sessionId)) {
|
|
|
+ $students = CourseManager::get_user_list_from_course_code($cid);
|
|
|
+ } else {
|
|
|
+ $students = CourseManager::get_user_list_from_course_code($cid, $sessionId);
|
|
|
+ }
|
|
|
+ $studentsUserIdList = array_keys($students);
|
|
|
|
|
|
- // Print the results of tests
|
|
|
+ // Print the results of tests
|
|
|
$userWithResults = array();
|
|
|
- if (is_array($results)) {
|
|
|
+ if (is_array($results)) {
|
|
|
$i = 0;
|
|
|
- foreach ($results as $result) {
|
|
|
- $revised = false;
|
|
|
+ foreach ($results as $result) {
|
|
|
+ $revised = false;
|
|
|
|
|
|
- //revised or not
|
|
|
- $sql_exe = "SELECT exe_id FROM $TBL_TRACK_ATTEMPT_RECORDING
|
|
|
- WHERE author != '' AND exe_id = ".Database :: escape_string($result['exid'])."
|
|
|
- LIMIT 1";
|
|
|
- $query = Database::query($sql_exe);
|
|
|
+ //revised or not
|
|
|
+ $sql_exe = "SELECT exe_id FROM $TBL_TRACK_ATTEMPT_RECORDING
|
|
|
+ WHERE author != '' AND exe_id = ".Database :: escape_string($result['exid'])."
|
|
|
+ LIMIT 1";
|
|
|
+ $query = Database::query($sql_exe);
|
|
|
|
|
|
if (Database:: num_rows($query) > 0) {
|
|
|
$revised = true;
|
|
@@ -204,6 +208,12 @@ class ExerciseResult
|
|
|
$return[$i]['lp_id'] = $result['orig_lp_id'];
|
|
|
$return[$i]['lp_name'] = $result['lp_name'];
|
|
|
|
|
|
+ if (in_array($result['excruid'], $studentsUserIdList)) {
|
|
|
+ $return[$i]['is_user_subscribed'] = get_lang('Yes');
|
|
|
+ } else {
|
|
|
+ $return[$i]['is_user_subscribed'] = get_lang('No');
|
|
|
+ }
|
|
|
+
|
|
|
$userWithResults[$result['excruid']] = 1;
|
|
|
$i++;
|
|
|
}
|
|
@@ -212,11 +222,7 @@ class ExerciseResult
|
|
|
if ($this->includeAllUsers) {
|
|
|
$latestId = count($return);
|
|
|
$userWithResults = array_keys($userWithResults);
|
|
|
- if (empty($sessionId)) {
|
|
|
- $students = CourseManager::get_user_list_from_course_code($cid);
|
|
|
- } else {
|
|
|
- $students = CourseManager::get_user_list_from_course_code($cid, $sessionId);
|
|
|
- }
|
|
|
+
|
|
|
|
|
|
if (!empty($students)) {
|
|
|
foreach ($students as $student) {
|
|
@@ -246,6 +252,7 @@ class ExerciseResult
|
|
|
$return[$i]['status'] = get_lang('NotAttempted');
|
|
|
$return[$i]['lp_id'] = null;
|
|
|
$return[$i]['lp_name'] = null;
|
|
|
+ $return[$i]['is_user_subscribed'] = get_lang('Yes');
|
|
|
|
|
|
$latestId++;
|
|
|
}
|
|
@@ -321,6 +328,7 @@ class ExerciseResult
|
|
|
$data .= get_lang('Total').';';
|
|
|
$data .= get_lang('Status').';';
|
|
|
$data .= get_lang('ToolLearnpath').';';
|
|
|
+ $data .= get_lang('UserIsCurrentlySubscribed').';';
|
|
|
$data .= "\n";
|
|
|
|
|
|
//results
|
|
@@ -357,6 +365,7 @@ class ExerciseResult
|
|
|
$data .= str_replace("\r\n",' ',$row['max']).';';
|
|
|
$data .= str_replace("\r\n",' ',$row['status']).';';
|
|
|
$data .= str_replace("\r\n",' ',$row['lp_name']).';';
|
|
|
+ $data .= str_replace("\r\n",' ',$row['is_user_subscribed']).';';
|
|
|
$data .= "\n";
|
|
|
}
|
|
|
|
|
@@ -422,14 +431,14 @@ class ExerciseResult
|
|
|
|
|
|
if ($with_column_user) {
|
|
|
if (api_is_western_name_order()) {
|
|
|
- $worksheet->write($line,$column,get_lang('FirstName'));
|
|
|
+ $worksheet->write($line, $column,get_lang('FirstName'));
|
|
|
$column++;
|
|
|
- $worksheet->write($line,$column,get_lang('LastName'));
|
|
|
+ $worksheet->write($line, $column,get_lang('LastName'));
|
|
|
$column++;
|
|
|
} else {
|
|
|
- $worksheet->write($line,$column,get_lang('LastName'));
|
|
|
+ $worksheet->write($line, $column,get_lang('LastName'));
|
|
|
$column++;
|
|
|
- $worksheet->write($line,$column,get_lang('FirstName'));
|
|
|
+ $worksheet->write($line, $column,get_lang('FirstName'));
|
|
|
$column++;
|
|
|
}
|
|
|
|
|
@@ -438,10 +447,10 @@ class ExerciseResult
|
|
|
$column++;
|
|
|
}
|
|
|
|
|
|
- $worksheet->write($line,$column,get_lang('Email'));
|
|
|
+ $worksheet->write($line, $column, get_lang('Email'));
|
|
|
$column++;
|
|
|
}
|
|
|
- $worksheet->write($line,$column,get_lang('Groups'));
|
|
|
+ $worksheet->write($line, $column, get_lang('Groups'));
|
|
|
$column++;
|
|
|
|
|
|
if ($export_user_fields) {
|
|
@@ -455,21 +464,23 @@ class ExerciseResult
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- $worksheet->write($line,$column, get_lang('Title'));
|
|
|
+ $worksheet->write($line, $column, get_lang('Title'));
|
|
|
$column++;
|
|
|
- $worksheet->write($line,$column, get_lang('StartDate'));
|
|
|
+ $worksheet->write($line, $column, get_lang('StartDate'));
|
|
|
$column++;
|
|
|
- $worksheet->write($line,$column, get_lang('EndDate'));
|
|
|
+ $worksheet->write($line, $column, get_lang('EndDate'));
|
|
|
$column++;
|
|
|
- $worksheet->write($line,$column, get_lang('Duration').' ('.get_lang('MinMinutes').')');
|
|
|
+ $worksheet->write($line, $column, get_lang('Duration').' ('.get_lang('MinMinutes').')');
|
|
|
$column++;
|
|
|
- $worksheet->write($line,$column, get_lang('Score'));
|
|
|
+ $worksheet->write($line, $column, get_lang('Score'));
|
|
|
$column++;
|
|
|
- $worksheet->write($line,$column, get_lang('Total'));
|
|
|
+ $worksheet->write($line, $column, get_lang('Total'));
|
|
|
$column++;
|
|
|
- $worksheet->write($line,$column, get_lang('Status'));
|
|
|
+ $worksheet->write($line, $column, get_lang('Status'));
|
|
|
$column++;
|
|
|
- $worksheet->write($line,$column, get_lang('ToolLearnpath'));
|
|
|
+ $worksheet->write($line, $column, get_lang('ToolLearnpath'));
|
|
|
+ $column++;
|
|
|
+ $worksheet->write($line, $column, get_lang('UserIsCurrentlySubscribed'));
|
|
|
$line++;
|
|
|
|
|
|
foreach ($this->results as $row) {
|
|
@@ -511,19 +522,21 @@ class ExerciseResult
|
|
|
|
|
|
$worksheet->write($line,$column,api_html_entity_decode(strip_tags($row['title']), ENT_QUOTES, $charset));
|
|
|
$column++;
|
|
|
- $worksheet->write($line,$column,$row['start_date']);
|
|
|
+ $worksheet->write($line, $column, $row['start_date']);
|
|
|
$column++;
|
|
|
- $worksheet->write($line,$column,$row['end_date']);
|
|
|
+ $worksheet->write($line, $column, $row['end_date']);
|
|
|
$column++;
|
|
|
- $worksheet->write($line,$column,$row['duration']);
|
|
|
- $column++;
|
|
|
- $worksheet->write($line,$column,$row['result']);
|
|
|
- $column++;
|
|
|
- $worksheet->write($line,$column,$row['max']);
|
|
|
- $column++;
|
|
|
- $worksheet->write($line,$column,$row['status']);
|
|
|
- $column++;
|
|
|
- $worksheet->write($line,$column,$row['lp_name']);
|
|
|
+ $worksheet->write($line, $column, $row['duration']);
|
|
|
+ $column++;
|
|
|
+ $worksheet->write($line, $column, $row['result']);
|
|
|
+ $column++;
|
|
|
+ $worksheet->write($line, $column, $row['max']);
|
|
|
+ $column++;
|
|
|
+ $worksheet->write($line, $column, $row['status']);
|
|
|
+ $column++;
|
|
|
+ $worksheet->write($line, $column, $row['lp_name']);
|
|
|
+ $column++;
|
|
|
+ $worksheet->write($line, $column, $row['is_user_subscribed']);
|
|
|
$line++;
|
|
|
}
|
|
|
//output the results
|