From 3a5f406ff59a05c0eddda191127d58b39cb8049b Mon Sep 17 00:00:00 2001 From: cassiopc Date: Wed, 24 Oct 2012 09:56:07 +0200 Subject: open dir for 1.5.2. I still must split devel and master in different branches to properly use git... --- boca-1.5.2/src/judge/clar.php | 124 +++++++++++++ boca-1.5.2/src/judge/claredit.php | 155 ++++++++++++++++ boca-1.5.2/src/judge/header.php | 98 +++++++++++ boca-1.5.2/src/judge/history.php | 129 ++++++++++++++ boca-1.5.2/src/judge/index.php | 22 +++ boca-1.5.2/src/judge/option.php | 21 +++ boca-1.5.2/src/judge/run.php | 84 +++++++++ boca-1.5.2/src/judge/runchief.php | 187 ++++++++++++++++++++ boca-1.5.2/src/judge/runedit.php | 250 ++++++++++++++++++++++++++ boca-1.5.2/src/judge/runeditchief.php | 320 ++++++++++++++++++++++++++++++++++ boca-1.5.2/src/judge/score.php | 21 +++ boca-1.5.2/src/judge/team.php | 191 ++++++++++++++++++++ 12 files changed, 1602 insertions(+) create mode 100644 boca-1.5.2/src/judge/clar.php create mode 100644 boca-1.5.2/src/judge/claredit.php create mode 100644 boca-1.5.2/src/judge/header.php create mode 100644 boca-1.5.2/src/judge/history.php create mode 100644 boca-1.5.2/src/judge/index.php create mode 100644 boca-1.5.2/src/judge/option.php create mode 100644 boca-1.5.2/src/judge/run.php create mode 100644 boca-1.5.2/src/judge/runchief.php create mode 100644 boca-1.5.2/src/judge/runedit.php create mode 100644 boca-1.5.2/src/judge/runeditchief.php create mode 100644 boca-1.5.2/src/judge/score.php create mode 100644 boca-1.5.2/src/judge/team.php (limited to 'boca-1.5.2/src/judge') diff --git a/boca-1.5.2/src/judge/clar.php b/boca-1.5.2/src/judge/clar.php new file mode 100644 index 0000000..a5d56ce --- /dev/null +++ b/boca-1.5.2/src/judge/clar.php @@ -0,0 +1,124 @@ +. +//////////////////////////////////////////////////////////////////////////////// +// Last modified 05/aug/2012 by cassio@ime.usp.br +require('header.php'); + +if (isset($_POST["message"]) && isset($_POST["problem"]) && isset($_POST["Submit"])) { + if ($_POST["confirmation"] == "confirm") { + $param['contest']=$_SESSION["usertable"]["contestnumber"]; + $param['site']=$_SESSION["usertable"]["usersitenumber"]; + $param['user']= $_SESSION["usertable"]["usernumber"]; + $param['problem'] = htmlspecialchars($_POST["problem"]); + $param['question'] = htmlspecialchars($_POST["message"]); + DBNewClar($param); + } + ForceLoad("clar.php"); +} +?> +
+ + + + + + + + + +\n"; + if (strpos($clar[$i]["status"], "answered") === false) + echo " \n"; + else + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + if ($clar[$i]["judge"] == $_SESSION["usertable"]["usernumber"] && + $clar[$i]["judgesite"] == $_SESSION["usertable"]["usersitenumber"]) + $color="ff7777"; + else if ($clar[$i]["status"] == "answering") $color="77ff77"; + else if ($clar[$i]["status"] == "openclar") $color="ffff88"; + else $color="ffffff"; + + echo " \n"; + + if ($clar[$i]["question"] == "") $clar[$i]["question"] = " "; + + echo " \n"; + + echo " \n"; +} + +echo "
Clar #SiteTimeProblemStatusQuestion
" . $clar[$i]["number"] . "" . $clar[$i]["number"] . "" . $clar[$i]["site"] . "" . dateconvminutes($clar[$i]["timestamp"]) . "" . $clar[$i]["problem"] . "" . $clar[$i]["status"] . ""; +// echo "
" . $clar[$i]["question"] . "
"; +// echo $clar[$i]["question"]; + echo " \n"; + echo "
"; +if (count($clar) == 0) echo "
NO CLARIFICATIONS AVAILABLE
"; + +?> +


