submission_status_details.php 689 B

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. if (!Auth::check()) {
  3. become403Page();
  4. }
  5. if (!is_array($_GET['get'])) {
  6. become404Page();
  7. }
  8. $res = [];
  9. foreach ($_GET['get'] as $id) {
  10. if (!validateUInt($id)) {
  11. become404Page();
  12. }
  13. $submission = querySubmission($id);
  14. if ($submission['submitter'] !== Auth::id() && !isSuperUser(queryUser(Auth::id()))) {
  15. become403Page();
  16. }
  17. $problem = queryProblemBrief($submission['problem_id']);
  18. if (!isSubmissionVisibleToUser($submission, $problem, Auth::user())) {
  19. become403Page();
  20. }
  21. $out_status = explode(', ', $submission['status'])[0];
  22. $res[] = [
  23. 'judged' => $out_status == 'Judged',
  24. 'html' => getSubmissionStatusDetails($submission)
  25. ];
  26. }
  27. die(json_encode($res));