S2OJ/web/app/controllers/submission_status_details.php
Baoshuo 63b7768f78
All checks were successful
continuous-integration/drone/push Build is passing
feat: force-login and open-register config
2022-10-07 17:29:26 +08:00

39 lines
834 B
PHP

<?php
if (!Auth::check() && UOJConfig::$data['switch']['force-login']) {
redirectToLogin();
}
if (!is_array($_GET['get'])) {
become404Page();
}
$res = [];
foreach ($_GET['get'] as $id) {
if (!validateUInt($id)) {
become404Page();
}
$submission = querySubmission($id);
if ($submission['submitter'] !== Auth::id()) {
become403Page();
}
if ($submission['contest_id'] == null && !(isNormalUser($myUser) && UOJConfig::$data['switch']['force-login'])) {
become403Page();
}
$problem = queryProblemBrief($submission['problem_id']);
if (!isSubmissionVisibleToUser($submission, $problem, Auth::user())) {
become403Page();
}
$out_status = explode(', ', $submission['status'])[0];
$res[] = [
'judged' => $out_status == 'Judged',
'html' => getSubmissionStatusDetails($submission)
];
}
die(json_encode($res));