result.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. /* For licensing terms, see /license.txt */
  3. use ChamiloSession as Session;
  4. /**
  5. * Shows the exercise results
  6. *
  7. * @author Julio Montoya - Simple exercise result page
  8. *
  9. */
  10. require_once __DIR__.'/../inc/global.inc.php';
  11. $id = isset($_REQUEST['id']) ? intval($_GET['id']) : null; //exe id
  12. $show_headers = isset($_REQUEST['show_headers']) ? intval($_REQUEST['show_headers']) : null; //exe id
  13. $origin = api_get_origin();
  14. if ($origin == 'learnpath') {
  15. $show_headers = false;
  16. }
  17. api_protect_course_script($show_headers);
  18. if (empty($id)) {
  19. api_not_allowed($show_headers);
  20. }
  21. $is_allowedToEdit = api_is_allowed_to_edit(null, true) || $is_courseTutor;
  22. // Getting results from the exe_id. This variable also contain all the information about the exercise
  23. $track_exercise_info = ExerciseLib::get_exercise_track_exercise_info($id);
  24. // No track info
  25. if (empty($track_exercise_info)) {
  26. api_not_allowed($show_headers);
  27. }
  28. $exercise_id = $track_exercise_info['exe_exo_id'];
  29. $student_id = $track_exercise_info['exe_user_id'];
  30. $current_user_id = api_get_user_id();
  31. $objExercise = new Exercise();
  32. if (!empty($exercise_id)) {
  33. $objExercise->read($exercise_id);
  34. }
  35. // Only users can see their own results
  36. if (!$is_allowedToEdit) {
  37. if ($student_id != $current_user_id) {
  38. api_not_allowed($show_headers);
  39. }
  40. }
  41. $htmlHeadXtra[] = '<link rel="stylesheet" href="'.api_get_path(WEB_LIBRARY_JS_PATH).'hotspot/css/hotspot.css">';
  42. $htmlHeadXtra[] = '<script src="'.api_get_path(WEB_LIBRARY_JS_PATH).'hotspot/js/hotspot.js"></script>';
  43. $htmlHeadXtra[] = '<script src="'.api_get_path(WEB_LIBRARY_JS_PATH).'annotation/js/annotation.js"></script>';
  44. if ($show_headers) {
  45. $interbreadcrumb[] = array(
  46. "url" => "exercise.php?".api_get_cidreq(),
  47. "name" => get_lang('Exercises')
  48. );
  49. $interbreadcrumb[] = array("url" => "#", "name" => get_lang('Result'));
  50. $this_section = SECTION_COURSES;
  51. Display::display_header();
  52. } else {
  53. $htmlHeadXtra[] = '<style>
  54. body { background: none;}
  55. </style>';
  56. Display::display_reduced_header();
  57. }
  58. $message = Session::read('attempt_remaining');
  59. Session::erase('attempt_remaining');
  60. ExerciseLib::displayQuestionListByAttempt(
  61. $objExercise,
  62. $id,
  63. false,
  64. $message
  65. );
  66. if ($show_headers) {
  67. Display::display_footer();
  68. }