To submit a clarification, just fill in the following fields +
+
+ +
+ + + + + + + + + +
Problem: + +
Clarification: + +
+
+ +
+ + +
+
+ + + diff --git a/boca-1.5.2/src/judge/claredit.php b/boca-1.5.2/src/judge/claredit.php new file mode 100644 index 0000000..5408e6b --- /dev/null +++ b/boca-1.5.2/src/judge/claredit.php @@ -0,0 +1,155 @@ +. +//////////////////////////////////////////////////////////////////////////////// +// Last modified 05/aug/2012 by cassio@ime.usp.br +require('header.php'); + +if (isset($_POST["answer"]) && isset($_POST["giveup"]) && $_POST["giveup"]=="Cancel" && + isset($_POST["sitenumber"]) && isset($_POST["number"]) && is_numeric($_POST["number"]) && + is_numeric($_POST["sitenumber"])) { + + $sitenumber = myhtmlspecialchars($_POST["sitenumber"]); + $number = myhtmlspecialchars($_POST["number"]); + + DBClarGiveUp($number, $sitenumber, $_SESSION["usertable"]["contestnumber"], + $_SESSION["usertable"]["usernumber"], $_SESSION["usertable"]["usersitenumber"]); + MSGError("Clarification returned."); + ForceLoad("clar.php"); +} + +if (isset($_POST["answer"]) && isset($_POST["Submit"]) && ($_POST["Submit"]=="Answer" || $_POST["Submit"]=="No response") && + is_numeric($_POST["number"]) && isset($_POST["sitenumber"]) && isset($_POST["number"]) && is_numeric($_POST["sitenumber"])) { + if ($_POST["confirmation"]=="confirm") { + + $ans = myhtmlspecialchars($_POST["answer"]); + $sitenumber = myhtmlspecialchars($_POST["sitenumber"]); + $number = myhtmlspecialchars($_POST["number"]); + + if ($_POST["Submit"]=="No response") + $ans='No response. '.$ans; + + if (trim($ans)=="") { + DBClarGiveUp($number, $sitenumber, $_SESSION["usertable"]["contestnumber"], + $_SESSION["usertable"]["usernumber"], $_SESSION["usertable"]["usersitenumber"]); + MSGError("Clarification returned."); + } else { + if (isset($_POST["answerall"])) $type='all'; + else if (isset($_POST["answersite"])) $type='site'; + else $type = 'none'; + + DBUpdateClar($_SESSION["usertable"]["contestnumber"], + $_SESSION["usertable"]["usersitenumber"], + $_SESSION["usertable"]["usernumber"], + $sitenumber, $number, $ans, $type); + } + } + ForceLoad("clar.php"); +} + +if (!isset($_GET["clarnumber"]) || !isset($_GET["clarsitenumber"]) || + !is_numeric($_GET["clarnumber"]) || !is_numeric($_GET["clarsitenumber"])) { + IntrusionNotify("tried to open the judge/claredit.php with wrong parameters."); + ForceLoad("clar.php"); +} + +$clarsitenumber = myhtmlspecialchars($_GET["clarsitenumber"]); +$clarnumber = myhtmlspecialchars($_GET["clarnumber"]); + +if (($a = DBGetClarToAnswer($clarnumber, $clarsitenumber, + $_SESSION["usertable"]["contestnumber"])) === false) { + MSGError("Another judge got it first."); + ForceLoad("clar.php"); +} + +?> +

Use the following fields to answer the clarification: +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Clarification Site: + " /> + +
Clarification Number: + " /> + +
Clarification Time: + +
Problem: + +
Clarification: + +
Answer: + +
Answer to all users in the site + +
+
+ +
+ + + + +
+
+ + + diff --git a/boca-1.5.2/src/judge/header.php b/boca-1.5.2/src/judge/header.php new file mode 100644 index 0000000..db2136d --- /dev/null +++ b/boca-1.5.2/src/judge/header.php @@ -0,0 +1,98 @@ +. +//////////////////////////////////////////////////////////////////////////////// +// Last modified 21/jul/2012 by cassio@ime.usp.br +ob_start(); +header ("Expires: " . gmdate("D, d M Y H:i:s") . " GMT"); +header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); +header ("Cache-Control: no-cache, must-revalidate"); +header ("Pragma: no-cache"); +header ("Content-Type: text/html; charset=utf-8"); +session_start(); +ob_end_flush(); +require('../version.php'); +require_once("../globals.php"); +require_once("../db.php"); + +$runteam='team.php'; +$runphp = "runchief.php"; +$runeditphp = "runeditchief.php"; + +echo "Judge's Page\n"; +echo "\n"; +echo "\n"; + +//temporario!!!! +//echo ""; +if(!ValidSession()) { + InvalidSession("judge/index.php"); + ForceLoad("../index.php"); +} +if($_SESSION["usertable"]["usertype"] != "judge") { + IntrusionNotify("judge/index.php"); + ForceLoad("../index.php"); +} + +if(($s = DBSiteInfo($_SESSION["usertable"]["contestnumber"], $_SESSION["usertable"]["usersitenumber"])) == null) + ForceLoad("../index.php"); + +if($s["sitechiefname"]== $_SESSION["usertable"]["username"]) + $cc = "338833"; +else + $cc = "77cc77"; + + +echo "\n"; +echo "\n"; +echo "\n"; +echo "
"; +echo "\"\""; +echo "BOCA"; +echo "\n"; +echo "Username: " . $_SESSION["usertable"]["userfullname"] . " (site=".$_SESSION["usertable"]["usersitenumber"].")
\n"; +list($clockstr,$clocktype)=siteclock(); +echo "
 ".$clockstr." 
