diff options
Diffstat (limited to 'src/frun.php')
| -rw-r--r-- | src/frun.php | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/frun.php b/src/frun.php index a2efb73..bbb20e9 100644 --- a/src/frun.php +++ b/src/frun.php @@ -166,9 +166,10 @@ function DBUpdateRunC($contest, $usersite, $usernumber, $runsite, $runnumber, $a if($chief == 1 || ($outra != 0 && $outra == $answer && $temp["runstatus"] != "judged+") || ($outra != 0 && $outra == $answer && $temp["runanswer"]==$answer)) { $newstatus = 'judged'; + $tans = max($t,$temp['rundatediff']); DBExec($c, "update runtable set runstatus='judged', " . "runjudge=$usernumber, runjudgesite=$usersite, " . - "runanswer=$answer, rundatediffans=$t, updatetime=".time()." " . + "runanswer=$answer, rundatediffans=$tans, updatetime=".time()." " . "where contestnumber=$contest and runnumber=$runnumber and runsitenumber=$runsite", "DBUpdateRunC(update run)"); @@ -359,13 +360,14 @@ function DBGetRunToAnswerC($number,$site,$contest,$chief) { "r.runnumber=$number"; if ($chief != 1) { $sql .= " and (r.runstatus='openrun' or " . - "(r.runstatus='judged+' and r.runjudge is NULL) or " . - "((r.runstatus='judging' or r.runstatus='judged+') and " . - " (r.runjudge1 is null or r.runjudge2 is null or " . - " ((r.runjudge1=" . $_SESSION["usertable"]["usernumber"] . " and " . - " r.runjudgesite1=" . $_SESSION["usertable"]["usersitenumber"] . ") or " . - " (r.runjudge2=" . $_SESSION["usertable"]["usernumber"] . " and " . - " r.runjudgesite2=" . $_SESSION["usertable"]["usersitenumber"] . ")))))"; + "(r.runstatus='judged+' and r.runjudge is NULL) or " . + "((r.runstatus='judging' or r.runstatus='judged+') and " . + " (r.runjudge1 is null or " . + " (r.runjudge2 is null)" . // " and (" . $_SESSION["usertable"]["usernumber"] . ">=120000 or r.runjudge1>=120000))" . + " or ((r.runjudge1=" . $_SESSION["usertable"]["usernumber"] . " and " . + " r.runjudgesite1=" . $_SESSION["usertable"]["usersitenumber"] . ") or " . + " (r.runjudge2=" . $_SESSION["usertable"]["usernumber"] . " and " . + " r.runjudgesite2=" . $_SESSION["usertable"]["usersitenumber"] . ")))))"; $tx = "Judge"; } else $tx = "Chief"; $r = DBExec ($c, $sql . " for update", "DBGetRunToAnswerC(get run/prob/lang for update)"); @@ -505,8 +507,8 @@ function DBUpdateRunAutojudging($contest, $site, $number, $ip, $answer, $stdout, DBExec($c, "commit work", "DBUpdateRunAutojudging(commit)"); LOGLevel("Autojudging answered a run (run=$number, site=$site, contest=$contest, answer='$answer', retval=$retval)", 3); return true; - //} - } + } + //} } //echo "DEBUG: $contest, $site, " .$a["usernumber"].", $site, $number, $retval\n"; if(DBUpdateRunO($contest, $site, $a["usernumber"], $site, $number, $retval, $c)==false) { |