From 84bbc86df771d817700595455adee6bc086bfb4f Mon Sep 17 00:00:00 2001 From: Daniel Saad Nogueira Nunes Date: Thu, 31 Aug 2023 23:12:48 -0300 Subject: Update webcast.php (#34) webcast.php: now compilation error and contact staff emit X, instead of a N in the webcast file. --- src/admin/report/webcast.php | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) (limited to 'src/admin') diff --git a/src/admin/report/webcast.php b/src/admin/report/webcast.php index 3798115..fe5ee12 100644 --- a/src/admin/report/webcast.php +++ b/src/admin/report/webcast.php @@ -253,26 +253,31 @@ for ($i = 0; $i < $numRuns; $i++) { $runProblem = $run[$i]['problem']; //if($runTime < $freezeTime) { - { - $runfile .= $runID . '' . - $runTime . '' . - $runTeam . '' . - $runProblem . ''; - - //if ($runTime >= $freezeTime) { - // $runfile .= '?' . "\n"; - //} else if ($run[$i]['yes'] == 't') { - if ($run[$i]['yes'] == 't') { - $runfile .= 'Y' . "\n"; - } else if ($run[$i]['answer'] == 'Not answered yet') { - $runfile .= '?' . "\n"; - } else { - $runfile .= 'N' . "\n"; - } - } + { + $runfile .= $runID . '^\' . + $runTime . '^\' . + $runTeam . '^\' . + $runProblem . '^\'; + + //if ($runTime >= $freezeTime) { + // $runfile .= '?' . "\n"; + //} else if ($run[$i]['yes'] == 't') { + if ($run[$i]['yes'] == 't') { + $runfile .= 'Y' . "\n"; + } else if ($run[$i]['answer'] == 'Not answered yet') { + $runfile .= '?' . "\n"; + } + else if($run[$i]['answer'] == 'NO - Compilation error' || $run[$i]['answer'] == 'NO - Contact staff'){ + $runfile .= 'X' . "\n"; + } + else { + $runfile .= 'N' . "\n"; + } + } } } + if($st['currenttime'] >= $freezeTime) $timefile = $freezeTime; else -- cgit v1.2.3 From dd3f7d5d9475291d8359a01c9312355388d4f761 Mon Sep 17 00:00:00 2001 From: Daniel Saad Nogueira Nunes Date: Wed, 31 Jan 2024 19:04:25 -0300 Subject: webcast.php: fixing FS separador character. (#40) --- src/admin/report/webcast.php | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'src/admin') diff --git a/src/admin/report/webcast.php b/src/admin/report/webcast.php index fe5ee12..75030be 100644 --- a/src/admin/report/webcast.php +++ b/src/admin/report/webcast.php @@ -253,15 +253,15 @@ for ($i = 0; $i < $numRuns; $i++) { $runProblem = $run[$i]['problem']; //if($runTime < $freezeTime) { - { - $runfile .= $runID . '^\' . - $runTime . '^\' . - $runTeam . '^\' . - $runProblem . '^\'; - - //if ($runTime >= $freezeTime) { - // $runfile .= '?' . "\n"; - //} else if ($run[$i]['yes'] == 't') { + { + $runfile .= $runID . '' . + $runTime . '' . + $runTeam . '' . + $runProblem . ''; + + //if ($runTime >= $freezeTime) { + // $runfile .= '?' . "\n"; + //} else if ($run[$i]['yes'] == 't') { if ($run[$i]['yes'] == 't') { $runfile .= 'Y' . "\n"; } else if ($run[$i]['answer'] == 'Not answered yet') { @@ -277,7 +277,6 @@ for ($i = 0; $i < $numRuns; $i++) { } } - if($st['currenttime'] >= $freezeTime) $timefile = $freezeTime; else -- cgit v1.2.3 From d712c818ac131caf357363ffc52517d6f56fe754 Mon Sep 17 00:00:00 2001 From: Gatuno Date: Wed, 31 Jan 2024 16:04:48 -0600 Subject: New autojudge setting on interface per problem. (#41) * First obey the global 'autojudge' setting per site. * Next, check the setting per problem per answer type. * By default autoanswer is enabled on all problems. --- src/admin/answer.php | 13 ++++ src/admin/problem.php | 200 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 213 insertions(+) (limited to 'src/admin') diff --git a/src/admin/answer.php b/src/admin/answer.php index c2d1fdc..53ef8b9 100644 --- a/src/admin/answer.php +++ b/src/admin/answer.php @@ -37,6 +37,7 @@ if (isset($_POST["Submit3"]) && isset($_POST["answernumber"]) && is_numeric($_PO $param["number"] = $_POST["answernumber"]; $param["name"] = $_POST["answername"]; $param["yes"] = $_POST["answeryes"]; + $param["short"] = $_POST["answershort"]; DBNewAnswer ($_SESSION["usertable"]["contestnumber"],$param); } ForceLoad("answer.php"); @@ -65,6 +66,7 @@ if (isset($_POST["Submit3"]) && isset($_POST["answernumber"]) && is_numeric($_PO Answer # Description + Shortname Yes/No ".$ans[$i]["number"]." (fake)\n"; } echo " " . $ans[$i]["desc"] . "\n"; + + if ($ans[$i]["short"]=="") echo " <EMPTY>\n"; + else echo " ".$ans[$i]["short"]."\n"; + if($ans[$i]["yes"]=="t") echo " Yes\n"; else echo " No\n"; + echo " \n"; $n++; } @@ -113,6 +120,12 @@ if ($n == 0) echo "
NO ANSWERS DEFINED + + Shortname (usually 2 or 3 letters): + + + + Type: diff --git a/src/admin/problem.php b/src/admin/problem.php index 33e887c..9024544 100644 --- a/src/admin/problem.php +++ b/src/admin/problem.php @@ -194,6 +194,21 @@ if (isset($_POST["Submit3"]) && isset($_POST["problemnumber"]) && is_numeric($_P $param['fake'] = 'f'; $param['colorname'] = trim($_POST["colorname"]); $param['color'] = trim($_POST["color"]); + $autojudge_value = 0; + if (isset ($_POST["autojudge_new_sel"]) && in_array ($_POST['autojudge_new_sel'], array ('all', 'custom', 'none'))) { + $all_answers = DBGetAnswers($_SESSION["usertable"]["contestnumber"]); + for ($g = 0; $g < count ($all_answers); $g++) { + if ($all_answers[$g]['fake'] == 't') continue; + $campo = 'autojudge_chc_new_'.$all_answers[$g]['number']; + + if ($_POST['autojudge_new_sel'] == 'all') { + $autojudge_value |= pow (2, $g); + } else if ($_POST['autojudge_new_sel'] == 'custom' && isset ($_POST[$campo]) && $_POST[$campo] == "1") { + $autojudge_value |= pow (2, $g); + } + } + } + $param['autojudge'] = $autojudge_value; DBNewProblem ($_SESSION["usertable"]["contestnumber"], $param); } } @@ -222,6 +237,36 @@ for ($i=0; $i
+"; + } else echo " "; + echo "\n"; + echo " \n"; } echo ""; @@ -438,6 +584,60 @@ To replace the data of a problem, proceed as if it did not exist (data will be r + + Autojudge Setting: + + + +\n"; + printf ('', $g, $g); + echo "\n\n"; + } + echo "\n"; + for ($g = 0; $g < count($all_answers); $g++) { + if ($all_answers[$g]['fake'] == 't') continue; + printf ('\n"; + } + echo "
\n"; + ?> + + +
-- cgit v1.2.3