\n"; + +$clar = DBOpenClarsInSites($_SESSION["usertable"]["contestnumber"], $s["sitejudging"]); +$run = DBOpenRunsInSites($_SESSION["usertable"]["contestnumber"], $s["sitejudging"]); +if($s["sitechiefname"]== $_SESSION["usertable"]["username"]) { +$nrchief = 0; +$rrun = DBAllRunsInSites($_SESSION["usertable"]["contestnumber"], $s["sitejudging"]); +for ($i=0; $i\n"; +echo " \n"; +echo " Runs ($nr)\n"; +if($s["sitechiefname"]== $_SESSION["usertable"]["username"]) { + echo " Chief ($nrchief)\n"; +} +echo " Score\n"; +echo " Clarifications ($nc)\n"; + +echo " History\n"; +echo " As Team\n"; +echo " Options\n"; +echo " Logout\n"; +echo " \n"; +echo "\n"; +?> diff --git a/boca-1.5.2/src/judge/history.php b/boca-1.5.2/src/judge/history.php new file mode 100644 index 0000000..b612f9a --- /dev/null +++ b/boca-1.5.2/src/judge/history.php @@ -0,0 +1,129 @@ +. +//////////////////////////////////////////////////////////////////////////////// +// Last modified 05/aug/2012 by cassio@ime.usp.br +// updated 20/oct/08 by cassio@ime.usp.br +// - bugfix of Marcelo Cezar Pinto (mcpinto@unipampa.edu.br) - div by zero at counts +require('header.php'); +?> +
+ + + + + + + + + +\n"; + if($clar[$i]["judge"] == $_SESSION["usertable"]["usernumber"] && + $clar[$i]["judgesite"] == $_SESSION["usertable"]["usersitenumber"]) { + echo " \n"; + $myclars++; + } + else + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + if ($clar[$i]["question"] == "") $clar[$i]["question"] = " "; + if ($clar[$i]["answer"] == "") $clar[$i]["answer"] = " "; + + echo " \n"; + if (trim($clar[$i]["answer"]) == "") $clar[$i]["answer"] = "Not answered yet"; + echo " \n"; + + echo " \n"; +} +echo "
Clar # (site)TimeProblemStatusQuestionAnswer
" . $clar[$i]["number"] . "(" . $clar[$i]["site"] . ")" . $clar[$i]["number"] . "(" . $clar[$i]["site"] . ")" . dateconvminutes($clar[$i]["timestamp"]) . "" . $clar[$i]["problem"] . "" . $clar[$i]["status"] . ""; +// echo "
" . $clar[$i]["question"] . "
"; +// echo $clar[$i]["question"]; + echo " \n"; + echo "
"; +// echo "
" . $clar[$i]["answer"] . "
"; +// echo $clar[$i]["answer"]; + echo " \n"; + echo "
"; +if (count($clar) == 0) echo "
NO CLARIFICATIONS AVAILABLE
"; +else echo "
* Shadowed clars and runs were judged by this judge"; + +?> +

+ + + + + + + + + +\n"; + if($run[$i]["yes"]=="t") $yes++; + if(($_SESSION["usertable"]["usersitenumber"] == $run[$i]["judgesite1"] && + $_SESSION["usertable"]["usernumber"] == $run[$i]["judge1"]) || + ($_SESSION["usertable"]["usersitenumber"] == $run[$i]["judgesite2"] && + $_SESSION["usertable"]["usernumber"] == $run[$i]["judge2"])) { + echo " \n"; + if($run[$i]["yes"]=="t") $myyes++; + $myruns++; + } + else + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + if ($run[$i]["answer"] == "") $run[$i]["answer"] = " "; + echo " \n"; + echo " \n"; +} +echo "
Run #TimeProblemLanguageStatusAnswer
" . $run[$i]["number"] . "" . $run[$i]["number"] . "" . dateconvminutes($run[$i]["timestamp"]) . "" . $run[$i]["problem"] . "" . $run[$i]["language"] . "" . $run[$i]["status"] . "" . $run[$i]["answer"] . "
"; +if (count($run) == 0) echo "
NO RUNS AVAILABLE
"; + +echo "

