exercise_history.php 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. /* For licensing terms, see /license.txt */
  3. /**
  4. * Exercise list: This script shows the list of exercises for administrators and students.
  5. * @package chamilo.exercise
  6. * @author Olivier Brouckaert, original author
  7. * @author Denes Nagy, HotPotatoes integration
  8. * @author Wolfgang Schneider, code/html cleanup
  9. */
  10. $this_section=SECTION_COURSES;
  11. api_protect_course_script(true);
  12. // moved down to fix bug: http://www.dokeos.com/forum/viewtopic.php?p=18609#18609
  13. $show = (isset($_GET['show']) && $_GET['show'] == 'result') ? 'result' : 'test';
  14. /* Constants and variables */
  15. $is_allowedToEdit = api_is_allowed_to_edit(null,true);
  16. $is_tutor = api_is_allowed_to_edit(true);
  17. if (!$is_allowedToEdit){
  18. header('Location: ' . api_get_path(WEB_CODE_PATH) . 'exercise/exercise.php?' . api_get_cidreq());
  19. exit;
  20. }
  21. $interbreadcrumb[]= array ('url' => 'exercise_report.php?'.api_get_cidreq(),'name' => get_lang('Exercises'));
  22. $interbreadcrumb[]= array ('url' => 'exercise_report.php?filter=2&'.api_get_cidreq(),'name' => get_lang('StudentScore'));
  23. $interbreadcrumb[]= array ('url' => 'exercise_history.php?exe_id='.intval($_GET['exe_id']).'&'.api_get_cidreq(), 'name' => get_lang('Details'));
  24. $TBL_USER = Database::get_main_table(TABLE_MAIN_USER);
  25. $TBL_EXERCISES = Database::get_course_table(TABLE_QUIZ_TEST);
  26. $TBL_EXERCISES_QUESTION = Database::get_course_table(TABLE_QUIZ_QUESTION);
  27. $TBL_TRACK_ATTEMPT_RECORDING= Database::get_main_table(TABLE_STATISTIC_TRACK_E_ATTEMPT_RECORDING);
  28. Display::display_header($nameTools,get_lang('Exercise'));
  29. if (isset($_GET['message'])) {
  30. if (in_array($_GET['message'], array('ExerciseEdited'))) {
  31. $my_message_history=Security::remove_XSS($_GET['message']);
  32. Display::display_confirmation_message(get_lang($my_message_history));
  33. }
  34. }
  35. echo '<div class="actions">';
  36. echo '<a href="exercise_report.php?' . api_get_cidreq() . '&filter=2">' .
  37. Display :: return_icon('back.png', get_lang('BackToResultList'),'',ICON_SIZE_MEDIUM).'</a>';
  38. echo '</div>';
  39. ?>
  40. <table class="data_table">
  41. <tr class="row_odd">
  42. <th><?php echo get_lang('Question'); ?></th>
  43. <th width="50px"><?php echo get_lang('Value'); ?></th>
  44. <th><?php echo get_lang('Feedback'); ?></th>
  45. <th><?php echo get_lang('Author'); ?></th>
  46. <th width="160px"><?php echo get_lang('Date'); ?></th>
  47. </tr>
  48. <?php
  49. $sql = "SELECT *, quiz_question.question, firstname, lastname FROM $TBL_TRACK_ATTEMPT_RECORDING t, $TBL_USER,$TBL_EXERCISES_QUESTION quiz_question
  50. WHERE quiz_question.id = question_id AND user_id = author AND exe_id = '".(int)$_GET['exe_id']."' ORDER BY position";
  51. $query = Database::query($sql);
  52. while($row = Database::fetch_array($query)){
  53. echo '<tr';
  54. if ($i % 2 == 0) {
  55. echo 'class="row_odd"';
  56. } else {
  57. echo 'class="row_even"';
  58. }
  59. echo '>';
  60. echo '<td>'.$row['question'].'</td>';
  61. echo '<td>'.$row['marks'].'</td>';
  62. if (!empty($row['teacher_comment'])) {
  63. echo '<td>'.$row['teacher_comment'].'</td>';
  64. } else {
  65. echo '<td>'.get_lang('WithoutComment').'</td>';
  66. }
  67. echo '<td>'.(empty($row['firstname']) && empty($row['lastname']) ? '<i>'.get_lang('OriginalValue').'</i>' : api_get_person_name($row['firstname'], $row['lastname'])).'</td>';
  68. echo '<td>'.api_convert_and_format_date($row['insert_date'], DATE_TIME_FORMAT_LONG).'</td>';
  69. echo '</tr>';
  70. }
  71. echo '</table>';
  72. Display::display_footer();