Adding user is in course col only in reports see BT#8746

1.9.x
Julio Montoya 11 years ago
parent 58334f8181
commit 6d458b1df5
  1. 111
      main/exercice/exercise_result.class.php

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

Loading…
Cancel
Save