\n"; +echo "My answered clars: " . $myclars . "/" . count($clar) . " ("; +if(count($clar)>0) echo ((int) ($myclars*1000/count($clar)))/10 . "%)
\n"; +else echo "0%)
\n"; +echo "My judged runs: " . $myruns . "/" . count($run) ." ("; +if(count($run)>0) echo ((int) ($myruns*1000/count($run)))/10 . "%)
\n"; +else echo "0%)
\n"; +echo "Accepted runs that I've judged: " . $myyes . "/" . $yes . " ("; +if($yes>0) echo ((int) ($myyes*1000/$yes))/10 ."%)
\n"; +else echo "0%)
\n"; +?> + + diff --git a/boca-1.5.2/src/judge/index.php b/boca-1.5.2/src/judge/index.php new file mode 100644 index 0000000..ec74ce9 --- /dev/null +++ b/boca-1.5.2/src/judge/index.php @@ -0,0 +1,22 @@ +. +//////////////////////////////////////////////////////////////////////////////// +// Last modified 05/aug/2012 by cassio@ime.usp.br +require('header.php'); +?> + + diff --git a/boca-1.5.2/src/judge/option.php b/boca-1.5.2/src/judge/option.php new file mode 100644 index 0000000..81e5879 --- /dev/null +++ b/boca-1.5.2/src/judge/option.php @@ -0,0 +1,21 @@ +. +//////////////////////////////////////////////////////////////////////////////// +// Last modified 05/aug/2012 by cassio@ime.usp.br +require('header.php'); +require('../optionlower.php'); +?> diff --git a/boca-1.5.2/src/judge/run.php b/boca-1.5.2/src/judge/run.php new file mode 100644 index 0000000..9f08851 --- /dev/null +++ b/boca-1.5.2/src/judge/run.php @@ -0,0 +1,84 @@ +. +//////////////////////////////////////////////////////////////////////////////// +// Last modified 21/jul/2012 by cassio@ime.usp.br +require('header.php'); +?> + +
+ + + + + + + + + + + + +\n"; +// if (strpos($run[$i]["status"], "judged") === false || $run[$i]["judge"]=="" || $run[$i]["judge"]==$_SESSION["usertable"]["usernumber"]) + echo " \n"; +// else +// echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; +// echo " \n"; + if ($run[$i]["judge1"] == $_SESSION["usertable"]["usernumber"] && + $run[$i]["judgesite1"] == $_SESSION["usertable"]["usersitenumber"]) + $color="ff7777"; + else if ($run[$i]["judge2"] == $_SESSION["usertable"]["usernumber"] && + $run[$i]["judgesite2"] == $_SESSION["usertable"]["usersitenumber"]) + $color="ff7777"; + else if ($run[$i]["status"] == "judged+") $color="ffff00"; + else if ($run[$i]["status"] == "judged") $color="0000ff"; + else if ($run[$i]["status"] == "judging") $color="77ff77"; + else if ($run[$i]["status"] == "openrun") $color="ffff88"; + else $color="ffffff"; + + echo " \n"; + if ($run[$i]["autoend"] != "") { + $color="bbbbff"; + if ($run[$i]["autoanswer"]=="") $color="ff7777"; + } + else if ($run[$i]["autobegin"]=="") $color="ffff88"; + else $color="77ff77"; + echo "\n"; + + if ($run[$i]["answer"] == "") $run[$i]["answer"] = " "; + echo " \n"; + echo " \n"; +} + +echo "
Run #SiteTimeProblemLanguageStatusAJAnswer
" . $run[$i]["number"] . "" . $run[$i]["number"] . "" . $run[$i]["site"] . "" . dateconvminutes($run[$i]["timestamp"]) . "" . $run[$i]["problem"] . "" . $run[$i]["language"] . "" . $run[$i]["filename"] . "" . $run[$i]["status"] . "  " . $run[$i]["answer"] . "
"; +if (count($run) == 0) echo "
NO RUNS AVAILABLE
"; + +?> + + diff --git a/boca-1.5.2/src/judge/runchief.php b/boca-1.5.2/src/judge/runchief.php new file mode 100644 index 0000000..a4cd443 --- /dev/null +++ b/boca-1.5.2/src/judge/runchief.php @@ -0,0 +1,187 @@ +. +//////////////////////////////////////////////////////////////////////////////// +// Last modified 05/aug/2012 by cassio@ime.usp.br +require 'header.php'; +if(isset($_GET["order"]) && $_GET["order"] != "") { +$order = myhtmlspecialchars($_GET["order"]); + $_SESSION["runline"] = $order; +} else { + if(isset($_SESSION["runline"])) + $order = $_SESSION["runline"]; + else + $order = ''; +} +?> + +
+ +
+ + + + + + + + + + + + + + + + + 0) { + MSGError($nrenew . " runs renewed for autojudging."); + ForceLoad($runphp); + } + if($nreopen > 0) { + MSGError($nreopen . " runs reopened."); + ForceLoad($runphp); + } +} + + +for ($i=0; $i\n"; + else echo "\n"; + echo " \n"; + + echo " \n"; + if($runphp == "run.php") { + if ($run[$i]["user"] != "") { + $u = DBUserInfo ($_SESSION["usertable"]["contestnumber"], $run[$i]["site"], $run[$i]["user"]); + echo " \n"; + } + } + echo " \n"; + echo " \n"; + echo " \n"; +// echo " \n"; + if ($run[$i]["judge"] == $_SESSION["usertable"]["usernumber"] && + $run[$i]["judgesite"] == $_SESSION["usertable"]["usersitenumber"] && $run[$i]["status"] == "judging") + $color="ff7777"; + else if ($run[$i]["status"]== "judged+" && $run[$i]["judge"]=="") $color="ffff00"; + else if ($run[$i]["status"]== "judged") $color="bbbbff"; + else if ($run[$i]["status"] == "judging" || $run[$i]["status"]== "judged+") $color="77ff77"; + else if ($run[$i]["status"] == "openrun") $color="ffff88"; + else $color="ffffff"; + + echo " \n"; + if ($run[$i]["judge"] != "") { + $u = DBUserInfo ($_SESSION["usertable"]["contestnumber"], $run[$i]["judgesite"], $run[$i]["judge"]); + echo " \n"; + + if ($run[$i]["autoend"] != "") { + $color="bbbbff"; + if ($run[$i]["autoanswer"]=="") $color="ff7777"; + } + else if ($run[$i]["autobegin"]=="") $color="ffff88"; + else $color="77ff77"; + echo "\n"; + + if ($run[$i]["answer"] == "") { + echo " \n"; + } else { + echo " \n"; + } + echo " \n"; +} + +echo "
Run #SiteUserTimeProblemLanguageStatusJudge (Site)AJAnswer
"; + } + else { + echo "
"; + } + echo ""; + echo " " . $run[$i]["number"] . "" . $run[$i]["site"] . "" . $u["username"] . "" . dateconvminutes($run[$i]["timestamp"]) . "" . $run[$i]["problem"] . "" . $run[$i]["language"] . "" . $run[$i]["filename"] . "" . $run[$i]["status"] . "" . $u["username"] . " (" . $run[$i]["judgesite"] . ")"; + } else + echo "  "; + + if ($run[$i]["judge1"] != "") { + $u = DBUserInfo ($_SESSION["usertable"]["contestnumber"], $run[$i]["judgesite1"], $run[$i]["judge1"]); + echo " [" . $u["username"] . " (" . $run[$i]["judgesite1"] . ")]"; + } + if ($run[$i]["judge2"] != "") { + $u = DBUserInfo ($_SESSION["usertable"]["contestnumber"], $run[$i]["judgesite2"], $run[$i]["judge2"]); + echo " [" . $u["username"] . " (" . $run[$i]["judgesite2"] . ")]"; + } + + echo "   " . $run[$i]["answer"]; + if($run[$i]['yes']=='t') { + echo " \"".$run[$i]["colorname"]."\""; + } + echo "
"; +if (count($run) == 0) echo "
NO RUNS AVAILABLE
"; +else { +?> +
+ +
+Click on the number of a run to edit it or select them with
the checkboxes and use the buttons to work on multiple runs:


+ + +

+
+
+ + + diff --git a/boca-1.5.2/src/judge/runedit.php b/boca-1.5.2/src/judge/runedit.php new file mode 100644 index 0000000..e53b3a3 --- /dev/null +++ b/boca-1.5.2/src/judge/runedit.php @@ -0,0 +1,250 @@ +. +//////////////////////////////////////////////////////////////////////////////// +// Last modified 21/jul/2012 by cassio@ime.usp.br +require('header.php'); + +if (isset($_POST["answer"]) && isset($_POST["giveup"]) && $_POST["giveup"]=="Cancel editing" && + isset($_POST["sitenumber"]) && isset($_POST["number"]) && is_numeric($_POST["number"]) && + is_numeric($_POST["sitenumber"])) { + + $sitenumber = myhtmlspecialchars($_POST["sitenumber"]); + $number = myhtmlspecialchars($_POST["number"]); + + DBRunGiveUp($_POST["number"], + $_POST["sitenumber"], + $_SESSION["usertable"]["contestnumber"], + $_SESSION["usertable"]["usernumber"], + $_SESSION["usertable"]["usersitenumber"]); + MSGError("Run returned."); + ForceLoad("run.php"); +} + +if (isset($_POST["answer"]) && isset($_POST["Submit"]) && $_POST["Submit"]=="Judge" && is_numeric($_POST["answer"]) && + isset($_POST["sitenumber"]) && isset($_POST["number"]) && is_numeric($_POST["sitenumber"]) && + is_numeric($_POST["number"])) { // && isset($_POST["notifyuser"]) && isset($_POST["updatescore"])) { + + if ($_POST["confirmation"] == "confirm") { + $answer = myhtmlspecialchars($_POST["answer"]); + $sitenumber = myhtmlspecialchars($_POST["sitenumber"]); + $number = myhtmlspecialchars($_POST["number"]); +// $notuser = myhtmlspecialchars($_POST["notifyuser"]); +// $updscore = myhtmlspecialchars($_POST["updatescore"]); + + DBUpdateRun($_SESSION["usertable"]["contestnumber"], + $_SESSION["usertable"]["usersitenumber"], + $_SESSION["usertable"]["usernumber"], + $sitenumber, $number, $answer); //, $notuser, $updscore); + } + ForceLoad("run.php"); +} + +if (!isset($_GET["runnumber"]) || !isset($_GET["runsitenumber"]) || + !is_numeric($_GET["runnumber"]) || !is_numeric($_GET["runsitenumber"])) { + IntrusionNotify("tried to open the judge/runedit.php with wrong parameters."); + ForceLoad("run.php"); +} + +$runsitenumber = myhtmlspecialchars($_GET["runsitenumber"]); +$runnumber = myhtmlspecialchars($_GET["runnumber"]); + +if (($a = DBGetRunToAnswer($runnumber, $runsitenumber, + $_SESSION["usertable"]["contestnumber"])) === false) { + MSGError("Another judge got it first."); + ForceLoad("run.php"); +} + +$b = DBGetProblemData($_SESSION["usertable"]["contestnumber"], $a["problemnumber"]); +?> +

Use the following fields to judge the run: +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Site: + " /> + +
Number: + " /> + +
Time: + +
Problem : +"; + echo basename($b[$i]["inputfilename"]) . ""; +} +?> +  
Language: +
Source code: +" . $a["sourcename"] . "\n"; + echo "view\n"; +?> +
Answer: + +
+
+
+ +
+ + + + +

+ +
+ +
+
+Autojudging: +

+ + + + + + + +". $a["autoip"] ." since ". dateconvsimple($a["autobegin"]) .""; +else if($a["autoend"]!="") + echo ""; +else + echo ""; +?> + + + + + + + + + +
Autojudging answer: + +
Autojudged by:". $a["autoip"] ." from ". dateconvsimple($a["autobegin"]) ." to ". dateconvsimple($a["autoend"]) ."unavailable
Standard output: +stdout\n"; + echo "view\n"; +} else + echo "unavailable"; +?> +
Standard error: +stderr\n"; + echo "view\n"; +} else + echo "unavailable"; +?> +
+ +
+ + diff --git a/boca-1.5.2/src/judge/runeditchief.php b/boca-1.5.2/src/judge/runeditchief.php new file mode 100644 index 0000000..c538dca --- /dev/null +++ b/boca-1.5.2/src/judge/runeditchief.php @@ -0,0 +1,320 @@ +. +//////////////////////////////////////////////////////////////////////////////// +// Last modified 05/aug/2012 by cassio@ime.usp.br +require 'header.php'; + +if (isset($_POST["cancel"]) && $_POST["cancel"]=="Cancel editing") + ForceLoad($runphp); + +if (isset($_POST["giveup"]) && $_POST["giveup"]=="Renew" && + isset($_POST["sitenumber"]) && isset($_POST["number"]) && is_numeric($_POST["number"]) && + is_numeric($_POST["sitenumber"])) { + $sitenumber = myhtmlspecialchars($_POST["sitenumber"]); + $number = myhtmlspecialchars($_POST["number"]); + if (DBGiveUpRunAutojudging($_SESSION["usertable"]["contestnumber"], $sitenumber, $number)) + MSGError("Run renewed."); + ForceLoad($runphp); +} + +if (isset($_POST["delete"]) && $_POST["delete"]=="Delete" && + isset($_POST["sitenumber"]) && isset($_POST["number"]) && is_numeric($_POST["number"]) && + is_numeric($_POST["sitenumber"])) { + if ($_POST["confirmation"]=="confirm") { + $sitenumber = myhtmlspecialchars($_POST["sitenumber"]); + $number = myhtmlspecialchars($_POST["number"]); + + if (DBRunDelete($number, $sitenumber, $_SESSION["usertable"]["contestnumber"], + $_SESSION["usertable"]["usernumber"], $_SESSION["usertable"]["usersitenumber"])) + MSGError("Run deleted."); + } + ForceLoad($runphp); +} + +if (isset($_POST["answer"]) && isset($_POST["open"]) && $_POST["open"]=="Open run for rejudging" && + isset($_POST["sitenumber"]) && isset($_POST["number"]) && is_numeric($_POST["number"]) && + is_numeric($_POST["sitenumber"])) { + + if ($_POST["confirmation"] == "confirm") { + $sitenumber = myhtmlspecialchars($_POST["sitenumber"]); + $number = myhtmlspecialchars($_POST["number"]); + + DBGiveUpRunAutojudging($_SESSION["usertable"]["contestnumber"], $sitenumber, $number); + if (DBChiefRunGiveUp($_POST["number"], $_POST["sitenumber"], $_SESSION["usertable"]["contestnumber"])) + MSGError("Run returned."); + ForceLoad($runphp); + } +} + +if (isset($_POST["answer"]) && isset($_POST["Submit"]) && $_POST["Submit"]=="Judge" && is_numeric($_POST["answer"]) && + isset($_POST["sitenumber"]) && isset($_POST["number"]) && is_numeric($_POST["sitenumber"]) && + is_numeric($_POST["number"])) { // && isset($_POST["notifyuser"]) && isset($_POST["updatescore"])) { + + if ($_POST["confirmation"] == "confirm") { + $answer = myhtmlspecialchars($_POST["answer"]); + $sitenumber = myhtmlspecialchars($_POST["sitenumber"]); + $number = myhtmlspecialchars($_POST["number"]); +// $notuser = myhtmlspecialchars($_POST["notifyuser"]); +// $updscore = myhtmlspecialchars($_POST["updatescore"]); + + DBChiefUpdateRun($_SESSION["usertable"]["contestnumber"], + $_SESSION["usertable"]["usersitenumber"], + $_SESSION["usertable"]["usernumber"], + $sitenumber, $number, $answer); //, $notuser, updscore); + } + ForceLoad($runphp); +} + +if (!isset($_GET["runnumber"]) || !isset($_GET["runsitenumber"]) || + !is_numeric($_GET["runnumber"]) || !is_numeric($_GET["runsitenumber"])) { + IntrusionNotify("tried to open the admin/runedit.php with wrong parameters."); + ForceLoad($runphp); +} + +// ??? +$runsitenumber = myhtmlspecialchars($_GET["runsitenumber"]); +$runnumber = myhtmlspecialchars($_GET["runnumber"]); + +if (($a = DBChiefGetRunToAnswer($runnumber, $runsitenumber, + $_SESSION["usertable"]["contestnumber"])) === false) { + MSGError("Another judge got it first."); + ForceLoad($runphp); +} + +$b = DBGetProblemData($_SESSION["usertable"]["contestnumber"], $a["problemnumber"]); +?> +

Use the following fields to judge the run: +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Site: + " /> + +
Number: + " /> + +
Time: + +
Problem : +Input:"; + echo $b[$i]["inputfilename"] . ""; + echo " view  "; + + echo "Sol:"; + echo $b[$i]["solfilename"] . ""; + echo " view"; +} +?> +  
Language: +  
Source code: +" . $a["sourcename"] . "\n"; +echo "view\n"; +?> +
Answer: + "; +// if(!$isfak) { + if($a["judgesite"] != "" && $a["judge"] != "") { + $uu = DBUserInfo ($_SESSION["usertable"]["contestnumber"], $a["judgesite"], $a["judge"]); + echo " [judge=" . $uu["username"] . " (" . $a["judgesite"] . ")]"; + } +?> +
Answer 1: + +
Answer 2: + +
+
+
+ +
+ + + + + +

+
+ +
+
+Autojudging: + +

+ + + + + + + +". $a["autoip"] ." since ". dateconvsimple($a["autobegin"]) .""; +else if($a["autoend"]!="") + echo ""; +else + echo ""; +?> + + + + + + + + + +
Autojudging answer: + +
Autojudged by:". $a["autoip"] ." from ". dateconvsimple($a["autobegin"]) ." to ". dateconvsimple($a["autoend"]) ."unavailable
Standard output: +stdout\n"; + echo "view\n"; +} else + echo "unavailable"; +?> +
Standard error: +stderr\n"; + echo "view\n"; +} else + echo "unavailable"; +?> +
+ +
+ + diff --git a/boca-1.5.2/src/judge/score.php b/boca-1.5.2/src/judge/score.php new file mode 100644 index 0000000..bea0800 --- /dev/null +++ b/boca-1.5.2/src/judge/score.php @@ -0,0 +1,21 @@ +. +//////////////////////////////////////////////////////////////////////////////// +// Last modified 21/jul/2012 by cassio@ime.usp.br +require('header.php'); +require('../scorelower.php'); +?> diff --git a/boca-1.5.2/src/judge/team.php b/boca-1.5.2/src/judge/team.php new file mode 100644 index 0000000..7c204f0 --- /dev/null +++ b/boca-1.5.2/src/judge/team.php @@ -0,0 +1,191 @@ +. +//////////////////////////////////////////////////////////////////////////////// +// Last modified 21/jul/2012 by cassio@ime.usp.br +require('header.php'); + +if (isset($_FILES["sourcefile"]) && isset($_POST["problem"]) && isset($_POST["Submit"]) && isset($_POST["language"]) && + is_numeric($_POST["problem"]) && is_numeric($_POST["language"]) && $_FILES["sourcefile"]["name"]!="") { + if ($_POST["confirmation"] == "confirm") { + if(($ct = DBContestInfo($_SESSION["usertable"]["contestnumber"])) == null) + ForceLoad("../index.php"); + + $prob = myhtmlspecialchars($_POST["problem"]); + $lang = myhtmlspecialchars($_POST["language"]); + + $type=myhtmlspecialchars($_FILES["sourcefile"]["type"]); + $size=myhtmlspecialchars($_FILES["sourcefile"]["size"]); + $name=myhtmlspecialchars($_FILES["sourcefile"]["name"]); + $temp=myhtmlspecialchars($_FILES["sourcefile"]["tmp_name"]); + + if ($size > $ct["contestmaxfilesize"]) { + LOGLevel("User {$_SESSION["usertable"]["username"]} tried to submit file " . + "$name with $size bytes ({$ct["contestmaxfilesize"]} max allowed).", 1); + MSGError("File size exceeds the limit allowed."); + ForceLoad($runteam); + } + if (!is_uploaded_file($temp) || strlen($name)>100) { + IntrusionNotify("file upload problem."); + ForceLoad("../index.php"); + } + + + $ac=array('contest','site','user','problem','lang','filename','filepath'); + $ac1=array('runnumber','rundate','rundatediff','rundatediffans','runanswer','runstatus','runjudge','runjudgesite', + 'runjudge1','runjudgesite1','runanswer1','runjudge2','runjudgesite2','runanswer2', + 'autoip','autobegindate','autoenddate','autoanswer','autostdout','autostderr','updatetime'); + $param = array('contest'=>$_SESSION["usertable"]["contestnumber"], + 'site'=>$_SESSION["usertable"]["usersitenumber"], + 'user'=> $_SESSION["usertable"]["usernumber"], + 'problem'=>$prob, + 'lang'=>$lang, + 'filename'=>$name, + 'filepath'=>$temp); + if($runteam=='team.php') $param['allowneg']=1; + DBNewRun ($param); + $_SESSION['forceredo']=true; + } + ForceLoad($runteam); +} + +$ds = DIRECTORY_SEPARATOR; +if($ds=="") $ds = "/"; + +$runtmp = $_SESSION["locr"] . $ds . "private" . $ds . "runtmp" . $ds . "run-contest" . $_SESSION["usertable"]["contestnumber"] . + "-site". $_SESSION["usertable"]["usersitenumber"] . "-user" . $_SESSION["usertable"]["usernumber"] . ".php"; +$redo = TRUE; +if(!isset($_SESSION['forceredo']) || $_SESSION['forceredo']==false) { + $actualdelay = 30; + if(file_exists($runtmp)) { + if(isset($strtmp) || (($strtmp = file_get_contents($runtmp,FALSE,NULL,-1,1000000)) !== FALSE)) { + list($d) = sscanf($strtmp,"%*s %d"); + if($d > time() - $actualdelay) { + $conf=globalconf(); + $strtmp = decryptData(substr($strtmp,strpos($strtmp,"\n")+1),$conf["key"],'runtmp'); + if($strtmp !== false) + $redo = FALSE; + } + } + } +} +if($redo) { + $_SESSION['forceredo']=false; + if(($st = DBSiteInfo($_SESSION["usertable"]["contestnumber"],$_SESSION["usertable"]["usersitenumber"])) == null) + ForceLoad("../index.php"); + $strtmp="
\n\n \n \n\n". + " \n \n \n \n \n"; + $strcolors = "0"; + $run = DBUserRuns($_SESSION["usertable"]["contestnumber"], + $_SESSION["usertable"]["usersitenumber"], + $_SESSION["usertable"]["usernumber"]); + for ($i=0; $i\n"; + $strtmp .= " \n"; + $strtmp .= " \n"; + $strtmp .= " \n"; +// $strtmp .= " \n"; + if (trim($run[$i]["answer"]) == "") { + $run[$i]["answer"] = "Not answered yet"; + $strtmp .= " \n"; + $strtmp .= "\n"; + + $strtmp .= " \n"; + + if ($run[$i]["anstime"]>$_SESSION["usertable"]["userlastlogin"]-$st["sitestartdate"] && $run[$i]["anstime"] < $st['sitelastmileanswer'] && + $run[$i]["ansfake"]!="t" && !isset($_SESSION["popups"]['run' . $i . '-' . $run[$i]["anstime"]])) { + $_SESSION["popups"]['run' . $i . '-' . $run[$i]["anstime"]] = "Run ".$run[$i]["number"]." result: ".$run[$i]["answer"]. "
"; + } + } +$strtmp .= "
Run #TimeProblemLanguageAnswerFile
" . dateconvminutes($run[$i]["timestamp"]) . "" . $run[$i]["problem"] . "" . $run[$i]["language"] . "" . $run[$i]["status"] . "Not answered yet"; + } + else { + $strtmp .= " " . $run[$i]["answer"]; + if($run[$i]['yes']=='t') { + $strtmp .= " \"".$run[$i]["colorname"]."\""; + $strcolors .= "\t" . $run[$i]["colorname"] . "\t" . $run[$i]["color"]; + } + } + $strtmp .= ""; + $strtmp .= $run[$i]["filename"] . ""; + + $strtmp .= "
"; +if (count($run) == 0) $strtmp .= "
NO RUNS AVAILABLE
"; + +$strtmp .= "

To submit a program, just fill in the following fields:
\n". +"
\n". +" \n". +"
\n". +" \n". +" \n". +" \n". +" \n". +" \n". +" \n". +" \n". +" \n". +" \n". +" \n". +" \n". +" \n". +" \n". +"
Problem:\n". +" \n". +"
Language: \n". +" \n". +"
Source code:\n". +" \n". +"
\n". +"
\n". +" \n". +"
\n". +" \n". +" \n". +"
\n". +"
\n"; + $conf=globalconf(); + $strtmp1 = " \t" . encryptData($strcolors,$conf["key"],false) . "\n" . encryptData($strtmp,$conf["key"],false); + $randnum = session_id() . "_" . rand(); + if(file_put_contents($runtmp . "_" . $randnum, $strtmp1,LOCK_EX)===FALSE) { + if(!isset($_SESSION['writewarn'])) { + LOGError("Cannot write to the user-run cache file $runtmp -- performance might be compromised"); + $_SESSION['writewarn']=true; + } + } + @rename($runtmp . "_" . $randnum, $runtmp); +} +echo $strtmp; +?> + + + + -- cgit v1.2.3