diff options
| author | cassio <cassiopc@gmail.com> | 2013-07-02 05:44:46 +0000 |
|---|---|---|
| committer | cassio <cassiopc@gmail.com> | 2013-07-02 05:44:46 +0000 |
| commit | a9aa438ea0558eb0044cf1e54a9190ddb41b65e5 (patch) | |
| tree | 4b825dc642cb6eb9a060e54bf8d69288fbee4904 /boca-1.5.2/src/admin | |
| parent | 94caebadeb66ad7b453d4258a796979cafb758b0 (diff) | |
| download | boca-a9aa438ea0558eb0044cf1e54a9190ddb41b65e5.tar.gz boca-a9aa438ea0558eb0044cf1e54a9190ddb41b65e5.zip | |
restructuring of boca's git
Diffstat (limited to 'boca-1.5.2/src/admin')
31 files changed, 0 insertions, 4738 deletions
diff --git a/boca-1.5.2/src/admin/answer.php b/boca-1.5.2/src/admin/answer.php deleted file mode 100644 index c2d1fdc..0000000 --- a/boca-1.5.2/src/admin/answer.php +++ /dev/null @@ -1,134 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -// Last modified 05/aug/2012 by cassio@ime.usp.br - -require('header.php'); - -if(($ct = DBContestInfo($_SESSION["usertable"]["contestnumber"])) == null) - ForceLoad("$loc/index.php"); - -if (isset($_GET["delete"]) && is_numeric($_GET["delete"])) { - $param["number"] = $_GET["delete"]; - if(!DBDeleteAnswer($_SESSION["usertable"]["contestnumber"], $param)) { - MSGError('Error deleting answer'); - LogError('Error deleting answer'); - } - ForceLoad("answer.php"); -} - -if (isset($_POST["Submit3"]) && isset($_POST["answernumber"]) && is_numeric($_POST["answernumber"]) && isset($_POST["answername"]) && - $_POST["answername"] != "" && isset($_POST["answeryes"])) { - if ($_POST["confirmation"] == "confirm") { - $param["number"] = $_POST["answernumber"]; - $param["name"] = $_POST["answername"]; - $param["yes"] = $_POST["answeryes"]; - DBNewAnswer ($_SESSION["usertable"]["contestnumber"],$param); - } - ForceLoad("answer.php"); -} -?> -<br> - <script language="javascript"> - function conf() { - if (confirm("Confirm?")) { - document.form1.confirmation.value='confirm'; - } - } - function conf2(url) { - if (confirm("Confirm the DELETION of the ANSWER and ALL data associated to it (including the SUBMISSIONS)?")) { - if (confirm("Are you REALLY sure about what you are doing? DATA CANNOT BE RECOVERED!")) { - document.location=url; - } else { - document.location='answer.php'; - } - } else { - document.location='answer.php'; - } - } - </script> -<table width="100%" border=1> - <tr> - <td><b>Answer #</b></td> - <td><b>Description</b></td> - <td><b>Yes/No</b></td> - </tr> -<?php -$ans = DBGetAnswers($_SESSION["usertable"]["contestnumber"]); -$n=0; -for ($i=0; $i<count($ans); $i++) { - echo " <tr>\n"; - if($ans[$i]["fake"]!="t") { - if($ans[$i]["number"]>7) { - echo " <td nowrap><a href=\"javascript:conf2('answer.php?delete=" . $ans[$i]["number"] . - "')\">" . $ans[$i]["number"] . "</a></td>\n"; - } else - echo " <td nowrap>".$ans[$i]["number"]."</td>\n"; - } else { - echo " <td nowrap>".$ans[$i]["number"]." (fake)</td>\n"; - } - echo " <td nowrap>" . $ans[$i]["desc"] . "</td>\n"; - if($ans[$i]["yes"]=="t") echo " <td nowrap>Yes</td>\n"; - else echo " <td nowrap>No</td>\n"; - echo " </tr>\n"; - $n++; -} -echo "</table>"; -if ($n == 0) echo "<br><center><b><font color=\"#ff0000\">NO ANSWERS DEFINED</font></b></center>"; -?> - -<br><br><center><b>When allowed, clicking on the answer number will delete it.<br> - Inputting with the same number of an existing one will update its description.<br> - TAKE CARE: deleting an answer will remove EVERYTHING related to it (ALSO IN OTHER TABLES!!).<br> - It is NOT recommended to change anything while the contest is running.<br> - To insert a new answer, enter the data below.<br> - Note that any changes will overwrite the already defined data.<br><br> -</b> -<form name="form1" enctype="multipart/form-data" method="post" action="answer.php"> - <input type=hidden name="confirmation" value="noconfirm" /> - <table border="0"> - <tr> - <td width="35%" align=right>Number:</td> - <td width="65%"> - <input type="text" name="answernumber" value="" size="20" maxlength="20" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Description:</td> - <td width="65%"> - <input type="text" name="answername" value="" size="50" maxlength="50" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Type:</td> - <td width="65%"> - <select name="answeryes"> - <option selected value="f">No</option> - <option value="t">Yes</option> - </select> - </td> - </tr> - </table> - </center> - <center> - <input type="submit" name="Submit3" value="Send" onClick="conf()"> - <input type="reset" name="Submit4" value="Clear"> - </center> -</form> - -</body> -</html> diff --git a/boca-1.5.2/src/admin/buildproblem.php b/boca-1.5.2/src/admin/buildproblem.php deleted file mode 100644 index 0b6c230..0000000 --- a/boca-1.5.2/src/admin/buildproblem.php +++ /dev/null @@ -1,108 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -// Last modified 31/aug/2012 by cassio@ime.usp.br -require('header.php'); -if(($ct = DBContestInfo($_SESSION["usertable"]["contestnumber"])) == null) - ForceLoad("../index.php"); - -?> -<br><br><center><b><u> -To build a problem package using standard script files, fill in the following fields.</u></b></center> -<br><br> - -<form name="form1" enctype="multipart/form-data" method="post" action="problem.php"> - <input type=hidden name="noflush" value="true" /> - <input type=hidden name="confirmation" value="noconfirm" /> - <script language="javascript"> - function conf() { - var s2 = String(document.form1.probleminput.value); - var s1 = String(document.form1.problemsol.value); - if(document.form1.fullname.value=="" || document.form1.basename=="" || document.form1.timelimit=="" || s1.length<4 || s2.length<4) { - alert('Sorry, mandatory fields are empty'); - } else { - var s1 = String(document.form1.problemdesc.value); - var l = s1.length; - if(l >= 3 && (s1.substr(l-3,3).toUpperCase()==".IN" || - s1.substr(l-4,4).toUpperCase()==".OUT" || - s1.substr(l-4,4).toUpperCase()==".SOL" || - s1.substr(l-2,2).toUpperCase()==".C" || - s1.substr(l-2,2).toUpperCase()==".H" || - s1.substr(l-3,3).toUpperCase()==".CC" || - s1.substr(l-3,3).toUpperCase()==".GZ" || - s1.substr(l-4,4).toUpperCase()==".CPP" || - s1.substr(l-4,4).toUpperCase()==".HPP" || - s1.substr(l-4,4).toUpperCase()==".ZIP" || - s1.substr(l-4,4).toUpperCase()==".TGZ" || - s1.substr(l-5,5).toUpperCase()==".JAVA")) { - alert('Description file has invalid extension: ...'+s1.substr(l-3,3)); - } else { - document.form1.confirmation.value='confirm'; - } - } - } - </script> - <center> - <table border="0"> - <tr> - <td width="35%" align=right>Problem Fullname:</td> - <td width="65%"> - <input type="text" name="fullname" value="" size="50" maxlength="100" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Problem Basename (a.k.a. name of class expected to have the main):</td> - <td width="65%"> - <input type="text" name="basename" value="" size="50" maxlength="100" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Description file (PDF, txt, ...):</td> - <td width="65%"> - <input type="file" name="problemdesc" value="" size="40" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Problem input file:</td> - <td width="65%"> - <input type="file" name="probleminput" value="" size="40" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Problem correct output file:</td> - <td width="65%"> - <input type="file" name="problemsol" value="" size="40" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Timelimit (in sec):</td> - <td width="65%"> - <input type="text" name="timelimit" value="" size="10" /> -(optional: use a , followed by the number of repetitions to run) - </td> - </tr> - </table> - </center> - <center> - <input type="submit" name="Submit5" value="Send" onClick="conf()"> - <input type="reset" name="Submit4" value="Clear"> - </center> -</center> -</form> - -</body> -</html> diff --git a/boca-1.5.2/src/admin/clar.php b/boca-1.5.2/src/admin/clar.php deleted file mode 100644 index 66a7b0d..0000000 --- a/boca-1.5.2/src/admin/clar.php +++ /dev/null @@ -1,112 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -// 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"); -} -if(isset($_GET["order"]) && $_GET["order"] != "") { - $order = htmlspecialchars($_GET["order"]); - $_SESSION["clarline"] = $order; -} else { - if(isset($_SESSION["clarline"])) - $order = $_SESSION["clarline"]; - else - $order=''; -} -?> -<br> -<table width="100%" border=1> - <tr> - <td><b><a href="clar.php?order=clar">Clar #</a></b></td> - <td><b><a href="clar.php?order=site">Site</a></b></td> - <td><b><a href="clar.php?order=user">User</a></b></td> - <td><b>Time</b></td> - <td><b><a href="clar.php?order=problem">Problem</a></b></td> - <td><b><a href="clar.php?order=status">Status</a></b></td> - <td><b><a href="clar.php?order=judge">Judge (Site)</a></b></td> - <td><b>Question</b></td> - <td><b>Answer</b></td> - </tr> -<?php - -if(($s = DBSiteInfo($_SESSION["usertable"]["contestnumber"], $_SESSION["usertable"]["usersitenumber"])) == null) - ForceLoad("$loc/index.php"); - -// forca aparecer as clars do proprio site -if (trim($s["sitejudging"])!="") $s["sitejudging"].=",".$_SESSION["usertable"]["usersitenumber"]; -else $s["sitejudging"]=$_SESSION["usertable"]["usersitenumber"]; - -$clar = DBAllClarsInSites($_SESSION["usertable"]["contestnumber"], $s["sitejudging"], $order); - -for ($i=0; $i<count($clar); $i++) { - echo " <tr>\n"; - echo " <td nowrap><a href=\"claredit.php?clarnumber=".$clar[$i]["number"]."&clarsitenumber=".$clar[$i]["site"] . - "\">" . $clar[$i]["number"] . "</a></td>\n"; - echo " <td nowrap>" . $clar[$i]["site"] . "</td>\n"; - echo " <td nowrap>" . $clar[$i]["user"] . "</td>\n"; - echo " <td nowrap>" . dateconvminutes($clar[$i]["timestamp"]) . "</td>\n"; - echo " <td nowrap>" . $clar[$i]["problem"] . "</td>\n"; - if ($clar[$i]["judge"] == $_SESSION["usertable"]["usernumber"] && - $clar[$i]["judgesite"] == $_SESSION["usertable"]["usersitenumber"] && $clar[$i]["status"] == "answering") - $color="ff7777"; - else if (strpos($clar[$i]["status"], "answered") !== false) $color="bbbbff"; - else if ($clar[$i]["status"] == "answering") $color="77ff77"; - else if ($clar[$i]["status"] == "openclar") $color="ffff88"; - else $color="ffffff"; - - echo " <td nowrap bgcolor=\"#$color\">" . $clar[$i]["status"] . "</td>\n"; - if ($clar[$i]["judge"] != "") { - $u = DBUserInfo ($_SESSION["usertable"]["contestnumber"], $clar[$i]["judgesite"], $clar[$i]["judge"]); - echo " <td nowrap>" . $u["username"] . " (" . $clar[$i]["judgesite"] . ")</td>\n"; - } - else - echo " <td> </td>\n"; - - if ($clar[$i]["question"] == "") $clar[$i]["question"] = " "; - - echo " <td>"; -// echo "<pre>" . $clar[$i]["question"] . "</pre>"; -// echo $clar[$i]["question"]; - echo " <textarea name=\"m$i\" cols=\"60\" rows=\"8\" readonly>".$clar[$i]["question"]."</textarea>\n"; - echo "</td>\n"; - if (trim($clar[$i]["answer"]) == "") $clar[$i]["answer"] = "Not answered yet"; - echo " <td>"; -// echo " <pre>" . $clar[$i]["answer"] . "</pre>"; -// echo $clar[$i]["answer"]; - echo " <textarea name=\"a$i\" cols=\"60\" rows=\"8\" readonly>".$clar[$i]["answer"]."</textarea>\n"; - echo "</td>\n"; - - echo " </tr>\n"; -} - -echo "</table>"; -if (count($clar) == 0) echo "<br><center><b><font color=\"#ff0000\">NO CLARIFICATIONS AVAILABLE</font></b></center>"; - -?> -</body> -</html> diff --git a/boca-1.5.2/src/admin/claredit.php b/boca-1.5.2/src/admin/claredit.php deleted file mode 100644 index 91fae39..0000000 --- a/boca-1.5.2/src/admin/claredit.php +++ /dev/null @@ -1,171 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -// Last modified 05/aug/2012 by cassio@ime.usp.br -require 'header.php'; - -if (isset($_POST["cancel"]) && $_POST["cancel"]=="Cancel") - ForceLoad("clar.php"); - -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 (DBClarDelete($number, $sitenumber, $_SESSION["usertable"]["contestnumber"], - $_SESSION["usertable"]["usernumber"], $_SESSION["usertable"]["usersitenumber"])) - MSGError("Clarification deleted."); - } - ForceLoad("clar.php"); -} - -if (isset($_POST["answer"]) && isset($_POST["open"]) && $_POST["open"]=="Open the Clar" && - 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 (DBChiefClarGiveUp($number, $sitenumber, $_SESSION["usertable"]["contestnumber"])) - MSGError("Clarification returned."); - ForceLoad("clar.php"); - } -} - -if (isset($_POST["answer"]) && isset($_POST["Submit"]) && $_POST["Submit"]=="Answer" && 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 (isset($_POST["answerall"])) $type='all'; - else if (isset($_POST["answersite"])) $type='site'; - else $type = 'none'; - - if (trim($ans)=="") { - DBClarGiveUp($number, $sitenumber, $_SESSION["usertable"]["contestnumber"], - $_SESSION["usertable"]["usernumber"], $_SESSION["usertable"]["usersitenumber"]); - MSGError("Clarification returned."); - } else { - DBChiefUpdateClar($_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 admin/claredit.php with wrong parameters."); - ForceLoad("clar.php"); -} - -$clarsitenumber = myhtmlspecialchars($_GET["clarsitenumber"]); -$clarnumber = myhtmlspecialchars($_GET["clarnumber"]); - -if (($a = DBChiefGetClarToAnswer($clarnumber, $clarsitenumber, - $_SESSION["usertable"]["contestnumber"])) === false) { - MSGError("Another judge got it first."); - ForceLoad("clar.php"); -} - -?> -<br><br><center><b>Use the following fields to answer the clarification: -</b></center> -<form name="form1" method="post" action="claredit.php"> - <input type=hidden name="confirmation" value="noconfirm" /> - <center> - <table border="0"> - <tr> - <td width="20%" align=right><b>Clarification Site:</b></td> - <td width="80%"> - <input type=hidden name="sitenumber" value="<?php echo $a["sitenumber"]; ?>" /> - <?php echo $a["sitenumber"]; ?> - </td> - </tr> - <tr> - <td width="20%" align=right><b>Clarification Number:</b></td> - <td width="80%"> - <input type=hidden name="number" value="<?php echo $a["number"]; ?>" /> - <?php echo $a["number"]; ?> - </td> - </tr> - <tr> - <td width="20%" align=right><b>Clarification Time:</b></td> - <td width="80%"> - <?php echo dateconvminutes($a["timestamp"]); ?> - </td> - </tr> - <tr> - <td width="20%" align=right><b>Problem:</b></td> - <td width="80%"> - <?php echo $a["problemname"]; ?> - </td> - </tr> - <tr> - <td width="20%" align=right><b>Clarification:</b></td> - <td width="80%"> - <textarea name="message" readonly cols="60" rows="8"><?php echo $a["question"]; ?> - </textarea> - </td> - </tr> - <tr> - <td width="20%" align=right><b>Answer:</b></td> - <td width="80%"> - <textarea name="answer" cols="60" rows="8"><?php echo $a["answer"]; ?></textarea> - </td> - </tr> - <tr> - <td width="20%" align=right><b>Answer to all users in the site</b></td> - <td width="80%"> - <input class=checkbox type=checkbox <?php if ($a["status"] == "answeredsite") echo "checked"; ?> name="answersite" value="yes"> - </td> - </tr> -<!-- - <tr> - <td width="20%" align=right><b>Answer to all users in all sites</b></td> - <td width="80%"> - <input class=checkbox type=checkbox <?php if ($a["status"] == "answeredall") echo "checked"; ?> name="answerall" value="yes"> - </td> - </tr> ---> - </table> - </center> - <script language="javascript"> - function conf() { - if (confirm("Confirm?")) { - document.form1.confirmation.value='confirm'; - } - } - </script> - <center> - <input type="submit" name="Submit" value="Answer" onClick="conf()"> - <input type="submit" name="open" value="Open the Clar" onClick="conf()"> - <input type="submit" name="cancel" value="Cancel"> - <input type="submit" name="delete" value="Delete" onClick="conf()"> - <input type="reset" name="Submit2" value="Clear"> - </center> -</form> - -</body> -</html> diff --git a/boca-1.5.2/src/admin/contest.php b/boca-1.5.2/src/admin/contest.php deleted file mode 100644 index ddffed4..0000000 --- a/boca-1.5.2/src/admin/contest.php +++ /dev/null @@ -1,256 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -// Last modified 21/jul/2012 by cassio@ime.usp.br -require 'header.php'; - -$contest=$_SESSION["usertable"]["contestnumber"]; - -if(($ct = DBContestInfo($contest)) == null) - ForceLoad("$loc/index.php"); -if ($ct["contestlocalsite"]==$ct["contestmainsite"]) $main=true; else $main=false; - -if (isset($_POST["Submit3"]) && isset($_POST["penalty"]) && is_numeric($_POST["penalty"]) && - isset($_POST["maxfilesize"]) && isset($_POST["mainsite"]) && isset($_POST["name"]) && - $_POST["name"] != "" && isset($_POST["lastmileanswer"]) && is_numeric($_POST["lastmileanswer"]) && - is_numeric($_POST["mainsite"]) && isset($_POST["lastmilescore"]) && is_numeric($_POST["lastmilescore"]) && - isset($_POST["duration"]) && is_numeric($_POST["duration"]) && isset($_POST['localsite']) && - isset($_POST["startdateh"]) && $_POST["startdateh"] >= 0 && $_POST["startdateh"] <= 23 && - isset($_POST["startdatemin"]) && $_POST["startdatemin"] >= 0 && $_POST["startdatemin"] <= 59 && - isset($_POST["startdated"]) && isset($_POST["startdatem"]) && isset($_POST["startdatey"]) && - checkdate($_POST["startdatem"], $_POST["startdated"], $_POST["startdatey"])) { - if ($_POST["confirmation"] == "confirm") { - $param['number']=$contest; - if($_POST["Submit3"] == "Become Main Site") { - $param['mainsite']=$ct["contestlocalsite"]; - } else { - $at = false; - if(!is_numeric($_POST['localsite']) || $_POST['localsite']<=0) $_POST['localsite']=-1; - if($_POST["Submit3"] == "Update Contest and All Sites") $at = true; - $t = mktime ($_POST["startdateh"], $_POST["startdatemin"], 0, - $_POST["startdatem"], $_POST["startdated"], $_POST["startdatey"]); - $param['localsite']=$_POST['localsite']; - $param['name']=$_POST["name"]; - $param['startdate']=$t; - $param['duration']=$_POST["duration"]*60; - $param['lastmileanswer']=$_POST["lastmileanswer"]*60; - $param['lastmilescore']= $_POST["lastmilescore"]*60; - $param['penalty']=$_POST["penalty"]*60; - $param['maxfilesize']=$_POST["maxfilesize"]*1000; - $param['active']=0; - $param['mainsite']=$_POST["mainsite"]; - $param['mainsiteurl']=$_POST["mainsiteurl"]; - $param['unlockkey']=$_POST["unlockkey"]; - - if (isset($_FILES["keyfile"]) && $_FILES["keyfile"]["name"]!="") { - $type=myhtmlspecialchars($_FILES["keyfile"]["type"]); - $size=myhtmlspecialchars($_FILES["keyfile"]["size"]); - $name=myhtmlspecialchars($_FILES["keyfile"]["name"]); - $temp=myhtmlspecialchars($_FILES["keyfile"]["tmp_name"]); - if (!is_uploaded_file($temp)) { - IntrusionNotify("file upload problem."); - ForceLoad("../index.php"); - } - if (($ar = file($temp)) === false) { - IntrusionNotify("Unable to open the uploaded file."); - ForceLoad("user.php"); - } - $dd=0; - foreach($ar as $val => $key) { - $key=trim($key); - if($key=='') { - unset($ar[$val]); - continue; - } - if(substr($key,10,5) != '#####') { - MSGError('Invalid key in the file -- not importing any keys'); - $dd=0; - break; - } - if(isset($param['unlockkey']) && $param['unlockkey'] != '') { - $pass=decryptData(substr($key,15),$param['unlockkey'],'includekeys'); - if(substr($pass,0,5) != '#####') { - MSGError('Invalid key in the file -- not importing any keys'); - $dd=0; - break; - } - } - $ar[$val]=$key; - $dd++; - } - if($dd > 0) { - $param['keys']=implode(',',$ar); - MSGError(count($ar) . ' keys are being imported from the file'); - DBClearProblemTmp($_SESSION["usertable"]["contestnumber"]); - } - } - $param['atualizasites']=$at; - } - DBUpdateContest ($param); - if(strlen($param['unlockkey'])>1) { - DBClearProblemTmp($_SESSION["usertable"]["contestnumber"]); - DBGetFullProblemData($_SESSION["usertable"]["contestnumber"],true); - } - } - ForceLoad("contest.php"); -} -?> -<br> - -<form name="form1" enctype="multipart/form-data" method="post" action="contest.php"> - <input type=hidden name="confirmation" value="noconfirm" /> - <script language="javascript"> - function conf() { - if (confirm("Confirm?")) { - document.form1.confirmation.value='confirm'; - } - } - function conf2() { - if (confirm("This will restart all start/stop related information in all the sites.\n\ -If you have a contest running, the result is unpredictable. Are you really sure?")) { - document.form1.confirmation.value='confirm'; - } - } - function conf3() { - if (confirm("This will make your site become the main site, that is, this site will\n\ -play an active position in the contest regarding the information\n\ -flow. ARE YOU SURE?")) { - document.form1.confirmation.value='confirm'; - } - } - </script> - <br><br> - <center> - <table border="0"> - <tr> - <td width="35%" align=right>Contest number:</td> - <td width="65%"> -<?php -echo $contest; -?> - </td> - </tr> - <tr> - <td width="35%" align=right>Name:</td> - <td width="65%"> - <input type="text" <?php if(!$main) echo "readonly"; ?> name="name" value="<?php echo $ct["contestname"]; ?>" size="50" maxlength="50" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Start date:</td> - <td width="65%"> hh:mm - <input type="text" <?php if(!$main) echo "readonly"; ?> name="startdateh" value="<?php echo date("H", $ct["conteststartdate"]); ?>" size="2" maxlength="2" /> - : - <input type="text" <?php if(!$main) echo "readonly"; ?> name="startdatemin" value="<?php echo date("i", $ct["conteststartdate"]); ?>" size="2" maxlength="2" /> - dd/mm/yyyy - <input type="text" <?php if(!$main) echo "readonly"; ?> name="startdated" value="<?php echo date("d", $ct["conteststartdate"]); ?>" size="2" maxlength="2" /> - / - <input type="text" <?php if(!$main) echo "readonly"; ?> name="startdatem" value="<?php echo date("m", $ct["conteststartdate"]); ?>" size="2" maxlength="2" /> - / - <input type="text" <?php if(!$main) echo "readonly"; ?> name="startdatey" value="<?php echo date("Y", $ct["conteststartdate"]); ?>" size="4" maxlength="4" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Duration (in minutes):</td> - <td width="65%"> - <input type="text" name="duration" <?php if(!$main) echo "readonly"; ?> value="<?php echo $ct["contestduration"]/60; ?>" size="20" maxlength="20" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Stop answering (in minutes):</td> - <td width="65%"> - <input type="text" name="lastmileanswer" <?php if(!$main) echo "readonly"; ?> value="<?php echo $ct["contestlastmileanswer"]/60; ?>" size="20" maxlength="20" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Stop scoreboard (in minutes):</td> - <td width="65%"> - <input type="text" name="lastmilescore" <?php if(!$main) echo "readonly"; ?> value="<?php echo $ct["contestlastmilescore"]/60; ?>" size="20" maxlength="20" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Penalty (in minutes):</td> - <td width="65%"> - <input type="text" name="penalty" <?php if(!$main) echo "readonly"; ?> value="<?php echo $ct["contestpenalty"]/60; ?>" size="20" maxlength="20" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Max file size allowed for teams (in KB):</td> - <td width="65%"> - <input type="text" name="maxfilesize" <?php if(!$main) echo "readonly"; ?> - value="<?php echo $ct["contestmaxfilesize"]/1000; ?>" size="20" maxlength="20" /> - </td> - </tr> - <tr><td width="35%" align=right> - Your PHP config. allows at most:</td> - <td width="65%"> - <?php echo ini_get('post_max_size').'B(max. post) and '.ini_get('upload_max_filesize').'B(max. filesize)'; ?> - </td></tr> - <tr><td width="35%" align=right></td> - <td width="65%"> -<?php echo ini_get('session.gc_maxlifetime').'s of session expiration and ' . ini_get('session.cookie_lifetime') . ' as cookie lifetime (0 means unlimited)'; ?> - </td></tr> - <tr> - <td width="35%" align=right>Main site URL (IP/bocafolder):</td> - <td width="65%"> - <input type="text" name="mainsiteurl" value="<?php echo $ct["contestmainsiteurl"]; ?>" size="40" maxlength="200" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Unlock password (only use it within a <b>secure network</b>):</td> - <td width="65%"> - <input type="password" name="unlockkey" value="" size="40" maxlength="200" /> - <?php if(strlen($ct["contestunlockkey"]) > 1) echo "<b><= has been set</b>"; ?> - </td> - </tr> -<?php if($main) { ?> - <tr> - <td width="35%" align=right>Keys (only use it within a <b>secure network</b>):</td> - <td width="65%"> - <input type="file" name="keyfile" size="40"> - <?php if(strlen($ct["contestkeys"]) > 32) echo "<b><= has been set</b>"; ?> - </td> - </tr> - <?php } ?> - <tr> - <td width="35%" align=right>Contest main site number:</td> - <td width="65%"> - <input type="text" name="mainsite" <?php if(!$main) echo "readonly"; ?> value="<?php echo $ct["contestmainsite"]; ?>" size="4" maxlength="4" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Contest local site number:</td> - <td width="65%"> - <input type="text" name="localsite" <?php if(!$main) echo "readonly"; ?> value="<?php echo $ct["contestlocalsite"]; ?>" size="4" maxlength="4" /> - </td> - </tr> - </table> - </center> - <center> -<?php if($main) { ?> - <input type="submit" name="Submit3" value="Update" onClick="conf()"> - <input type="submit" name="Submit3" value="Update Contest and All Sites" onClick="conf2()"> - <input type="reset" name="Submit4" value="Clear"> -<?php } else { ?> - <input type="submit" name="Submit3" value="Update" onClick="conf()"> - <input type="submit" name="Submit3" value="Become Main Site" onClick="conf3()"> -<?php } ?> - </center> -</form> - -</body> -</html> diff --git a/boca-1.5.2/src/admin/export.php b/boca-1.5.2/src/admin/export.php deleted file mode 100644 index 2682c94..0000000 --- a/boca-1.5.2/src/admin/export.php +++ /dev/null @@ -1,121 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -// Last modified 05/aug/2012 by cassio@ime.usp.br -//Change list -// 15/June/2011 by cassio@ime.usp.br: created based on import.php -require('header.php'); - -if(isset($_POST["Submit"]) || isset($_POST['Submit1'])) { - if ($_POST["confirmation"] == "confirm" && isset($_POST['localsite']) && is_numeric($_POST['localsite']) && - isset($_POST['challenge']) && isset($_POST['password'])) { - $localsite=$_POST['localsite']; - - header ("Content-transfer-encoding: binary\n"); - header ("Content-type: application/force-download"); -//header ("Content-type: application/octet-stream"); -//if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) -// header("Content-Disposition: filename=" .$_GET["filename"]); // For IE -//else - header ("Content-Disposition: attachment; filename=export.dat"); - ob_end_flush(); - $reduced = false; - if(isset($_POST["Submit"]) && $_POST['Submit']=="Reduced Export") { - $reduced = true; - } - - $fromsite = $localsite; - $siteinfo = DBSiteInfo($_SESSION["usertable"]["contestnumber"],$fromsite); - $scores = explode(",", $siteinfo['siteglobalscore']); - if(count($scores)==0 || (count($scores)==1 && !is_numeric($scores[0]))) $scores=array($fromsite); - $judges = explode(",", $siteinfo['sitejudging']); - if(count($judges)==0 || (count($judges)==1 && !is_numeric($judges[0]))) $judges=array($fromsite); - $scores = array_unique(array_merge($scores,$judges)); - if(in_array(0,$scores)) $scores=null; - - $xml = generateXML($_SESSION["usertable"]["contestnumber"],$localsite,$scores,$reduced); - if(isset($_POST['nopassword']) && $_POST['nopassword']=='true') - echo $xml; - else - echo rawurlencode($_POST['challenge']) . " " . encryptData($xml,($_POST['password'])); - exit; - } -} -ob_end_flush(); -?> -<br> -<body onload="document.form1.name.focus()"> -<script language="JavaScript" src="../sha256.js"></script> -<script language="JavaScript"> -function computeHASH() -{ - var passHASH; - if(document.form1.password.value == '') { - document.form1.nopassword.value = 'true'; - } else { - passHASH = js_myhash(js_myhash(document.form1.password.value)+document.form1.challenge.value); - document.form1.password.value = passHASH; - } -} -</script> - -<form name="form1" enctype="multipart/form-data" method="post" action="export.php"> - <input type="hidden" name="confirmation" value="noconfirm" /> - <input type="hidden" name="noflush" value="noflush" /> - <input type="hidden" name="nopassword" value="false" /> - <center> - <table border="0"> - <tr> - <td width="50%" align=right>Local site number:</td> - <td width="50%"> - <input type="text" name="localsite" size="10"> - </td> - </tr> - <tr><td width="50%" align=right>Challenge string:</td><td width="50%"><input type="text" name="challenge" size="20"></td></tr> -<!-- - <tr> - <td width="50%" align=right>Import file:</td> - <td width="50%"> - <input type="file" name="importfile" size="40"> - </td> - </tr> ---> - <tr> - <td width="50%" align=right>Encryption key:</td> - <td width="50%"> - <input type="password" name="password"> - </td> - </tr> - </table> - </center> - <script language="javascript"> - function conf() { - if (confirm("Confirm?")) { - computeHASH(); - document.form1.confirmation.value='confirm'; - } - } - </script> - <center> - <input type="submit" name="Submit" value="Reduced Export" onClick="conf()"> - <input type="submit" name="Submit1" value="Full Export" onClick="conf()"> - <input type="reset" name="Submit2" value="Clear"> - </center> -</form> - -</body> -</html> diff --git a/boca-1.5.2/src/admin/files.php b/boca-1.5.2/src/admin/files.php deleted file mode 100644 index 16f0f2d..0000000 --- a/boca-1.5.2/src/admin/files.php +++ /dev/null @@ -1,78 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -// Last modified 05/aug/2012 by cassio@ime.usp.br -require('header.php'); - -if(($ct = DBContestInfo($_SESSION["usertable"]["contestnumber"])) == null) - ForceLoad("$loc/index.php"); -if(($st = DBSiteInfo($_SESSION["usertable"]["contestnumber"],$_SESSION["usertable"]["usersitenumber"])) == null) - ForceLoad("$loc/index.php"); - -if (isset($_GET["delete"]) && is_numeric($_GET["delete"])) { - DBBkpDelete($_GET["delete"],$_GET["usersitenumber"],$_SESSION["usertable"]["contestnumber"], $_GET["usernumber"],$_SESSION["usertable"]["username"]); - ForceLoad("files.php"); -} -?> -<br> - <script language="javascript"> - function conf2(url) { - if (confirm("Confirm DELETION of file?")) { - document.location=url; - } else { - document.location='files.php'; - } - } - </script> -<table width="100%" border=1> - <tr> - <td><b>Bkp #</b></td> - <td><b>Time</b></td> - <td><b>User(Site)</b></td> - <td><b>File</b></td> - <td><b>Status</b></td> - </tr> -<?php -$run = DBUserBkps($_SESSION["usertable"]["contestnumber"], -1, -1); - -for ($i=0; $i<count($run); $i++) { - echo " <tr>\n"; - if(strpos($run[$i]["status"],"deleted")!==false) - echo " <td nowrap>" . $run[$i]["number"] . "</td>\n"; - else - echo " <td nowrap><a href=\"javascript:conf2('files.php?delete=" . $run[$i]["number"] . - "&usernumber=" .$run[$i]["usernumber"]. "&usersitenumber=" .$run[$i]["usersitenumber"]. "')\">" . $run[$i]["number"] . "</a></td>\n"; - - echo " <td nowrap>" . dateconvsimple($run[$i]["timestamp"]) . "</td>\n"; - echo " <td nowrap>" . $run[$i]["usernumber"] . " (" . $run[$i]["usersitenumber"] . ")</td>\n"; - $if = rawurlencode($run[$i]["filename"]); - if($run[$i]["status"]=="active") { - echo "<td nowrap><a href=\"../filedownload.php?". filedownload($run[$i]["oid"],$run[$i]["filename"]) . "\">"; - echo $run[$i]["filename"] . "</a>"; - } else echo "<td>" . $run[$i]["filename"]; - echo " (" . $run[$i]["size"] . " bytes)"; - echo "</td>\n"; - echo "<td>" . $run[$i]["status"] . "</td>\n"; - echo " </tr>\n"; - -} -echo "</table>"; -if (count($run) == 0) echo "<br><center><b><font color=\"#ff0000\">NO BACKUPS AVAILABLE</font></b></center>"; - -?> -</body> -</html> diff --git a/boca-1.5.2/src/admin/header.php b/boca-1.5.2/src/admin/header.php deleted file mode 100644 index c308059..0000000 --- a/boca-1.5.2/src/admin/header.php +++ /dev/null @@ -1,88 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -// 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(); -if(!isset($_POST['noflush'])) - ob_end_flush(); -//$loc = $_SESSION['loc']; -//$locr = $_SESSION['locr']; -$loc = $locr = ".."; -$runphp = "run.php"; -$runeditphp = "runedit.php"; - -require_once("$locr/globals.php"); -require_once("$locr/db.php"); - -if(!isset($_POST['noflush'])) { - require_once("$locr/version.php"); - echo "<html><head><title>Admin's Page</title>\n"; - echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n"; - echo "<link rel=stylesheet href=\"$loc/Css.php\" type=\"text/css\">\n"; -} - -//echo "<meta http-equiv=\"refresh\" content=\"60\" />"; -if(!ValidSession()) { - InvalidSession("admin/index.php"); - ForceLoad("$loc/index.php"); -} -if($_SESSION["usertable"]["usertype"] != "admin") { - IntrusionNotify("admin/index.php"); - ForceLoad("$loc/index.php"); -} - -if(!isset($_POST['noflush'])) { - echo "</head><body><table border=1 width=\"100%\">\n"; - echo "<tr><td nowrap bgcolor=\"eeee00\" align=center>"; - echo "<img src=\"../images/smallballoontransp.png\" alt=\"\">"; - echo "<font color=\"#000000\">BOCA</font>"; - echo "</td><td bgcolor=\"#eeee00\" width=\"99%\">\n"; - echo "Username: " . $_SESSION["usertable"]["userfullname"] . " (site=".$_SESSION["usertable"]["usersitenumber"].")<br>\n"; - list($clockstr,$clocktype)=siteclock(); - echo "</td><td bgcolor=\"#eeee00\" align=center nowrap> ".$clockstr." </td></tr>\n"; - echo "</table>\n"; - echo "<table border=0 width=\"100%\" align=center>\n"; - echo " <tr>\n"; - echo " <td align=center><a class=menu style=\"font-weight:bold\" href=run.php>Runs</a></td>\n"; - echo " <td align=center><a class=menu style=\"font-weight:bold\" href=score.php>Score</a></td>\n"; - echo " <td align=center><a class=menu style=\"font-weight:bold\" href=clar.php>Clarifications</a></td>\n"; - echo " <td align=center><a class=menu style=\"font-weight:bold\" href=user.php>Users</a></td>\n"; - echo " <td align=center><a class=menu style=\"font-weight:bold\" href=problem.php>Problems</a></td>\n"; - echo " <td align=center><a class=menu style=\"font-weight:bold\" href=language.php>Languages</a></td>\n"; - echo " <td align=center><a class=menu style=\"font-weight:bold\" href=answer.php>Answers</a></td>\n"; - echo " <td align=center><a class=menu style=\"font-weight:bold\" href=export.php>Export</a></td>\n"; -//echo " </tr></table><hr><table border=0 width=\"100%\" align=center><tr>\n"; - echo " </tr><tr>\n"; - echo " <td align=center><a class=menu style=\"font-weight:bold\" href=task.php>Tasks</a></td>\n"; - echo " <td align=center><a class=menu style=\"font-weight:bold\" href=site.php>Site</a></td>\n"; - echo " <td align=center><a class=menu style=\"font-weight:bold\" href=contest.php>Contest</a></td>\n"; - echo " <td align=center><a class=menu style=\"font-weight:bold\" href=log.php>Logs</a></td>\n"; - echo " <td align=center><a class=menu style=\"font-weight:bold\" href=report.php>Reports</a></td>\n"; - echo " <td align=center><a class=menu style=\"font-weight:bold\" href=files.php>Backups</a></td>\n"; - echo " <td align=center><a class=menu style=\"font-weight:bold\" href=option.php>Options</a></td>\n"; - echo " <td align=center><a class=menu style=\"font-weight:bold\" href=$loc/index.php>Logout</a></td>\n"; - echo " </tr>\n"; - echo "</table>\n"; -} -?> diff --git a/boca-1.5.2/src/admin/index.php b/boca-1.5.2/src/admin/index.php deleted file mode 100644 index 1b35a4c..0000000 --- a/boca-1.5.2/src/admin/index.php +++ /dev/null @@ -1,22 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -// Last modified 05/aug/2012 by cassio@ime.usp.br -require_once('header.php'); -?> -</body> -</html> diff --git a/boca-1.5.2/src/admin/language.php b/boca-1.5.2/src/admin/language.php deleted file mode 100644 index b2a7481..0000000 --- a/boca-1.5.2/src/admin/language.php +++ /dev/null @@ -1,124 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -// Last modified 05/aug/2012 by cassio@ime.usp.br -require('header.php'); - -if(($ct = DBContestInfo($_SESSION["usertable"]["contestnumber"])) == null) - ForceLoad("../index.php"); - -if (isset($_GET["delete"]) && is_numeric($_GET["delete"])) { - $param["number"] = $_GET["delete"]; - DBDeleteLanguage ($_SESSION["usertable"]["contestnumber"],$param); - ForceLoad("language.php"); -} - -if (isset($_POST["Submit3"]) && isset($_POST["langnumber"]) && is_numeric($_POST["langnumber"]) && - isset($_POST["langname"]) && $_POST["langname"] != "") { - if ($_POST["confirmation"] == "confirm") { - $param = array(); - $param['number'] = $_POST['langnumber']; - $param['name'] = $_POST['langname']; - $param['extension'] = $_POST['langextension']; - DBNewLanguage ($_SESSION["usertable"]["contestnumber"], $param); - } - ForceLoad("language.php"); -} -?> -<br> - <script language="javascript"> - function conf2(url) { - if (confirm("Confirm the DELETION of the LANGUAGE and ALL data associated to it (including the SUBMISSIONS)?")) { - if (confirm("Are you REALLY sure about what you are doing? DATA CANNOT BE RECOVERED!")) { - document.location=url; - } else { - document.location='language.php'; - } - } else { - document.location='language.php'; - } - } - </script> -<table width="100%" border=1> - <tr> - <td><b>Language #</b></td> - <td><b>Name</b></td> - <td><b>Extension</b></td> - </tr> -<?php -$lang = DBGetLanguages($_SESSION["usertable"]["contestnumber"]); -$cf = globalconf(); -for ($i=0; $i<count($lang); $i++) { - echo " <tr>\n"; - echo " <td nowrap><a href=\"javascript: conf2('language.php?delete=" . $lang[$i]["number"] . "')\">" . - $lang[$i]["number"] . "</a></td>\n"; - echo " <td nowrap>" . $lang[$i]["name"] . "</td>\n"; - echo " <td nowrap>" . $lang[$i]["extension"] . "</td>\n"; - echo " </tr>\n"; -} -echo "</table>"; -if (count($lang) == 0) echo "<br><center><b><font color=\"#ff0000\">NO LANGUAGES DEFINED</font></b></center>"; - -?> - -<br><br><center><b>Clicking on a language number will DELETE it.<br> -WARNING: deleting a language will remove EVERYTHING related to it.<br> -It is NOT recommended to change anything while the contest is running.<br> -</b></center> - -<form name="form1" enctype="multipart/form-data" method="post" action="language.php"> - <input type=hidden name="confirmation" value="noconfirm" /> - <script language="javascript"> - function conf() { - if (confirm("Confirm?")) { - document.form1.confirmation.value='confirm'; - } - } - </script> - <center> -<b>To insert/edit a language, enter the data below.<br> -Note that any changes will overwrite the already defined data.<br><br> -</b> - <table border="0"> - <tr> - <td width="35%" align=right>Number:</td> - <td width="65%"> - <input type="text" name="langnumber" value="" size="20" maxlength="20" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Name:</td> - <td width="65%"> - <input type="text" name="langname" value="" size="20" maxlength="20" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Extension:</td> - <td width="65%"> - <input type="text" name="langextension" value="" size="20" maxlength="20" /> - </td> - </tr> - </table> - </center> - <center> - <input type="submit" name="Submit3" value="Send" onClick="conf()"> - <input type="reset" name="Submit4" value="Clear"> - </center> -</form> - -</body> -</html> diff --git a/boca-1.5.2/src/admin/log.php b/boca-1.5.2/src/admin/log.php deleted file mode 100644 index ff915ea..0000000 --- a/boca-1.5.2/src/admin/log.php +++ /dev/null @@ -1,76 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -// Last modified 05/aug/2012 by cassio@ime.usp.br -require('header.php'); - -if(isset($_GET["order"])) -$order = myhtmlspecialchars($_GET["order"]); -else $order=''; -if(isset($_GET["user"])) -$user = myhtmlspecialchars($_GET["user"]); -else $user=''; -if(isset($_GET["site"])) -$site = myhtmlspecialchars($_GET["site"]); -else $site=''; -if(isset($_GET["type"])) -$type = myhtmlspecialchars($_GET["type"]); -else $type=''; -if(isset($_GET["ip"])) -$ip = myhtmlspecialchars($_GET["ip"]); -else $ip=''; -$get="&order=${order}&user=${user}&site=${site}&type=${type}&ip=${ip}"; -if (isset($_GET["limit"]) && $_GET["limit"]>0) - $limit = myhtmlspecialchars($_GET["limit"]); -else $limit = 50; -$log = DBGetLogs($order, $_SESSION["usertable"]["contestnumber"], - $site, $user, $type, $ip, $limit); -?> -<br> -<table width="100%" border=1> - <tr> - <td><b><a href="log.php?order=site&limit=<?php echo $limit; ?>">Site</a></b></td> - <td nowrap><b><a href="log.php?order=user&limit=<?php echo $limit; ?>">User #</a></b></td> - <td><b><a href="log.php?order=ip&limit=<?php echo $limit; ?>">IP</a></b></td> - <td><b><a href="log.php?order=type&limit=<?php echo $limit; ?>">Type</a></b></td> - <td><b>Date</b></td> - <td><b>Description</b></td> - <td><b>Status</b></td> - </tr> -<?php -for ($i=0; $i<count($log); $i++) { - echo " <tr>\n"; - echo " <td nowrap><a href=\"log.php?site=" . $log[$i]["site"] . "&limit=$limit\">" . $log[$i]["site"] . "</a></td>\n"; - echo " <td nowrap><a href=\"log.php?user=" . $log[$i]["user"] . "&limit=$limit\">" . $log[$i]["user"] . "</a></td>\n"; - echo " <td nowrap><a href=\"log.php?ip=" . $log[$i]["ip"] . "&limit=$limit\">" . $log[$i]["ip"] . "</a></td>\n"; - echo " <td nowrap><a href=\"log.php?type=" . $log[$i]["type"] . "&limit=$limit\">" . $log[$i]["type"] . "</a></td>\n"; - echo " <td nowrap>" . dateconv($log[$i]["date"]) . "</td>\n"; - echo " <td nowrap>" . $log[$i]["data"] . "</td>\n"; - echo " <td nowrap>" . $log[$i]["status"] . "</td>\n"; - echo "</tr>\n"; -} -echo "</table>\n"; - -?> -<br> -<center> -<a href="log.php?limit=50<?php echo $get; ?>">50</a> -<a href="log.php?limit=200<?php echo $get; ?>">200</a> -<a href="log.php?limit=1000<?php echo $get; ?>">1000</a> -<a href="log.php?limit=1000000<?php echo $get; ?>">no limit</a> -</body> -</html> diff --git a/boca-1.5.2/src/admin/option.php b/boca-1.5.2/src/admin/option.php deleted file mode 100644 index 81e5879..0000000 --- a/boca-1.5.2/src/admin/option.php +++ /dev/null @@ -1,21 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -// Last modified 05/aug/2012 by cassio@ime.usp.br -require('header.php'); -require('../optionlower.php'); -?> diff --git a/boca-1.5.2/src/admin/problem.php b/boca-1.5.2/src/admin/problem.php deleted file mode 100644 index 6a894ba..0000000 --- a/boca-1.5.2/src/admin/problem.php +++ /dev/null @@ -1,414 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -// Last modified 31/aug/2012 by cassio@ime.usp.br -if ($_POST["confirmation"] != "confirm") - unset($_POST['noflush']); - -require('header.php'); -if(($ct = DBContestInfo($_SESSION["usertable"]["contestnumber"])) == null) - ForceLoad("../index.php"); - -if (isset($_GET["delete"]) && is_numeric($_GET["delete"]) && isset($_GET["input"])) { - $param = array(); - $param['number']=$_GET["delete"]; - $param['inputfilename']=$_GET["input"]; - if(!DBDeleteProblem ($_SESSION["usertable"]["contestnumber"], $param)) { - MSGError('Error deleting problem'); - LogError('Error deleting problem'); - } - ForceLoad("problem.php"); -} - -if(isset($_POST['Submit5']) && $_POST['Submit5']=='Build') - ForceLoad("buildproblem.php"); - -if(isset($_POST['Submit5']) && $_POST['Submit5']=='Send') { - if(isset($_POST['basename']) && - isset($_POST['fullname']) && - isset($_POST['timelimit']) && - $_POST["confirmation"] == "confirm") { - if ($_FILES["probleminput"]["name"] != "") { - $type=myhtmlspecialchars($_FILES["probleminput"]["type"]); - $size=myhtmlspecialchars($_FILES["probleminput"]["size"]); - $name=myhtmlspecialchars($_FILES["probleminput"]["name"]); - $temp=myhtmlspecialchars($_FILES["probleminput"]["tmp_name"]); - if (!is_uploaded_file($temp)) { - ob_end_flush(); - IntrusionNotify("file upload problem."); - ForceLoad("../index.php"); - } - } else $name = ""; - if ($_FILES["problemsol"]["name"] != "") { - $type1=myhtmlspecialchars($_FILES["problemsol"]["type"]); - $size1=myhtmlspecialchars($_FILES["problemsol"]["size"]); - $name1=myhtmlspecialchars($_FILES["problemsol"]["name"]); - $temp1=myhtmlspecialchars($_FILES["problemsol"]["tmp_name"]); - if (!is_uploaded_file($temp1)) { - ob_end_flush(); - IntrusionNotify("file upload problem."); - ForceLoad("../index.php"); - } - } else $name1 = ""; - if (isset($_FILES["problemdesc"]) && $_FILES["problemdesc"]["name"] != "") { - $type2=myhtmlspecialchars($_FILES["problemdesc"]["type"]); - $size2=myhtmlspecialchars($_FILES["problemdesc"]["size"]); - $name2=myhtmlspecialchars($_FILES["problemdesc"]["name"]); - $temp2=myhtmlspecialchars($_FILES["problemdesc"]["tmp_name"]); - if (!is_uploaded_file($temp2)) { - ob_end_flush(); - IntrusionNotify("file upload problem."); - ForceLoad("../index.php"); - } - } else $name2 = ""; - - $ds = DIRECTORY_SEPARATOR; - if($ds=="") $ds = "/"; - $tmpdir = getenv("TMP"); - if($tmpdir=="") $tmpdir = getenv("TMPDIR"); - if($tmpdir[0] != $ds) $tmdir = $ds . "tmp"; - if($tmpdir=="") $tmpdir = $ds . "tmp"; - $locr = $_SESSION["locr"]; - $tfile = tempnam($tmpdir, "problem"); - if(@mkdir($tfile . "_d", 0700)) { - $dir = $tfile . "_d"; - @mkdir($dir . $ds . 'limits'); - @mkdir($dir . $ds . 'compare'); - @mkdir($dir . $ds . 'compile'); - @mkdir($dir . $ds . 'run'); - @mkdir($dir . $ds . 'input'); - @mkdir($dir . $ds . 'output'); - @mkdir($dir . $ds . 'tests'); - @mkdir($dir . $ds . 'description'); - $filea = array('compare' . $ds . 'c','compare' . $ds . 'cpp','compare' . $ds . 'java', - 'compile' . $ds . 'c','compile' . $ds . 'cpp','compile' . $ds . 'java', - 'run' . $ds . 'c','run' . $ds . 'cpp','run' . $ds . 'java'); - foreach($filea as $file) { - $rfile=$locr . $ds . '..' . $ds . 'doc' . $ds . 'problemexamples' . $ds . 'problemtemplate' . $ds . $file; - if(is_readable($rfile)) { - @copy($rfile, $dir . $ds . $file); - } else { - @unlink($tfile); - cleardir($dir); - ob_end_flush(); - MSGError('Could not read problem template file ' . $rfile); - ForceLoad('problem.php'); - } - } - $tl = explode(',',$_POST['timelimit']); - if(!isset($tl[1]) || !is_numeric(trim($tl[1]))) $tl[1]='1'; - $str = "echo " . trim($tl[0]) . "\necho " . trim($tl[1]) . "\necho 512\necho " . floor(10 + $size1 / 512) . "\nexit 0\n"; - file_put_contents($dir . $ds . 'limits' . $ds . 'c',$str); - file_put_contents($dir . $ds . 'limits' . $ds . 'cpp',$str); - file_put_contents($dir . $ds . 'limits' . $ds . 'java',$str); - $str = "basename=" . trim($_POST['basename']) . "\nfullname=" . trim($_POST['fullname']); - if($name2) { - @copy($temp2, $dir . $ds . 'description' . $ds . $name2); - @unlink($temp2); - $str .= "\ndescfile=" . $name2; - } - $str .= "\n"; - file_put_contents($dir . $ds . 'description' . $ds . 'problem.info',$str); - if($name && $name1) { - @copy($temp, $dir . $ds . 'input' . $ds . 'file1'); - @unlink($temp); - @copy($temp1, $dir . $ds . 'output' . $ds . 'file1'); - @unlink($temp1); - } else { - @unlink($tfile); - cleardir($dir); - ob_end_flush(); - MSGError('Could not read problem input/output files'); - ForceLoad('problem.php'); - } - $ret=create_zip($dir, glob($dir . $ds . '*'),$dir . '.zip'); - cleardir($dir); - if($ret <= 0) { - @unlink($tfile); - @unlink($dir . '.zip'); - ob_end_flush(); - MSGError('Could not write to zip file'); - ForceLoad('problem.php'); - } - $str = file_get_contents($dir . '.zip'); - @unlink($dir . '.zip'); - @unlink($tfile); - 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-transfer-encoding: binary\n"); - header ("Content-type: application/force-download"); - header ("Content-Disposition: attachment; filename=" . basename($dir . '.zip')); - ob_end_flush(); - echo $str; - exit; - } else { - @unlink($tfile); - ob_end_flush(); - MSGError('Could not write to temporary directory'); - } - } - ForceLoad('problem.php'); -} - -if (isset($_POST["Submit3"]) && isset($_POST["problemnumber"]) && is_numeric($_POST["problemnumber"]) && - isset($_POST["problemname"]) && $_POST["problemname"] != "") { - if ($_POST["confirmation"] == "confirm") { - if ($_FILES["probleminput"]["name"] != "") { - $type=myhtmlspecialchars($_FILES["probleminput"]["type"]); - $size=myhtmlspecialchars($_FILES["probleminput"]["size"]); - $name=myhtmlspecialchars($_FILES["probleminput"]["name"]); - $temp=myhtmlspecialchars($_FILES["probleminput"]["tmp_name"]); - if (!is_uploaded_file($temp)) { - IntrusionNotify("file upload problem."); - ForceLoad("../index.php"); - } - } else $name = ""; - - $param = array(); - $param['number'] = $_POST["problemnumber"]; - $param['name'] = $_POST["problemname"]; - $param['inputfilename'] = $name; - $param['inputfilepath'] = $temp; - $param['fake'] = 'f'; - $param['colorname'] = $_POST["colorname"]; - $param['color'] = $_POST["color"]; - DBNewProblem ($_SESSION["usertable"]["contestnumber"], $param); - } - ForceLoad("problem.php"); -} -?> -<br> - <script language="javascript"> - function conf2(url) { - if (confirm("Confirm the DELETION of the PROBLEM and ALL data associated to it?")) { - if (confirm("Are you REALLY sure about what you are doing? DATA CANNOT BE RECOVERED!")) { - document.location=url; - } else { - document.location='problem.php'; - } - } else { - document.location='problem.php'; - } - } - function conf3(url) { - if (confirm("Confirm the UNDELETION of the PROBLEM?")) { - document.location=url; - } else { - document.location='problem.php'; - } - } - </script> -<table width="100%" border=1> - <tr> - <td><b>Problem #</b></td> - <td><b>Short Name</b></td> - <td><b>Fullname</b></td> - <td><b>Basename</b></td> - <td><b>Descfile</b></td> - <td><b>Package file</b></td> -<!-- <td><b>Compare file</b></td> - <td><b>Timelimit</b></td>--> - <td><b>Color</b></td> - </tr> -<?php - $prob = DBGetFullProblemData($_SESSION["usertable"]["contestnumber"],true); -for ($i=0; $i<count($prob); $i++) { - echo " <tr>\n"; - if($prob[$i]["fake"]!='t') { - if(strpos($prob[$i]["fullname"],"(DEL)") !== false) { - echo " <td nowrap><a href=\"javascript: conf3('problem.php?delete=" . $prob[$i]["number"] . "&input=" . rawurlencode($prob[$i]["inputfilename"]) . - "')\">" . $prob[$i]["number"]; - echo "(deleted)"; - } else { - echo " <td nowrap><a href=\"javascript: conf2('problem.php?delete=" . $prob[$i]["number"] . "&input=" . rawurlencode($prob[$i]["inputfilename"]) . - "')\">" . $prob[$i]["number"]; - } - echo "</a></td>\n"; - } else { - echo " <td nowrap>" . $prob[$i]["number"] . " (fake)</td>\n"; - } - echo " <td nowrap>" . $prob[$i]["name"] . "</td>\n"; - echo " <td nowrap>" . $prob[$i]["fullname"] . " </td>\n"; - echo " <td nowrap>" . $prob[$i]["basefilename"] . " </td>\n"; - if (isset($prob[$i]["descoid"]) && $prob[$i]["descoid"] != null && isset($prob[$i]["descfilename"])) { - echo " <td nowrap><a href=\"../filedownload.php?" . filedownload($prob[$i]["descoid"], $prob[$i]["descfilename"]) . "\">" . - basename($prob[$i]["descfilename"]) . "</td>\n"; - } - else - echo " <td> </td>\n"; - if ($prob[$i]["inputoid"] != null) { - $tx = $prob[$i]["inputhash"]; - echo " <td nowrap><a href=\"../filedownload.php?" . filedownload($prob[$i]["inputoid"] ,$prob[$i]["inputfilename"]) ."\">" . - $prob[$i]["inputfilename"] . "</a> " . - "<img title=\"hash: $tx\" alt=\"$tx\" width=\"25\" src=\"../images/bigballoontransp-hash.png\" />" . - "</td>\n"; - } - else - echo " <td nowrap> </td>\n"; -/* - if ($prob[$i]["soloid"] != null) { - $tx = $prob[$i]["solhash"]; - echo " <td nowrap><a href=\"../filedownload.php?" . filedownload($prob[$i]["soloid"],$prob[$i]["solfilename"]) ."\">" . - $prob[$i]["solfilename"] . "</a> ". - "<img title=\"hash: $tx\" alt=\"$tx\" width=\"25\" src=\"../images/bigballoontransp-hash.png\" />" . - "</td>\n"; - } - else - echo " <td nowrap> </td>\n"; - if ($prob[$i]["timelimit"]!="") - echo " <td nowrap>" . $prob[$i]["timelimit"] . "</td>\n"; - else - echo " <td nowrap> </td>\n"; -*/ - if ($prob[$i]["color"]!="") { - echo " <td nowrap>" . $prob[$i]["colorname"] . - "<img title=\"".$prob[$i]["color"]."\" alt=\"".$prob[$i]["colorname"]."\" width=\"25\" src=\"" . - balloonurl($prob[$i]["color"]) . "\" /></td>\n"; - } else - echo " <td nowrap> </td>\n"; - echo " </tr>\n"; -} -echo "</table>"; -if (count($prob) == 0) echo "<br><center><b><font color=\"#ff0000\">NO PROBLEMS DEFINED</font></b></center>"; - -?> - -<br><br><center><b>Clicking on a problem number will delete it.<br> -WARNING: deleting a problem will remove EVERYTHING related to it.<br> -It is NOT recommended to change anything while the contest is running.<br> -To import a problem, fill in the following fields.<br> -To replace the data of a problem, proceed as if it did not exist (data will be replaced without removing it).</b></center> - -<form name="form1" enctype="multipart/form-data" method="post" action="problem.php"> - <input type=hidden name="confirmation" value="noconfirm" /> - <script language="javascript"> - function conf() { - if(document.form1.problemname.value=="") { - alert('Sorry, mandatory fields are empty'); - } else { -/* - var s1 = String(document.form1.problemdesc.value); - var l = s1.length; - if(l >= 3 && (s1.substr(l-3,3).toUpperCase()==".IN" || - s1.substr(l-4,4).toUpperCase()==".OUT" || - s1.substr(l-4,4).toUpperCase()==".SOL" || - s1.substr(l-2,2).toUpperCase()==".C" || - s1.substr(l-2,2).toUpperCase()==".H" || - s1.substr(l-3,3).toUpperCase()==".CC" || - s1.substr(l-3,3).toUpperCase()==".GZ" || - s1.substr(l-4,4).toUpperCase()==".CPP" || - s1.substr(l-4,4).toUpperCase()==".HPP" || - s1.substr(l-4,4).toUpperCase()==".ZIP" || - s1.substr(l-4,4).toUpperCase()==".TGZ" || - s1.substr(l-5,5).toUpperCase()==".JAVA")) { - alert('Description file has invalid extension: ...'+s1.substr(l-3,3)); - } else { -*/ - var s2 = String(document.form1.probleminput.value); - if(s2.length > 4) { - if (confirm("Confirm?")) { - document.form1.confirmation.value='confirm'; - } - } else { - alert('File package must be given'); - } - } - } - </script> - <center> - <table border="0"> - <tr> - <td width="35%" align=right>Number:</td> - <td width="65%"> - <input type="text" name="problemnumber" value="" size="20" maxlength="20" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Short Name (usually a letter):</td> - <td width="65%"> - <input type="text" name="problemname" value="" size="20" maxlength="20" /> - </td> - </tr> -<!-- - <tr> - <td width="35%" align=right>Problem Fullname:</td> - <td width="65%"> - <input type="text" name="fullname" value="" size="50" maxlength="100" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Problem Basename (a.k.a. name of class expected to have the main):</td> - <td width="65%"> - <input type="text" name="basename" value="" size="50" maxlength="100" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Description file (PDF, txt, ...):</td> - <td width="65%"> - <input type="file" name="problemdesc" value="" size="40" /> - </td> - </tr> ---> - <tr> - <td width="35%" align=right>Problem package (ZIP):</td> - <td width="65%"> - <input type="file" name="probleminput" value="" size="40" /> - </td> - </tr> -<!-- - <tr> - <td width="35%" align=right>Compare file archive (ZIP):</td> - <td width="65%"> - <input type="file" name="problemsol" value="" size="40" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Timelimit (in sec):</td> - <td width="65%"> - <input type="text" name="timelimit" value="" size="10" /> -(optional: use a , followed by the number of repetitions to run) - </td> - </tr> ---> - <tr> - <td width="35%" align=right>Color name:</td> - <td width="65%"> - <input type="text" name="colorname" value="" size="40" maxlength="100" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Color (RGB HTML format):</td> - <td width="65%"> - <input type="text" name="color" value="" size="6" maxlength="6" /> - </td> - </tr> - </table> - </center> - <center> - <input type="submit" name="Submit3" value="Send" onClick="conf()"> - <input type="reset" name="Submit4" value="Clear"> - </center> - - <br><br><br><center>To build a problem package from files, use this link: - <input type="submit" name="Submit5" value="Build"> -</center> -</form> - -</body> -</html> diff --git a/boca-1.5.2/src/admin/report.php b/boca-1.5.2/src/admin/report.php deleted file mode 100644 index fe4b88d..0000000 --- a/boca-1.5.2/src/admin/report.php +++ /dev/null @@ -1,93 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -// Last modified 07/nov/2012 by cassio@ime.usp.br - -require 'header.php'; - -if (isset($_GET)) { -} -?> -<br><br> - <center> -<?php -// echo "<b>Logs</b><br /><br />\n"; - echo " <a href=\"#\" class=menu style=\"font-weight:bold\" onClick=\"window.open('report/score.php?p=2', ". - "'Complete Scoreboard','width=800,height=600,scrollbars=yes,toolbar=yes,menubar=yes,". - "resizable=yes')\">Scoreboard</a><br />\n"; - echo " <a href=\"#\" class=menu style=\"font-weight:bold\" onClick=\"window.open('report/score.php?p=0', ". - "'Complete Scoreboard','width=800,height=600,scrollbars=yes,toolbar=yes,menubar=yes,". - "resizable=yes')\">Detailed Scoreboard</a><br />\n"; - echo " <a href=\"#\" class=menu style=\"font-weight:bold\" onClick=\"window.open('report/score.php?p=0&hor=0', ". - "'Complete Scoreboard','width=800,height=600,scrollbars=yes,toolbar=yes,menubar=yes,". - "resizable=yes')\">Interactive Scoreboard</a><br />\n"; - echo " <a href=\"#\" class=menu style=\"font-weight:bold\" onClick=\"window.open('report/score.php?p=1', ". - "'Public Scoreboard','width=800,height=600,scrollbars=yes,toolbar=yes,menubar=yes,". - "resizable=yes')\">Delayed Scoreboard</a><br />\n"; - echo " <a href=\"#\" class=menu style=\"font-weight:bold\" onClick=\"window.open('report/run.php', ". - "'Run List','width=800,height=600,scrollbars=yes,toolbar=yes,menubar=yes,". - "resizable=yes')\">Run List</a><br />\n"; - echo " <a href=\"#\" class=menu style=\"font-weight:bold\" onClick=\"window.open('report/clar.php', ". - "'Clarification List','width=800,height=600,scrollbars=yes,toolbar=yes,menubar=yes,". - "resizable=yes')\">Clarification List</a><br />\n"; - echo " <a href=\"#\" class=menu style=\"font-weight:bold\" onClick=\"window.open('report/task.php', ". - "'Task List','width=800,height=600,scrollbars=yes,toolbar=yes,menubar=yes,". - "resizable=yes')\">Task List</a><br />\n"; - echo " <a href=\"#\" class=menu style=\"font-weight:bold\" onClick=\"window.open('report/site.php', ". - "'Start/Stop Logs','width=800,height=600,scrollbars=yes,toolbar=yes,menubar=yes,". - "resizable=yes')\">Site Start/Stop Logs</a><br />\n"; - echo " <a href=\"#\" class=menu style=\"font-weight:bold\" onClick=\"window.open('report/icpc.php', ". - "'ICPC File','width=800,height=600,scrollbars=yes,toolbar=yes,menubar=yes,". - "resizable=yes')\">ICPC File</a><br />\n"; - - echo " <a href=\"#\" class=menu style=\"font-weight:bold\" onClick=\"window.open('report/webcast.php', ". - "'Webcast File','width=800,height=600,scrollbars=yes,toolbar=yes,menubar=yes,". - "resizable=yes')\">Webcast File</a><br />\n"; - - echo " <a href=\"#\" class=menu style=\"font-weight:bold\" onClick=\"window.open('report/stat.php', ". - "'Problem Statistics','width=800,height=600,scrollbars=yes,toolbar=yes,menubar=yes,". - "resizable=yes')\">Statistics</a><br />\n"; - -/* - echo "<br /><br />\n"; - echo "<b>Statistics</b><br /><br />\n"; - - echo " <a href=\"#\" class=menu style=\"font-weight:bold\" onClick=\"window.open('report/statproblem.php', ". - "'Problem Statistics','width=800,height=600,scrollbars=yes,toolbar=yes,menubar=yes,". - "resizable=yes')\">Problems</a><br />\n"; - echo " <a href=\"#\" class=menu style=\"font-weight:bold\" onClick=\"window.open('report/statanswer.php', ". - "'Answer Statistics','width=800,height=600,scrollbars=yes,toolbar=yes,menubar=yes,". - "resizable=yes')\">Answers</a><br />\n"; - echo " <a href=\"#\" class=menu style=\"font-weight:bold\" onClick=\"window.open('report/statuser.php', ". - "'User Statistics','width=800,height=600,scrollbars=yes,toolbar=yes,menubar=yes,". - "resizable=yes')\">Users</a><br />\n"; - echo " <a href=\"#\" class=menu style=\"font-weight:bold\" onClick=\"window.open('report/statlanguage.php', ". - "'Language Statistics','width=800,height=600,scrollbars=yes,toolbar=yes,menubar=yes,". - "resizable=yes')\">Languages</a><br />\n"; - echo " <a href=\"#\" class=menu style=\"font-weight:bold\" onClick=\"window.open('report/statrun.php', ". - "'Run Statistics','width=800,height=600,scrollbars=yes,toolbar=yes,menubar=yes,". - "resizable=yes')\">Runs</a><br />\n"; - echo " <a href=\"#\" class=menu style=\"font-weight:bold\" onClick=\"window.open('report/statclar.php', ". - "'Clarification Statistics','width=800,height=600,scrollbars=yes,toolbar=yes,menubar=yes,". - "resizable=yes')\">Clarifications</a><br />\n"; -*/ -?> - </center> -</form> - -</body> -</html> diff --git a/boca-1.5.2/src/admin/report/clar.php b/boca-1.5.2/src/admin/report/clar.php deleted file mode 100644 index 66bd4cd..0000000 --- a/boca-1.5.2/src/admin/report/clar.php +++ /dev/null @@ -1,82 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -// Last modified 05/aug/2012 by cassio@ime.usp.br - -require('header.php'); -?> -<br> -<center><h2>Clarification List</h2></center> -<table width="100%" border=1> - <tr> - <td><b>#</b></td> - <td><b>Site</b></td> - <td><b>User</b></td> - <td><b>Time</b></td> - <td><b>Problem</b></td> - <td><b>Status</b></td> - <td><b>Judge (Site)</b></td> - <td><b>Question</b></td> - <td><b>Answer</b></td> - </tr> -<?php -$s = $st; - -// forca aparecer as clars do proprio site -if (trim($s["sitejudging"])!="") $s["sitejudging"].=",".$_SESSION["usertable"]["usersitenumber"]; -else $s["sitejudging"]=$_SESSION["usertable"]["usersitenumber"]; - -$clar = DBAllClarsInSites($_SESSION["usertable"]["contestnumber"], $s["sitejudging"], 'normal'); - -for ($i=0; $i<count($clar); $i++) { - echo " <tr>\n"; - echo " <td nowrap>" . $clar[$i]["number"] . "</td>\n"; - echo " <td nowrap>" . $clar[$i]["site"] . "</td>\n"; - echo " <td nowrap>" . $clar[$i]["user"] . "</td>\n"; - echo " <td nowrap>" . dateconvminutes($clar[$i]["timestamp"]) . "</td>\n"; - echo " <td nowrap>" . $clar[$i]["problem"] . "</td>\n"; - - echo " <td nowrap>" . $clar[$i]["status"] . "</td>\n"; - if ($clar[$i]["judge"] != "") { - $u = DBUserInfo ($_SESSION["usertable"]["contestnumber"], $clar[$i]["judgesite"], $clar[$i]["judge"]); - echo " <td nowrap>" . $u["username"] . " (" . $clar[$i]["judgesite"] . ")</td>\n"; - } - else - echo " <td> </td>\n"; - - if ($clar[$i]["question"] == "") $clar[$i]["question"] = " "; - - echo " <td>"; -// echo "<pre>" . $clar[$i]["question"] . "</pre>"; -// echo $clar[$i]["question"]; - echo " <textarea name=\"m$i\" cols=\"60\" rows=\"8\" readonly>".$clar[$i]["question"]."</textarea>\n"; - echo "</td>\n"; - if (trim($clar[$i]["answer"]) == "") $clar[$i]["answer"] = "Not answered yet"; - echo " <td>"; -// echo " <pre>" . $clar[$i]["answer"] . "</pre>"; -// echo $clar[$i]["answer"]; - echo " <textarea name=\"a$i\" cols=\"60\" rows=\"8\" readonly>".$clar[$i]["answer"]."</textarea>\n"; - echo "</td>\n"; - - echo " </tr>\n"; -} - -echo "</table>"; -if (count($clar) == 0) echo "<br><center><b><font color=\"#ff0000\">NO CLARIFICATIONS AVAILABLE</font></b></center>"; - -include("$locr/footnote.php"); -?> diff --git a/boca-1.5.2/src/admin/report/header.php b/boca-1.5.2/src/admin/report/header.php deleted file mode 100644 index 1d191de..0000000 --- a/boca-1.5.2/src/admin/report/header.php +++ /dev/null @@ -1,65 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -// Last modified 05/aug/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(); -//$locr = $_SESSION['locr']; -//$loc = $_SESSION['loc']; -$loc = $locr = "../.."; - -require $locr.'/version.php'; -require_once($locr . "/globals.php"); -if(!ValidSession()) { - InvalidSession($_SERVER['PHP_SELF']); - ForceLoad($loc."/index.php"); -} -if($_SESSION["usertable"]["usertype"] != "admin") { - IntrusionNotify($_SERVER['PHP_SELF']); - ForceLoad($loc."/index.php"); -} - -require_once($locr."/db.php"); -require_once($locr."/freport.php"); - -echo "<html><head><title>Report Page</title>\n"; -echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n"; - -echo "<link rel=stylesheet href=\"$loc/Css.php\" type=\"text/css\">\n"; - -$contest=$_SESSION["usertable"]["contestnumber"]; -if(($ct = DBContestInfo($contest)) == null) - ForceLoad($loc."/index.php"); -$site=$_SESSION["usertable"]["usersitenumber"]; -if(($st = DBSiteInfo($contest,$site)) == null) - ForceLoad($loc."/index.php"); - -echo "</head><body><table border=1 width=\"100%\">\n"; -echo "<tr><td bgcolor=\"eeee00\" nowrap align=center>"; -echo "<img src=\"$loc/images/smallballoontransp.png\" alt=\"\">"; -echo "<font color=\"#ffffff\"><a href=\"http://www.ime.usp.br/~cassio/boca/\">BOCA</a></font>"; -echo "</td><td bgcolor=\"#eeee00\" width=\"99%\">\n"; -echo $ct["contestname"] . " - " . $st["sitename"] . "</td>\n"; -echo "</tr></table>\n"; -?> diff --git a/boca-1.5.2/src/admin/report/icpc.php b/boca-1.5.2/src/admin/report/icpc.php deleted file mode 100644 index 1bf2b86..0000000 --- a/boca-1.5.2/src/admin/report/icpc.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -//Last updated 10/jul/2012 by cassio@ime.usp.br - -require('header.php'); - -$score = DBScore($_SESSION["usertable"]["contestnumber"], false, -1, $st["siteglobalscore"]); - -echo "<h2>ICPC Output</h2>"; -echo "<pre>"; -$n=0; -$class=1; -while(list($e, $c) = each($score)) { - if(isset($score[$e]["site"]) && isset($score[$e]["user"])) { - $r = DBUserInfo($_SESSION["usertable"]["contestnumber"], - $score[$e]["site"], $score[$e]["user"]); - echo $r["usericpcid"] . ","; - echo $class++ . ","; - echo $score[$e]["totalcount"] . ","; - echo $score[$e]["totaltime"] . ","; - - if($score[$e]["first"]) - echo $score[$e]["first"] . "\n"; - else echo "0\n"; - $n++; - } -} -echo "</pre>"; -?> -<?php include("$locr/footnote.php"); ?> - diff --git a/boca-1.5.2/src/admin/report/linechart.php b/boca-1.5.2/src/admin/report/linechart.php deleted file mode 100644 index fa47b17..0000000 --- a/boca-1.5.2/src/admin/report/linechart.php +++ /dev/null @@ -1,45 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -// Last modified 05/aug/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"); -session_start(); -$locr = $_SESSION['locr']; -$loc = $_SESSION['loc']; - -require_once($locr . "/libchart/libchart.php"); -header ("Content-type: image/png"); -ob_end_flush(); - -$v = explode(chr(1),rawurldecode($_GET['dados']),100); - -$chart = new VerticalChart(1000, 300); - -$chart->setUpperBound($v[1]); - -for($i=2;$i<count($v); $i+=2) - $chart->addPoint(new Point($v[$i], $v[$i+1])); - -$chart->setTitle($v[0]); -$chart->setLogo($locr. "/images/poweredbyboca.png"); -$chart->render(); -?> diff --git a/boca-1.5.2/src/admin/report/piechart.php b/boca-1.5.2/src/admin/report/piechart.php deleted file mode 100644 index e6dbf95..0000000 --- a/boca-1.5.2/src/admin/report/piechart.php +++ /dev/null @@ -1,68 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -// Last modified 05/aug/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"); -session_start(); -$locr = $_SESSION['locr']; -$loc = $_SESSION['loc']; - -require_once($locr . "/libchart/libchart.php"); -header("Content-type: image/png"); -ob_end_flush(); - -$v = explode(chr(1),rawurldecode($_GET['dados']),100); -$cor = null; -if(isset($_GET['color'])) - $cor = explode("-",rawurldecode($_GET['color']),100); - -if(count($v)/2 > 8) - $chart = new PieChart(450, 300); -else - $chart = new PieChart(400, 250); - -if(isset($_GET['order'])) $chart->order=true; -else $chart->order=false; - -$tot=0; -for($i=1;$i<count($v); $i+=2) { - $tot += $v[$i+1]; -} -for($i=1;$i<count($v); $i+=2) { - $color = null; - if($cor != null) { - $r = hexdec( substr($cor[($i-1)/2], 0, 2) ); - $g = hexdec( substr($cor[($i-1)/2], 2, 2) ); - $b = hexdec( substr($cor[($i-1)/2], 4, 2) ); - $color = array($r, $g, $b); - } - if($v[$i+1] > $tot/100) - $chart->addPoint(new Point($v[$i], $v[$i+1], $color)); - else - $chart->addPoint(new Point($v[$i], $tot/100, $color)); -} - -$chart->setTitle($v[0]); -$chart->setLogo($locr. "/images/poweredbyboca.png"); -$chart->render(); - -?> diff --git a/boca-1.5.2/src/admin/report/run.php b/boca-1.5.2/src/admin/report/run.php deleted file mode 100644 index 422200d..0000000 --- a/boca-1.5.2/src/admin/report/run.php +++ /dev/null @@ -1,93 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -// Last modified 05/aug/2012 by cassio@ime.usp.br - -require('header.php'); -?> -<br> -<center><h2>Run List</h2></center> -<table width="100%" border=1> - <tr> - <td><b>#</b></td> - <td><b>Site</b></td> - <td><b>User</b></td> - <td><b>Time</b></td> - <td><b>Problem</b></td> - <td><b>Language</b></td> - <td><b>Filename</b></td> - <td><b>Status</b></td> - <td><b>Judge (Site)</b></td> - <td><b>Answer</b></td> - </tr> -<?php -$s = $st; -// forca aparecer as runs do proprio site -if (trim($s["sitejudging"])!="") $s["sitejudging"].=",".$_SESSION["usertable"]["usersitenumber"]; -else $s["sitejudging"]=$_SESSION["usertable"]["usersitenumber"]; - -$run = DBAllRunsInSites($_SESSION["usertable"]["contestnumber"], $s["sitejudging"], 'normal'); - -for ($i=0; $i<count($run); $i++) { - echo " <tr>\n"; - echo " <td nowrap>" . $run[$i]["number"] . "</td>\n"; - echo " <td nowrap>" . $run[$i]["site"] . "</td>\n"; - if ($run[$i]["user"] != "") { - $u = DBUserInfo ($_SESSION["usertable"]["contestnumber"], $run[$i]["site"], $run[$i]["user"]); - echo " <td nowrap>" . $u["userfullname"] . "</td>\n"; - } - echo " <td nowrap>" . dateconvminutes($run[$i]["timestamp"]) . "</td>\n"; - - if($run[$i]["status"] == "deleted") { - echo "<td> </td>\n"; - echo "<td> </td>\n"; - echo "<td> </td>\n"; - echo " <td nowrap>" . $run[$i]["status"] . "</td>\n"; - if ($run[$i]["judge"] != "") { - $u = DBUserInfo ($_SESSION["usertable"]["contestnumber"], $run[$i]["judgesite"], $run[$i]["judge"]); - echo " <td nowrap>" . $u["username"] . " (" . $run[$i]["judgesite"] . ")</td>\n"; - } else - echo " <td> </td>\n"; - echo "<td> </td>\n"; - echo "</tr>"; - continue; - } - - echo " <td nowrap>" . $run[$i]["problem"]; - if($run[$i]["colorname"] != "") - echo "(".$run[$i]["colorname"].")"; - echo "</td>\n"; - echo " <td nowrap>" . $run[$i]["language"] . "</td>\n"; - echo " <td nowrap>" . $run[$i]["filename"] . "</td>\n"; - - echo " <td nowrap>" . $run[$i]["status"] . "</td>\n"; - if ($run[$i]["judge"] != "") { - $u = DBUserInfo ($_SESSION["usertable"]["contestnumber"], $run[$i]["judgesite"], $run[$i]["judge"]); - echo " <td nowrap>" . $u["username"] . " (" . $run[$i]["judgesite"] . ")</td>\n"; - } else - echo " <td> </td>\n"; - - if ($run[$i]["answer"] == "") $run[$i]["answer"] = " "; - echo " <td>" . $run[$i]["answer"] . "</td>\n"; - echo " </tr>\n"; -} - -echo "</table>"; -if (count($run) == 0) echo "<br><center><b><font color=\"#ff0000\">NO RUNS AVAILABLE</font></b></center>"; - -include("$locr/footnote.php"); -?> diff --git a/boca-1.5.2/src/admin/report/score.php b/boca-1.5.2/src/admin/report/score.php deleted file mode 100644 index 0196b3a..0000000 --- a/boca-1.5.2/src/admin/report/score.php +++ /dev/null @@ -1,43 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -//Last updated 10/jul/2012 by cassio@ime.usp.br - -require('header.php'); - -$final = true; -$s = $st; -$des = true; -$detail=true; -if($_GET["p"] == "0") $ver = false; -else if($_GET["p"] == "2") $detail=false; -else { - $ver = true; - $des = false; -} -if(isset($_GET["hor"])) $hor = $_GET["hor"]; -else $hor = -1; - -if ($s["currenttime"] >= $s["sitelastmilescore"] && $ver) { - $togo = (int) (($s['siteduration'] - $s["sitelastmilescore"])/60); - echo"<br /><center><h2>Scoreboard (as of $togo minutes to go)</h2></center>\n"; -} else - echo"<br /><center><h2>Final Scoreboard</h2></center>\n"; - -require("$locr/scoretable.php"); -include("$locr/footnote.php"); -?> diff --git a/boca-1.5.2/src/admin/report/site.php b/boca-1.5.2/src/admin/report/site.php deleted file mode 100644 index 001d48e..0000000 --- a/boca-1.5.2/src/admin/report/site.php +++ /dev/null @@ -1,128 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -// Last modified 05/aug/2012 by cassio@ime.usp.br - -require('header.php'); - -$sitetime = DBAllSiteTime($_SESSION["usertable"]["contestnumber"], $site); -?> -<br /> -<center><h2>Site Start/Stop Logs</h2></center> - - <table border="0"> -<?php -echo " <td nowrap width=\"50%\" align=right>Start date (contest=" . dateconv($ct["conteststartdate"]) . "):</td>"; -echo "<td width=\"50%\"><b>" . dateconv($st["sitestartdate"]) . "</b></td>\n"; -echo "<tr>"; -if (!$st["siterunning"]) { - echo " <tr>\n"; - echo " <td nowrap width=\"50%\" align=right><b>Finished at:</b></td>\n"; - echo " <td width=\"50%\"><b>" . dateconv($st["siteendeddate"]); - if($st["siteautoended"]) echo " (auto)"; - echo "</b></td>\n"; - echo " </tr>\n"; - if($st["siteautoended"]) { - $w = (int) ($st["siteduration"]/60); - $ww = $st["siteduration"] % 60; - } - else { - $w = (int) ($st["currenttime"]/60); - $ww = $st["currenttime"] % 60; - } - echo " <tr>\n"; - echo " <td nowrap width=\"50%\" align=right><b>Real duration:</b></td>\n"; - echo " <td width=\"50%\"><b>$w minutes"; - if($ww != 0) echo " plus $ww seconds"; - echo "</b></td>\n"; - echo " </tr>\n"; -} -echo "<tr>\n"; -echo " <td width=\"50%\" align=right>Planned Duration (contest="; -echo $ct["contestduration"]/60; -echo "):</td>"; -?> - <td width="50%"> - <?php echo $st["siteduration"]/60; ?> - </td> - </tr> - <tr> -<?php -echo " <td width=\"50%\" align=right>Stop answering (contest="; -echo $ct["contestlastmileanswer"]/60; -echo "):</td>"; -?> - <td width="50%"> - <?php echo $st["sitelastmileanswer"]/60; ?> - </td> - </tr> - <tr> -<?php -echo " <td width=\"50%\" align=right>Stop scoreboard (contest="; -echo $ct["contestlastmilescore"]/60; -echo "):</td>"; -?> - <td width="50%"> - <?php echo $st["sitelastmilescore"]/60; ?> - </td> - </tr> - <tr> - <td width=\"50%\" align=right>Number of Clars:</td> - <td width="50%"><?php echo $st["sitenextclar"]; ?> - </td> - </tr> - <tr> - <td width=\"50%\" align=right>Number of Runs:</td> - <td width="50%"><?php echo $st["sitenextrun"]; ?> - </td> - </tr> - <tr> - <td width=\"50%\" align=right>Number of Tasks:</td> - <td width="50%"><?php echo $st["sitenexttask"]; ?> - </td> - </tr> - </table> - </center> -<center> -<br /> -<table border=1> -<tr> -<td nowrap width=\"50%\" align=right>Starting at</td><td nowrap width=\"50%\" align=left>Ending at</td> -</tr> -<?php -$n = count($sitetime); -for ($i=0; $i< $n; $i++) { - echo "<tr>"; - echo "<td nowrap align=right>"; - echo dateconv($sitetime[$i]["sitestartdate"]); - echo "</td>"; - echo "<td nowrap align=left>"; - if($sitetime[$i]["siteenddate"] == 0) { - if($st["siterunning"]) - echo "still open"; - else echo "auto-ended"; - } - else - echo dateconv($sitetime[$i]["siteenddate"]); - echo "</td>"; - echo "</tr>"; -} -?> -</table> -</center> - -<?php include("$locr/footnote.php"); ?> diff --git a/boca-1.5.2/src/admin/report/stat.php b/boca-1.5.2/src/admin/report/stat.php deleted file mode 100644 index 1abfa71..0000000 --- a/boca-1.5.2/src/admin/report/stat.php +++ /dev/null @@ -1,343 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -// Last modified 05/aug/2012 by cassio@ime.usp.br - -require('header.php'); - -$d = DBRunReport($_SESSION["usertable"]["contestnumber"],$_SESSION["usertable"]["usersitenumber"]); - -echo "<center><h2>Statistics</h2></center>\n"; -//---------------------------------------------------------- -echo "<center><h3>Runs by Problem</h3></center>\n"; -echo "<center><table border=1>\n"; -echo "<tr><td><b><u>Problems</u></b></td>"; - -echo "<td>Total</td><td>Accepted</td>"; -echo "</tr>\n"; - -$str="All Runs by Problem"; -$str2="Accepted Runs by Problem"; -reset($d['problem']); -$cor = ""; -while (list($keya, $val) = each($d['problem'])) { - $val = $d['problemyes'][$keya]; if($val=="") $val=0; - $str2 .= chr(1) . $keya . "(" . $val . ")" . chr(1) . $val; - $cor .= "-" . $d['color'][$keya]; -} -$cor = substr($cor,1); - -reset($d['problem']); -while (list($keya, $val) = each($d['problem'])) { - $str .= chr(1) . $keya . "(" . $val . ")" . chr(1) . $val; - echo "<tr><td>$keya "; - echo "<img alt=\"balloon\" width=\"15\" ". - "src=\"" . balloonurl($d['color'][$keya]) ."\" />\n"; - echo "</td>"; - echo "<td>$val</td>"; - if(isset($d['problemyes'][$keya])) { - echo "<td nowrap>".$d['problemyes'][$keya]; - if($val != 0) { - $p = round(100*$d['problemyes'][$keya] / $val); - echo " (".$p."%)"; - } - echo "</td>"; - } - else - echo "<td nowrap>0 (0%)</td>"; - echo "</tr>"; -} -echo "</table></center>"; - -echo "<center><table><tr>"; -echo "<td><img alt=\"\" src=\"piechart.php?dados=".rawurlencode($str)."&color=".rawurlencode($cor)."\" /></td>\n"; -echo "<td><img alt=\"\" src=\"piechart.php?dados=".rawurlencode($str2)."&color=".rawurlencode($cor)."\" /></td></tr></table></center>\n"; - -//---------------------------------------------------------- -echo "<center><h3>Runs by Problem and Answer</h3></center>\n"; -echo "<center><table border=1>\n"; -echo "<tr><td><b><u>Problems x Answers</u></b></td>"; -reset($d['answer']); -while (list($key, $val) = each($d['answer'])) - echo "<td>$key</td>"; -echo "<td>Total</td></tr>\n"; - -reset($d['problem']); -while (list($keya, $vala) = each($d['problem'])) { - echo "<tr><td>$keya "; - echo "<img alt=\"balloon\" width=\"15\" ". - "src=\"" . balloonurl($d['color'][$keya]) ."\" />\n"; - echo "</td>"; - reset($d['answer']); - while (list($key, $val) = each($d['answer'])) { - if(!isset($d['pa'][$keya][$key])) - echo "<td>0</td>"; - else { - $p = round(100*$d['pa'][$keya][$key] / $vala); - echo "<td nowrap>".$d['pa'][$keya][$key]." (".$p."%)</td>"; - } - } - echo "<td>$vala</td>"; - echo "</tr>"; -} -echo "</table></center>"; - -//---------------------------------------------------------- -echo "<center><h3>Runs by Problem and Language</h3></center>\n"; -echo "<center><table border=1>\n"; -echo "<tr><td><b><u>Problems x Languages</u></b></td>"; -reset($d['language']); -while (list($key, $val) = each($d['language'])) - echo "<td>$key</td>"; -echo "<td>Total</td></tr>\n"; - -reset($d['problem']); -while (list($keya, $vala) = each($d['problem'])) { - echo "<tr><td>$keya "; - echo "<img alt=\"balloon\" width=\"15\" ". - "src=\"" . balloonurl($d['color'][$keya]) ."\" />\n"; - echo "</td>"; - reset($d['language']); - while (list($key, $val) = each($d['language'])) { - if(!isset($d['pl'][$keya][$key])) - echo "<td>0</td>"; - else { - $p = round(100*$d['pl'][$keya][$key] / $vala); - echo "<td nowrap>".$d['pl'][$keya][$key]." (".$p."%)</td>"; - } - } - echo "<td>$vala</td>"; - echo "</tr>"; -} -echo "</table></center>"; - -//---------------------------------------------------------- -echo "<br />"; -echo "<hr />"; -echo "<center><h3>Runs by Language</h3></center>\n"; -echo "<center><table border=1>\n"; -echo "<tr><td><b><u>Languages</u></b></td>"; - -echo "<td>Total</td><td>Accepted</td>"; -echo "</tr>\n"; - -$str="All Runs by Language"; -$str2="Accepted Runs by Language"; -reset($d['language']); -while (list($keya, $val) = each($d['language'])) { - $val = $d['languageyes'][$keya]; if($val=="") $val=0; - $str2 .= chr(1) . $keya . "(" . $val . ")" . chr(1) . $val; -} - -reset($d['language']); -while (list($keya, $val) = each($d['language'])) { - $str .= chr(1) . $keya . "(" . $val . ")" . chr(1) . $val; - echo "<tr><td>$keya</td>"; - echo "<td>$val</td>"; - if(isset($d['languageyes'][$keya])) { - $p = round(100*$d['languageyes'][$keya] / $val); - echo "<td nowrap>".$d['languageyes'][$keya]." (".$p."%)</td>"; - } - else - echo "<td nowrap>0 (0%)</td>"; - echo "</tr>"; -} -echo "</table></center>"; - -echo "<center><table><tr>"; -echo "<td><img alt=\"\" src=\"piechart.php?dados=".rawurlencode($str)."\" /></td>\n"; -echo "<td><img alt=\"\" src=\"piechart.php?dados=".rawurlencode($str2)."\" /></td></tr></table></center>\n"; - -//---------------------------------------------------------- -echo "<center><h3>Runs by Language and Answer</h3></center>\n"; -echo "<center><table border=1>\n"; -echo "<tr><td><b><u>Languages x Answers</u></b></td>"; -reset($d['answer']); -while (list($key, $val) = each($d['answer'])) - echo "<td>$key</td>"; -echo "<td>Total</td></tr>\n"; - -reset($d['language']); -while (list($keya, $vala) = each($d['language'])) { - echo "<tr><td>$keya</td>"; - reset($d['answer']); - while (list($key, $val) = each($d['answer'])) { - if(!isset($d['la'][$keya][$key])) - echo "<td>0</td>"; - else { - $p = round(100*$d['la'][$keya][$key] / $vala); - echo "<td nowrap>".$d['la'][$keya][$key]." (".$p."%)</td>"; - } - } - echo "<td>$vala</td>"; - echo "</tr>"; -} -echo "</table></center>"; - -//---------------------------------------------------------- -echo "<br />"; -echo "<hr />"; -echo "<center><h3>Runs by Answer</h3></center>\n"; - -echo "<center><table><tr>"; -echo "<td>"; - -echo "<center><table border=1>\n"; -echo "<tr><td><b><u>Answers</u></b></td>"; - -echo "<td>Answers</td>"; -echo "</tr>\n"; - -$str="All Runs by Answer"; -reset($d['answer']); -while (list($keya, $val) = each($d['answer'])) { - $str .= chr(1) . $keya . "(" . $val . ")" . chr(1) . $val; - echo "<tr><td>$keya</td>"; - echo "<td>$val</td>"; - echo "</tr>"; -} -echo "</table></center>"; - -echo "</td>"; -echo "<td><img alt=\"\" src=\"piechart.php?order=1&dados=".rawurlencode($str)."\" /></td></tr></table></center>\n"; - -//---------------------------------------------------------- -echo "<br />"; -echo "<hr />"; -echo "<center><h3>Runs by User and Problem</h3></center>\n"; -echo "<center><table border=1>\n"; -echo "<tr><td><b><u>Users x Problems</u></b></td>"; -reset($d['problem']); -while (list($key, $val) = each($d['problem'])) { - echo "<td>$key "; - echo "<img alt=\"balloon\" width=\"15\" ". - "src=\"" . balloonurl($d['color'][$key]) ."\" />\n"; - echo "</td>"; -} -echo "<td>Total</td><td>Accepted</td></tr>\n"; - -reset($d['username']); -while (list($keya, $vala) = each($d['username'])) { - $keya = $d['username'][$keya]; - if(isset($d['user'][$keya])) - $vala = $d['user'][$keya]; - else $vala=0; - echo "<tr><td>".$d['userfull'][$keya]."</td>"; - reset($d['problem']); - while (list($key, $val) = each($d['problem'])) { - if(!isset($d['up'][$keya][$key])) - echo "<td bgcolor=\"ffff88\">0</td>"; - else { - $q = $d['up'][$keya][$key]; - $color = "ff5555"; - if($q < 0) { - $q = - $q; - $color = "22ee22"; - } - echo "<td nowrap bgcolor=\"$color\">".$q; - if($vala != 0) { - $p = round(100*$q / $vala); - echo " (".$p."%)"; - } - echo "</td>"; - } - } - if($vala != "") - echo "<td>$vala</td>"; - else - echo "<td>0</td>"; - if(isset($d['useryes'][$keya])) { - if($vala != 0) { - $p = round(100*$d['useryes'][$keya] / $vala); - echo "<td nowrap>".$d['useryes'][$keya]." (".$p."%)</td>"; - } else - echo "<td>".$d['useryes'][$keya]."</td>"; - } else - echo "<td>0</td>"; - - echo "</tr>"; -} -echo "</table></center>"; - -//---------------------------------------------------------- -echo "<br />"; -echo "<hr />"; -echo "<center><h3>Runs by Time Period</h3></center>\n"; - -$vezes = 30; -$passo = $st['siteduration']/$vezes; -$atual = 0; -$pos = 0; -$res = array(); -$m = 0; -sort($d['timestamp']); -reset($d['timestamp']); -while (list($keya, $val) = each($d['timestamp'])) { - while($atual+$passo < $val) { - $atual += $passo; - $pos++; - } - if(isset($res[$pos])) - $res[$pos]++; - else $res[$pos]=1; - if($res[$pos] > $m) $m=$res[$pos]; -} - -$str="Runs by Time Period" . chr(1) . $m; -$atual=0; -for($pos=0; $pos<$vezes; $pos++) { - if($res[$pos]=="") $res[$pos] = 0; - $q = (int) ($atual/60); - $atual += $passo; - $qq = (int) ($atual/60); - $str .= chr(1) . $q . "-" .$qq . chr(1) . $res[$pos]; -} - -echo "<center><img alt=\"\" src=\"linechart.php?dados=".rawurlencode($str)."\" /></center>\n"; - -//------------------------------------------------ -$vezes = 30; -$passo = $st['siteduration']/$vezes; -$atual = 0; -$pos = 0; -$res = array(); -sort($d['timestampyes']); -reset($d['timestampyes']); -while (list($keya, $val) = each($d['timestampyes'])) { - while($atual+$passo < $val) { - $atual += $passo; - $pos++; - } - if(isset($res[$pos])) - $res[$pos]++; - else $res[$pos]=1; -} - -$str="Accepted Runs by Time Period" . chr(1) . $m; -$atual=0; -for($pos=0; $pos<$vezes; $pos++) { - if($res[$pos]=="") $res[$pos] = 0; - $q = (int) ($atual/60); - $atual += $passo; - $qq = (int) ($atual/60); - $str .= chr(1) . $q . "-" .$qq . chr(1) . $res[$pos]; -} - -echo "<center><img alt=\"\" src=\"linechart.php?dados=".rawurlencode($str)."\" /></center>\n"; - -include("$locr/footnote.php"); -?> diff --git a/boca-1.5.2/src/admin/report/task.php b/boca-1.5.2/src/admin/report/task.php deleted file mode 100644 index 59ca0e2..0000000 --- a/boca-1.5.2/src/admin/report/task.php +++ /dev/null @@ -1,68 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -// Last modified 05/aug/2012 by cassio@ime.usp.br -require('header.php'); - -?> -<br> -<center><h2>Task List</h2></center> -<table width="100%" border=1> - <tr> - <td><b>#</b></td> - <td><b>Time</b></td> - <td><b>User / Site</b></td> - <td><b>Description</b></td> - <td><b>File</b></td> - <td><b>Staff / Site</b></td> - <td><b>Status</b></td> - </tr> -<?php -$s = $st; -$task = DBAllTasksInSites($_SESSION["usertable"]["contestnumber"], $s["sitetasking"], 'normal'); -$cf = globalconf(); -for ($i=0; $i<count($task); $i++) { - $st = $task[$i]["status"]; - - if($st == "processing" && $task[$i]["staff"]==$_SESSION["usertable"]["usernumber"] && - $task[$i]["staffsite"]==$_SESSION["usertable"]["usersitenumber"]) $mine=1; - else $mine=0; - - echo " <tr>\n"; - echo " <td nowrap>" . $task[$i]["number"] . "</td>\n"; - echo " <td nowrap>" . dateconvminutes($task[$i]["timestamp"]) . "</td>\n"; - echo " <td nowrap>".$task[$i]["username"]." / ".$task[$i]["site"]."</td>\n"; - echo " <td>" . $task[$i]["description"] . "</td>\n"; - if ($task[$i]["oid"] != null) { - echo " <td nowrap>" . $task[$i]["filename"]; - echo "</td>\n"; - - } - else - echo " <td nowrap> </td>\n"; - if($st != "opentask") - echo " <td nowrap>". $task[$i]["staffname"] . "(" . $task[$i]["staff"] .") / ".$task[$i]["staffsite"]."</td>\n"; - else - echo " <td nowrap> </td>\n"; - - echo " <td nowrap>$st</td>\n"; -} -echo "</table>"; -if (count($task) == 0) echo "<br><center><b><font color=\"#ff0000\">NO TASKS FOUND</font></b></center>"; - -include("$locr/footnote.php"); -?> diff --git a/boca-1.5.2/src/admin/report/webcast.php b/boca-1.5.2/src/admin/report/webcast.php deleted file mode 100644 index 5a595fc..0000000 --- a/boca-1.5.2/src/admin/report/webcast.php +++ /dev/null @@ -1,190 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -//Last updated 07/nov/2012 by cassio@ime.usp.br - -require('header.php'); - -$contest = $_SESSION["usertable"]["contestnumber"]; -$site = $_SESSION["usertable"]["usersitenumber"]; - -$ct = DBContestInfo($contest); -if(($st = DBSiteInfo($contest, $site)) == null) - ForceLoad("../index.php"); - -//if(isset($_GET['full']) && $_GET['full'] > 0) - $freezeTime = $st['siteduration']; -//else -// $freezeTime = $st['sitelastmilescore']; - -$contestfile = $ct['contestname'] . "\n"; - -$contestfile = $contestfile . - $ct['contestduration']/60 . '' . - $ct['contestlastmileanswer']/60 . '' . - $ct['contestlastmilescore']/60 . '' . - $ct['contestpenalty']/60 . "\n"; - -$c = DBConnect(); -$r = DBExec($c, - 'SELECT problemnumber FROM problemtable' . - ' WHERE contestnumber = ' . $contest . - ' AND problemnumber > 0'); -$numProblems = DBnlines($r); -$r = DBExec($c, - 'SELECT username, userfullname FROM usertable' . - ' WHERE contestnumber = ' . $contest . - ' AND userenabled = \'t\' AND usersitenumber = ' . $site . - ' AND usertype = \'team\''); -$numTeams = DBnlines($r); - -$contestfile = $contestfile . - $numTeams . '' . - $numProblems . "\n"; - -for ($i = 0; $i < $numTeams; $i++) { - $a = DBRow($r, $i); - $teamID = $a['username']; - if(isset($a['usershortname'])) - $teamName = $a['usershortname']; - else - $teamName = $a['userfullname']; - if(isset($a['usershortinstitution'])) - $teamUni = $a['usershortinstitution']; - else - $teamUni = $teamName; - - $contestfile = $contestfile . - $teamID . '' . - $teamUni . '' . - $teamName . "\n"; -} - -$contestfile = $contestfile . - '1' . '' . '1' . "\n"; -$contestfile = $contestfile . - $numProblems . '' . 'Y' . "\n"; - -$score = DBScore($_SESSION["usertable"]["contestnumber"], false, -1, $ct["contestlocalsite"]); - -//$contestfile = $contestfile . -// "<h2>ICPC Output</h2>"; -//$contestfile = $contestfile . -// "<pre>"; -$n=0; -$class=1; -while(list($e, $c) = each($score)) { - if(isset($score[$e]["site"]) && isset($score[$e]["user"])) { - if(DBSiteInfo($_SESSION["usertable"]["contestnumber"],$score[$e]["site"]) != null) { - $r = DBUserInfo($_SESSION["usertable"]["contestnumber"], - $score[$e]["site"], $score[$e]["user"]); - $contestfile = $contestfile . - $r["usericpcid"] . "," . - $class++ . "," . - $score[$e]["totalcount"] . "," . - $score[$e]["totaltime"] . ","; - - if($score[$e]["first"]) - $contestfile = $contestfile . $score[$e]["first"] . "\n"; - else $contestfile = $contestfile . "0\n"; - $n++; - } - } -} -//$contestfile = $contestfile . -// "</pre>"; - -$timefile = $st['currenttime']; -$versionfile = '1.0' . "\n"; - -$run = DBAllRunsInSites($contest, $site, 'run'); - -$numRuns = count($run); - -$runfile = ''; -for ($i = 0; $i < $numRuns; $i++) { - $u = DBUserInfo($contest, $site, $run[$i]['user']); - - $runID = $run[$i]['number']; - $runTime = dateconvminutes($run[$i]['timestamp']); - $runTeam = $u['username']; - $runProblem = $run[$i]['problem']; - - if ($runTime > $freezeTime) { - continue; - } - - $runfile = $runfile . - $runID . '' . - $runTime . '' . - $runTeam . '' . - $runProblem . ''; - - if ($run[$i]['yes']=='t') { - $runfile = $runfile . - 'Y' . "\n"; - } else if ($run[$i]['answer'] == 'Not answered yet') { - $runfile = $runfile . - '?' . "\n"; - } else { - $runfile = $runfile . - 'N' . "\n"; - } -} - -$ds = DIRECTORY_SEPARATOR; -if($ds=="") $ds = "/"; - -if(isset($_SESSION['locr'])) { - $webcastdir = $_SESSION['locr'] . $ds . 'private' .$ds. 'webcast'; - $webcastparentdir = $_SESSION['locr'] . $ds. 'private'; -} else { - $webcastdir = $locr . $ds . 'private' . $ds . 'webcast'; - $webcastparentdir = $locr . $ds . 'private'; -} -cleardir($webcastdir); -@mkdir($webcastdir); -if(is_writable($webcastdir)) { - file_put_contents($webcastdir . $ds . 'runs',$runfile); - file_put_contents($webcastdir . $ds . 'contest',$contestfile); - file_put_contents($webcastdir . $ds . 'version',$versionfile); - file_put_contents($webcastdir . $ds . 'time',$timefile); - if(@create_zip($webcastparentdir,array('webcast'),$webcastdir . ".tmp") != 1) { - LOGError("Cannot create score webcast.tmp file"); - MSGError("Cannot create score webcast.tmp file"); - } else { - $cf = globalconf(); - file_put_contents($webcastdir . ".tmp",encryptData(file_get_contents($webcastdir . ".tmp"), $cf["key"],false)); - @rename($webcastdir . ".tmp",$webcastdir . '.zip'); - } - echo "<br><br><br><center>"; - echo "<a href=\"$locr/filedownload.php?". - filedownload(-1,$webcastdir . '.zip') . "\">CLICK TO DOWNLOAD</a>"; - echo "</center>"; -} else { - LOGError('Error creating the folder for the ZIP file: '. $webcastdir); - MSGError('Error creating the folder for the ZIP file: '.$webcastdir); - ForceLoad("../index.php"); -} -echo "<br><br><br>\n"; -echo "<br><br><br>\n"; -echo "<br><br><br>\n"; -echo "<br><br><br>\n"; -echo "<br><br><br>\n"; -echo "<br><br><br>\n"; -?> -<?php include("$locr/footnote.php"); ?> diff --git a/boca-1.5.2/src/admin/run.php b/boca-1.5.2/src/admin/run.php deleted file mode 100644 index 4ec0eca..0000000 --- a/boca-1.5.2/src/admin/run.php +++ /dev/null @@ -1,187 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -// 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 = ''; -} -?> - -<form name="form1" method="post" action="<?php echo $runphp; ?>"> - <input type=hidden name="confirmation" value="noconfirm" /> -<br> -<table width="100%" border=1> - <tr> - <td><b><a href="<?php echo $runphp; ?>?order=run">Run #</a></b></td> - <td><b><a href="<?php echo $runphp; ?>?order=site">Site</a></b></td> -<?php if($runphp == "run.php") { ?> - <td><b><a href="<?php echo $runphp; ?>?order=user">User</a></b></td> -<?php } ?> - <td><b>Time</b></td> - <td><b><a href="<?php echo $runphp; ?>?order=problem">Problem</a></b></td> - <td><b><a href="<?php echo $runphp; ?>?order=language">Language</a></b></td> -<!-- <td><b>Filename</b></td> --> - <td><b><a href="<?php echo $runphp; ?>?order=status">Status</a></b></td> - <td><b><a href="<?php echo $runphp; ?>?order=judge">Judge (Site)</a></b></td> - <td><b>AJ</b></td> - <td><b><a href="<?php echo $runphp; ?>?order=answer">Answer</a></b></td> - </tr> -<?php -if (($s=DBSiteInfo($_SESSION["usertable"]["contestnumber"],$_SESSION["usertable"]["usersitenumber"])) == null) - ForceLoad("../index.php"); - -// forca aparecer as runs do proprio site -if (trim($s["sitejudging"])!="") $s["sitejudging"].=",".$_SESSION["usertable"]["usersitenumber"]; -else $s["sitejudging"]=$_SESSION["usertable"]["usersitenumber"]; - -$run = DBAllRunsInSites($_SESSION["usertable"]["contestnumber"], $s["sitejudging"], $order); - -if(isset($_POST)) { - $nrenew = 0; - $nreopen = 0; - for ($i=0; $i<count($run); $i++) { - if(isset($_POST["cbox_" . $run[$i]["number"] . "_" . $run[$i]["site"]]) && - $_POST["cbox_" . $run[$i]["number"] . "_" . $run[$i]["site"]] != "") { - if(isset($_POST["auto"]) && $_POST["auto"]=="Re-run autojudge for selected runs") { - if (DBGiveUpRunAutojudging($_SESSION["usertable"]["contestnumber"], - $run[$i]["site"], $run[$i]["number"])) - $nrenew++; - } - if(isset($_POST["open"]) && $_POST["open"]=="Open selected runs for rejudging") { - DBGiveUpRunAutojudging($_SESSION["usertable"]["contestnumber"], - $run[$i]["site"], $run[$i]["number"]); - if (DBChiefRunGiveUp($run[$i]["number"], $run[$i]["site"], - $_SESSION["usertable"]["contestnumber"])) - $nreopen++; - } - } - } - if($nrenew > 0) { - MSGError($nrenew . " runs renewed for autojudging."); - ForceLoad($runphp); - } - if($nreopen > 0) { - MSGError($nreopen . " runs reopened."); - ForceLoad($runphp); - } -} - - -for ($i=0; $i<count($run); $i++) { - if($run[$i]["answer1"] != 0 && $run[$i]["answer2"] != 0 && $run[$i]["status"] != "judged") { - if($runphp == "runchief.php") - echo " <tr bgcolor=\"ff0000\">\n"; - else echo "<tr>\n"; - echo " <td nowrap bgcolor=\"ff0000\">"; - } - else { - echo " <tr><td nowrap>"; - } - echo "<input type=\"checkbox\" name=\"cbox_" . $run[$i]["number"] . "_" . $run[$i]["site"] . "\" />"; - echo " <a href=\"" . $runeditphp . "?runnumber=".$run[$i]["number"]."&runsitenumber=".$run[$i]["site"] . - "\">" . $run[$i]["number"] . "</a></td>\n"; - - echo " <td nowrap>" . $run[$i]["site"] . "</td>\n"; - if($runphp == "run.php") { - if ($run[$i]["user"] != "") { - $u = DBUserInfo ($_SESSION["usertable"]["contestnumber"], $run[$i]["site"], $run[$i]["user"]); - echo " <td nowrap>" . $u["username"] . "</td>\n"; - } - } - echo " <td nowrap>" . dateconvminutes($run[$i]["timestamp"]) . "</td>\n"; - echo " <td nowrap>" . $run[$i]["problem"] . "</td>\n"; - echo " <td nowrap>" . $run[$i]["language"] . "</td>\n"; -// echo " <td nowrap>" . $run[$i]["filename"] . "</td>\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 " <td nowrap bgcolor=\"#$color\">" . $run[$i]["status"] . "</td>\n"; - if ($run[$i]["judge"] != "") { - $u = DBUserInfo ($_SESSION["usertable"]["contestnumber"], $run[$i]["judgesite"], $run[$i]["judge"]); - echo " <td nowrap>" . $u["username"] . " (" . $run[$i]["judgesite"] . ")"; - } else - echo " <td> "; - - 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 "</td>\n"; - - if ($run[$i]["autoend"] != "") { - $color="bbbbff"; - if ($run[$i]["autoanswer"]=="") $color="ff7777"; - } - else if ($run[$i]["autobegin"]=="") $color="ffff88"; - else $color="77ff77"; - echo "<td bgcolor=\"#$color\"> </td>\n"; - - if ($run[$i]["answer"] == "") { - echo " <td> </td>\n"; - } else { - echo " <td>" . $run[$i]["answer"]; - if($run[$i]['yes']=='t') { - echo " <img alt=\"".$run[$i]["colorname"]."\" width=\"10\" ". - "src=\"" . balloonurl($run[$i]["color"]) ."\" />"; - } - echo "</td>\n"; - } - echo " </tr>\n"; -} - -echo "</table>"; -if (count($run) == 0) echo "<br><center><b><font color=\"#ff0000\">NO RUNS AVAILABLE</font></b></center>"; -else { -?> - <br> - <script language="javascript"> - function conf() { - if (confirm("Confirm?")) { - document.form1.confirmation.value='confirm'; - } - } - </script> - <center> -<b>Click on the number of a run to edit it or select them with<br />the checkboxes and use the buttons to work on multiple runs:</b><br /><br /> - <input type="submit" name="auto" value="Re-run autojudge for selected runs" onClick="conf()"> - <input type="submit" name="open" value="Open selected runs for rejudging" onClick="conf()"> -<br><br> - </center> - </form> -<?php -} -?> -</body> -</html> diff --git a/boca-1.5.2/src/admin/runedit.php b/boca-1.5.2/src/admin/runedit.php deleted file mode 100644 index fa691e8..0000000 --- a/boca-1.5.2/src/admin/runedit.php +++ /dev/null @@ -1,320 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -// 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"]); -?> -<br><br><center><b>Use the following fields to judge the run: -</b></center> -<form name="form1" method="post" action="<?php echo $runeditphp; ?>"> - <input type=hidden name="confirmation" value="noconfirm" /> - <center> - <table border="1"> - <tr> - <td width="27%" align=right><b>Site:</b></td> - <td width="83%"> - <input type=hidden name="sitenumber" value="<?php echo $a["sitenumber"]; ?>" /> - <?php echo $a["sitenumber"]; ?> - </td> - </tr> - <tr> - <td width="27%" align=right><b>Number:</b></td> - <td width="83%"> - <input type=hidden name="number" value="<?php echo $a["number"]; ?>" /> - <?php echo $a["number"]; ?> - </td> - </tr> - <tr> - <td width="27%" align=right><b>Time:</b></td> - <td width="83%"> - <?php echo dateconvminutes($a["timestamp"]); ?> - </td> - </tr> - <tr> - <td width="27%" align=right><b>Problem</b><i> <?php echo $a["problemname"]; ?></i>: </td> - <td width="83%"> -<?php -for ($i=0;$i<count($b);$i++) { - echo "<a href=\"../filedownload.php?". filedownload($b[$i]["inputoid"],$b[$i]["inputfilename"]) . "\">"; - echo $b[$i]["inputfilename"] . "</a>"; -// echo " <a href=\"#\" class=menu style=\"font-weight:bold\" onClick=\"window.open('../filewindow.php?". -// filedownload($b[$i]["inputoid"],$b[$i]["inputfilename"]) ."', 'View$i - INPUT','width=680,height=600,scrollbars=yes,resizable=yes')\">view</a> "; -/* - echo "<b>Sol:</b><a href=\"../filedownload.php?". filedownload($b[$i]["soloid"], $b[$i]["solfilename"]) . "\">"; - echo $b[$i]["solfilename"] . "</a>"; - echo " <a href=\"#\" class=menu style=\"font-weight:bold\" onClick=\"window.open('../filewindow.php?". - filedownload($b[$i]["soloid"], $b[$i]["solfilename"]) ."', 'View$i - CORRECT OUTPUT','width=680,height=600,scrollbars=yes,resizable=yes')\">view</a>"; -*/ -} -?> - </td> - </tr> - <tr> - <td width="27%" align=right><b>Language</b>:</td> - <td width="83%"> - <i> <?php echo $a["language"]; ?></i></td> - </tr> - <tr> - <td width="27%" align=right><b>Team's code:</b></td> - <td width="83%"> -<?php //' -echo "<a href=\"../filedownload.php?". filedownload($a["sourceoid"],$a["sourcename"]) . "\">" . $a["sourcename"] . "</a>\n"; -echo "<a href=\"#\" class=menu style=\"font-weight:bold\" onClick=\"window.open('../filewindow.php?" . -filedownload($a["sourceoid"],$a["sourcename"]) ."', 'View - SOURCE', 'width=680,height=600,scrollbars=yes,resizable=yes')\">view</a>\n"; -?> - </td> - </tr> - <tr> - <td width="27%" align=right><b>Answer:</b></td> - <td width="83%"> - <select name="answer"> -<?php -$ans = DBGetAnswers($_SESSION["usertable"]["contestnumber"]); -//$isfak = true; -for ($i=0;$i<count($ans);$i++) - if ($a["answer"] == $ans[$i]["number"]) { -// if($ans[$i]["fake"] != "t") $isfak = false; - echo "<option selected value=\"" . $ans[$i]["number"] . "\">" . $ans[$i]["desc"] . "</option>\n"; - } else - echo "<option value=\"" . $ans[$i]["number"] . "\">" . $ans[$i]["desc"] . "</option>\n"; - echo "</select>"; -// if(!$isfak) { - if($a["judgesite"] != "" && $a["judge"] != "") { - $uu = DBUserInfo ($_SESSION["usertable"]["contestnumber"], $a["judgesite"], $a["judge"]); - echo " [judge=" . $uu["username"] . " (" . $a["judgesite"] . ")]"; - } -?> - </td> - </tr> - <tr> - <td width="27%" align=right><b>Answer 1:</b></td> - <td width="83%"> -<?php -$ans = DBGetAnswers($_SESSION["usertable"]["contestnumber"]); -for ($i=0;$i<count($ans);$i++) - if ($a["answer1"] == $ans[$i]["number"]) { -// if($ans[$i]["fake"] != "t") { - if($a["judgesite1"] != "" && $a["judge1"] != "") { - $uu = DBUserInfo ($_SESSION["usertable"]["contestnumber"], $a["judgesite1"], $a["judge1"]); - echo $ans[$i]["desc"] . " [judge=" . $uu["username"] . " (" . $a["judgesite1"] . ")]"; - } else - echo $ans[$i]["desc"]; - } -?> - </td> - </tr> - <tr> - <td width="27%" align=right><b>Answer 2:</b></td> - <td width="83%"> -<?php -$ans = DBGetAnswers($_SESSION["usertable"]["contestnumber"]); -for ($i=0;$i<count($ans);$i++) - if ($a["answer2"] == $ans[$i]["number"]) { -// if($ans[$i]["fake"] != "t") { - if($a["judgesite2"] != "" && $a["judge2"] != "") { - $uu = DBUserInfo ($_SESSION["usertable"]["contestnumber"], $a["judgesite2"], $a["judge2"]); - echo $ans[$i]["desc"] . " [judge=" . $uu["username"] . " (" . $a["judgesite2"] . ")]"; - } else - echo $ans[$i]["desc"]; - } -?> - </td> - </tr> - -<!-- - <tr> - <td width="27%" align=right><b>Notify user:</b></td> - <td width="83%"> - <input class=checkbox type=checkbox name="notifyuser" value="yes" -<?php -if (($s=DBSiteInfo($_SESSION["usertable"]["contestnumber"],$_SESSION["usertable"]["usersitenumber"])) == null) - ForceLoad("../index.php"); - -if ($a["timestamp"] < $s["sitelastmileanswer"]) echo "checked"; ?>> -(do not change this unless you know exactly what you are doing) - </td> - </tr> - <tr> - <td width="27%" align=right><b>Update score board:</b></td> - <td width="83%"> - <input class=checkbox type=checkbox name="updatescore" value="yes" -<?php if ($a["timestamp"] < $s["sitelastmilescore"]) echo "checked"; ?>> -(do not change this unless you know exactly what you are doing) - </td> - </tr> ---> - </table> - </center> - <br> - <script language="javascript"> - function conf() { - if (confirm("Confirm?")) { - document.form1.confirmation.value='confirm'; - } - } - </script> - <center> - <input type="submit" name="Submit" value="Judge" onClick="conf()"> - <input type="submit" name="open" value="Open run for rejudging" onClick="conf()"> - <input type="submit" name="cancel" value="Cancel editing"> - <input type="submit" name="delete" value="Delete" onClick="conf()"> - <input type="reset" name="Submit2" value="Clear"> -<br><br> - </center> - - <center> -<br> -<b>Autojudging:</b> -<input type="submit" name="giveup" value="Renew"> -<br><br> - <table border="1"> - <tr> - <td width="27%" align=right><b>Autojudging answer:</b></td> - <td width="83%"> -<?php -if($a["autobegin"]!="" && $a["autoend"]=="") - echo "in progress"; -else if($a["autoend"]!="") { - if($a["autoanswer"]!="") echo $a["autoanswer"]; - else echo "Autojudging error"; -} else - echo "unavailable"; -?> - </td> - </tr> - <tr> - <td width="27%" align=right><b>Autojudged by:</b></td> -<?php if($a["autobegin"]!="" && $a["autoend"]=="") - echo "<td width=\"83%\">". $a["autoip"] ." since ". dateconvsimple($a["autobegin"]) ."</td>"; -else if($a["autoend"]!="") - echo "<td width=\"83%\">". $a["autoip"] ." from ". dateconvsimple($a["autobegin"]) ." to ". dateconvsimple($a["autoend"]) ."</td>"; -else - echo "<td width=\"83%\">unavailable</td>"; -?> - </tr> - <tr> - <td width="27%" align=right><b>Standard output:</b></td> - <td width="83%"> -<?php -if($a["autostdout"]!="") { - echo "<a href=\"../filedownload.php?".filedownload($a["autostdout"],"stdout") ."\">stdout</a>\n"; - echo "<a href=\"#\" class=menu style=\"font-weight:bold\" onClick=\"window.open('../filewindow.php?". - filedownload($a["autostdout"],"stdout") ."', 'View - STDOUT','width=680,height=600,scrollbars=yes,". - "resizable=yes')\">view</a>\n"; -} else - echo "unavailable"; -?> - </td> - </tr> - <tr> - <td width="27%" align=right><b>Standard error:</b></td> - <td width="83%"> -<?php -if($a["autostderr"]!="") { - echo "<a href=\"../filedownload.php?". filedownload($a["autostderr"],"stderr") . "\">stderr</a>\n"; - echo "<a href=\"#\" class=menu style=\"font-weight:bold\" onClick=\"window.open('../filewindow.php?". - filedownload($a["autostderr"],"stderr") ."', 'View - STDERR','width=680,height=600,scrollbars=yes,". - "resizable=yes')\">view</a>\n"; -} else - echo "unavailable"; -?> - </td> - </tr> - </table></center> - -</form> -</body> -</html> diff --git a/boca-1.5.2/src/admin/score.php b/boca-1.5.2/src/admin/score.php deleted file mode 100644 index ef9675d..0000000 --- a/boca-1.5.2/src/admin/score.php +++ /dev/null @@ -1,21 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -// Last modified 05/aug/2012 by cassio@ime.usp.br -require('header.php'); -require('../scorelower.php'); -?> diff --git a/boca-1.5.2/src/admin/site.php b/boca-1.5.2/src/admin/site.php deleted file mode 100644 index 84241f3..0000000 --- a/boca-1.5.2/src/admin/site.php +++ /dev/null @@ -1,605 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -// Last modified 05/aug/2012 by cassio@ime.usp.br -require 'header.php'; - -if(($ct = DBContestInfo($_SESSION["usertable"]["contestnumber"])) == null) - ForceLoad("../index.php"); -if($ct["contestlocalsite"]==$ct["contestmainsite"]) $main=true; else $main=false; - -if ($main) { - if(isset($_GET["new"]) && $_GET["new"]=="1") { - $n = DBNewSite($_SESSION["usertable"]["contestnumber"]); - ForceLoad("site.php?site=$n"); - } -} -if (isset($_GET["site"]) && is_numeric($_GET["site"])) - $site=$_GET["site"]; -else if (isset($_POST["site"]) && is_numeric($_POST["site"])) - $site=$_POST["site"]; -else - $site=$ct["contestlocalsite"]; - -if(($st = DBSiteInfo($_SESSION["usertable"]["contestnumber"], $site)) == null) - ForceLoad("../index.php"); -$sitetime = DBAllSiteTime($_SESSION["usertable"]["contestnumber"], $site); - -if (isset($_POST["Logoff"]) && $_POST["Logoff"] == "Logoff all users") { - if ($_POST["confirmation"] == "confirm") { - DBSiteLogoffAll ($_SESSION["usertable"]["contestnumber"], $site); - } - ForceLoad("site.php?site=$site"); -} -if (isset($_POST["Logins"]) && $_POST["Logins"] == "Enable logins") { - if ($_POST["confirmation"] == "confirm") { - DBSiteLogins ($_SESSION["usertable"]["contestnumber"], $site, "t"); - } - ForceLoad("site.php?site=$site"); -} -if (isset($_POST["Logins"]) && $_POST["Logins"] == "Disable logins") { - if ($_POST["confirmation"] == "confirm") { - DBSiteLogins ($_SESSION["usertable"]["contestnumber"], $site, "f"); - } - ForceLoad("site.php?site=$site"); -} -if (isset($_POST["Submit2"]) && $_POST["Submit2"] == "Start Now") { - if ($_POST["confirmation"] == "confirm") { - if(!DBSiteStartNow ($_SESSION["usertable"]["contestnumber"], $site)) - MSGError("Site is already running"); - } - ForceLoad("site.php?site=$site"); -} -if (isset($_POST["SubmitDC"]) && $_POST["SubmitDC"] == "Delete ALL site clars") { - if ($_POST["confirmation"] == "confirm") { - DBSiteDeleteAllClars ($_SESSION["usertable"]["contestnumber"], $site, - $_SESSION["usertable"]["usernumber"], $_SESSION["usertable"]["usersitenumber"]); - } - ForceLoad("site.php?site=$site"); -} -if (isset($_POST["SubmitDR"]) && $_POST["SubmitDR"] == "Delete ALL site runs") { - if ($_POST["confirmation"] == "confirm") { - DBSiteDeleteAllRuns ($_SESSION["usertable"]["contestnumber"], $site, - $_SESSION["usertable"]["usernumber"], $_SESSION["usertable"]["usersitenumber"]); - } - ForceLoad("site.php?site=$site"); -} -if (isset($_POST["SubmitDT"]) && $_POST["SubmitDT"] == "Delete ALL site tasks") { - if ($_POST["confirmation"] == "confirm") { - DBSiteDeleteAllTasks ($_SESSION["usertable"]["contestnumber"], $site, - $_SESSION["usertable"]["usernumber"], $_SESSION["usertable"]["usersitenumber"]); - } - ForceLoad("site.php?site=$site"); -} -if (isset($_POST["SubmitDB"]) && $_POST["SubmitDB"] == "Delete ALL site bkps") { - if ($_POST["confirmation"] == "confirm") { - DBSiteDeleteAllBkps ($_SESSION["usertable"]["contestnumber"], $site, - $_SESSION["usertable"]["usernumber"], $_SESSION["usertable"]["usersitenumber"]); - } - ForceLoad("site.php?site=$site"); -} -if (isset($_POST["Submit3"]) && $_POST["Submit3"] == "Stop Now") { - if ($_POST["confirmation"] == "confirm") { - if(DBSiteEndNow ($_SESSION["usertable"]["contestnumber"], $site)) - MSGError("Site has been finished"); - } - ForceLoad("site.php?site=$site"); -} -if (isset($_POST["endat"]) && $_POST["endat"] == "Stop At") { - if ($_POST["confirmation"] == "confirm" && - isset($_POST["enddateh"]) && $_POST["enddateh"] >= 0 && $_POST["enddateh"] <= 23 && - isset($_POST["enddatemin"]) && $_POST["enddatemin"] >= 0 && $_POST["enddatemin"] <= 59 && - isset($_POST["enddated"]) && isset($_POST["enddatem"]) && isset($_POST["enddatey"]) && - checkdate($_POST["enddatem"], $_POST["enddated"], $_POST["enddatey"])) { - $te = mktime ($_POST["enddateh"], $_POST["enddatemin"], 0, $_POST["enddatem"], $_POST["enddated"], $_POST["enddatey"]); - if($te > time()) - MSGError("Impossible to stop at a future time. Still running"); - else { - if(DBSiteEndNow ($_SESSION["usertable"]["contestnumber"], $site, $te)) - MSGError("Site has been finished"); - } - } - ForceLoad("site.php?site=$site"); -} -if (isset($_POST["Submit1"]) && $_POST["Submit1"] == "Send" && isset($_POST["name"]) && isset($_POST["site"]) && is_numeric($_POST["site"]) && - $_POST["name"] != "" && isset($_POST["lastmileanswer"]) && isset($_POST["scorelevel"]) && - is_numeric($_POST["lastmileanswer"]) && isset($_POST["lastmilescore"]) && - is_numeric($_POST["lastmilescore"]) && is_numeric($_POST["scorelevel"]) && - isset($_POST["chiefname"]) && - isset($_POST["startdateh"]) && $_POST["startdateh"] >= 0 && $_POST["startdateh"] <= 23 && - isset($_POST["startdatemin"]) && $_POST["startdatemin"] >= 0 && $_POST["startdatemin"] <= 59 && - isset($_POST["startdated"]) && isset($_POST["startdatem"]) && isset($_POST["startdatey"]) && - - checkdate($_POST["startdatem"], $_POST["startdated"], $_POST["startdatey"])) { - if ($_POST["confirmation"] == "confirm") { - $t = mktime ($_POST["startdateh"], $_POST["startdatemin"], 0, $_POST["startdatem"], $_POST["startdated"], $_POST["startdatey"]); - - $param['contestnumber']=$_SESSION["usertable"]["contestnumber"]; - $param['sitenumber']=$_POST["site"]; - $param['sitename']=$_POST["name"]; -// $param['siteip']=$_POST["ip"]; - $param['siteduration']=$_POST["duration"]*60; - $param['sitelastmileanswer']= $_POST["lastmileanswer"]*60; - $param['sitelastmilescore']= $_POST["lastmilescore"]*60; - $param['sitejudging']= $_POST["judging"]; - $param['sitetasking']= $_POST["tasking"]; - if(isset($_POST["autoend"])) - $param['siteautoend']= $_POST["autoend"]; - if(isset($_POST["globalscore"])) - $param['siteglobalscore']= $_POST["globalscore"]; - if(isset($_POST["active"])) - $param['siteactive']=$_POST["active"]; - $param['sitescorelevel']=$_POST["scorelevel"]; - $param['sitepermitlogins']=''; - if(isset($_POST["autojudge"])) - $param['siteautojudge']=$_POST["autojudge"]; - $param['sitechiefname']=$_POST["chiefname"]; - DBUpdateSite ($param); - $st1 = DBSiteInfo($_SESSION["usertable"]["contestnumber"],$_POST["site"]); - if($t != $st1["sitestartdate"]) { - $param = array('contest'=>$_SESSION["usertable"]["contestnumber"], - 'site'=>$_POST["site"], - 'start'=>$t); - DBRenewSiteTime($param); - } - } - ForceLoad("site.php?site=".$_POST["site"]); -} - - -if ($main && isset($_FILES["importfile"]) && isset($_POST["Submit"]) && $_POST["Submit"]=='Import' && $_FILES["importfile"]["name"]!="") { - if ($_POST["confirmation"] == "confirm") { - $type=myhtmlspecialchars($_FILES["importfile"]["type"]); - $size=myhtmlspecialchars($_FILES["importfile"]["size"]); - $name=myhtmlspecialchars($_FILES["importfile"]["name"]); - $temp=myhtmlspecialchars($_FILES["importfile"]["tmp_name"]); - if (!is_uploaded_file($temp)) { - IntrusionNotify("file upload problem."); - ForceLoad("../index.php"); - } - - if (($ar = file($temp)) === false) { - IntrusionNotify("Unable to open the uploaded file."); - ForceLoad("site.php"); - } - $userlist=array(); - if(strtolower(substr($name,-4))==".tsv") { - for ($i=0; $i<count($ar) && strpos($ar[$i], "File_Version\t1") === false; $i++) ; - if($i >= $count($ar)) MSGError('File format not recognized'); - $oklines=0; - for ($i++; $i<count($ar); $i++) { - $x = explode("\t",trim($ar[$i])); - if(count($x)==2) { - $param=array(); - $param['sitenumber']=trim($x[0]); - $param['sitename']=trim($x[1]); - $param['contest']=$_SESSION["usertable"]["contestnumber"]; - if($_SESSION["usertable"]["usersitenumber"] == $param['sitenumber'] || $main) - if(DBNewSite($param['contest'],null,$param)) { - $oklines++; - $param=array(); - $param['contest']=$_SESSION["usertable"]["contestnumber"]; - $param['site']=$ct["contestmainsite"]; - $param['username']='site' . trim($x[0]); - $param['usericpcid']=trim($x[0]); - $param['usernumber']=trim($x[0]); - $param['userfull']='Site connection'; - $param['userdesc']=''; - $param['type']='site'; - $param['enabled']='t'; - $param['multilogin']='t'; - $userlist[$param['username']] = randstr(10); - $param['pass']=myhash($userlist[$param['username']]); - DBNewUser($param); - } - } - } - MSGError($oklines . ' sites included/updated successfully'); - } else if(strtolower(substr($name,-4))==".tab") { - $oklines=0; - for ($i=0; $i<count($ar); $i++) { - $x = explode("\t",trim($ar[$i])); - if(count($x)==8) { - $param=array(); - $param['sitenumber']=trim($x[0]); - $param['sitename']=trim($x[2]); - $param['contest']=$_SESSION["usertable"]["contestnumber"]; - if($_SESSION["usertable"]["usersitenumber"] == $param['sitenumber'] || $main) - if(DBNewSite($param['contest'],null,$param)) { - $oklines++; - $param=array(); - $param['contest']=$_SESSION["usertable"]["contestnumber"]; - $param['site']=$ct["contestmainsite"]; - $param['username']='site' . trim($x[0]); - $param['usericpcid']=trim($x[0]); - $param['usernumber']=trim($x[0]); - $param['userfull']='Site connection'; - $param['userdesc']=''; - $param['type']='site'; - $param['enabled']='t'; - $param['multilogin']='t'; - $userlist[$param['username']] = randstr(10); - $param['pass']=myhash($userlist[$param['username']]); - DBNewUser($param); - } - } - } - MSGError($oklines . ' sites included/updated successfully'); - if(count($userlist) > 0) { -?> -<center> -<br><u><b>TAKE NOTE OF THE USERS AND PASSWORDS AND KEEP THEM SECRET</b></u><br><br> -<table border=1> - <tr> - <td><b>Username</b></td> - <td><b>Password</b></td> - </tr> -<?php - foreach($userlist as $user => $pass) { - echo "<tr><td>$user</td><td>$pass</td></tr>\n"; - } -?> -</table><br><br><u><b>TAKE NOTE OF THE USERS AND PASSWORDS AND KEEP THEM SECRET</b></u></center></body></html> -<?php - exit; - } - } else { - MSGError('File format not recognized'); - } - } - ForceLoad("site.php"); -} - -?> -<br> -<form name="form1" enctype="multipart/form-data" method="post" action="site.php"> - <input type=hidden name="confirmation" value="noconfirm" /> - <script language="javascript" type="text/javascript"> - function conf() { - if (confirm("Confirm?")) { - document.form1.confirmation.value='confirm'; - } - } - function conf2() { - if (confirm("Confirm DELETING EVERYTHING?")) { - if (confirm("This operation has no come back. DATA WILL BE LOST. Confirm?")) { - document.form1.confirmation.value='confirm'; - } - } - } - function newsite() { - document.location='site.php?new=1'; - } - function sitech(n) { - if(n==null) { - k=document.form1.site[document.form1.site.selectedIndex].value; - if(k=='new') newsite(); - else document.location='site.php?site='+k; - } else { - document.location='site.php?site='+n; - } - } - </script> - <center> - <table border="0"> - <tr> - <td width="35%" align=right>Site number:</td> - <td width="65%"> -<?php -echo "<select onChange=\"sitech()\" name=\"site\">\n"; -$cs = DBAllSiteInfo($_SESSION["usertable"]["contestnumber"]); -for ($i=0; $i<count($cs); $i++) { - echo "<option value=\"" . $cs[$i]["sitenumber"] . "\" "; - if ($site == $cs[$i]["sitenumber"]) - echo "selected"; - echo ">" . $cs[$i]["sitenumber"] . "</option>\n"; -} -if($main) { - echo "<option value=\"new\">new</option>\n"; -} -echo "</select>\n"; - -//else -// echo "<input type=\"text\" readonly name=\"site\" value=\"$site\" size=\"2\" maxlength=\"2\" />\n"; - -if($ct["contestlocalsite"]==$site) echo "(local site)"; -?> - </td> - </tr> - <tr> - <td width="35%" align=right>Name:</td> - <td width="65%"> - <input type="text" name="name" value="<?php echo $st["sitename"]; ?>" size="50" maxlength="50" /> - </td> - </tr> -<?php - if(0) { - if($main) { -?> - <tr> -<td width="35%" align=right>IP (plus boca path):</td> - <td width="65%"> - <input type="text" name="ip" value="<?php echo $st["siteip"]; ?>" size="50" maxlength="200" /> - </td> - </tr> -<?php - } else { -?> - <tr> -<td width="35%" align=right>IP (plus boca path):</td> - <td width="65%"> - <?php echo $st["siteip"]; ?> - </td> - </tr> -<?php - } - } -?> - <tr> -<?php -echo " <td nowrap width=\"35%\" align=right>Start date (contest=" . dateconv($ct["conteststartdate"]) . "):</td>"; -?> - <td width="65%"> hh:mm - <input type="text" name="startdateh" value="<?php echo date("H", $st["sitestartdate"]); ?>" size="2" maxlength="2" /> - : - <input type="text" name="startdatemin" value="<?php echo date("i", $st["sitestartdate"]); ?>" size="2" maxlength="2" /> - dd/mm/yyyy - <input type="text" name="startdated" value="<?php echo date("d", $st["sitestartdate"]); ?>" size="2" maxlength="2" /> - / - <input type="text" name="startdatem" value="<?php echo date("m", $st["sitestartdate"]); ?>" size="2" maxlength="2" /> - / - <input type="text" name="startdatey" value="<?php echo date("Y", $st["sitestartdate"]); ?>" size="4" maxlength="4" /> - </td> - </tr> - <tr> -<?php -if (!$st["siterunning"]) { - echo " <tr>\n"; - echo " <td nowrap width=\"35%\" align=right><b>Site finished at:</b></td>\n"; - echo " <td width=\"65%\"><b>" . dateconv($st["siteendeddate"]) . "</b></td>\n"; - echo " </tr>\n"; - if($st["siteautoended"]) - $w = (int) ($st["siteduration"]/60); - else - $w = (int) ($st["currenttime"]/60); - echo " <tr>\n"; - echo " <td nowrap width=\"35%\" align=right><b>Real duration:</b></td>\n"; - echo " <td width=\"65%\"><b>" . $w . " minutes</b></td>\n"; - echo " </tr>\n"; -} -?> - <tr> -<?php -echo " <td width=\"35%\" align=right>Duration (contest="; -echo $ct["contestduration"]/60; -echo "):</td>"; -?> - <td width="65%"> - <input type="text" name="duration" value="<?php echo $st["siteduration"]/60; ?>" size="20" maxlength="20" /> - </td> - </tr> - <tr> -<?php -echo " <td width=\"35%\" align=right>Stop answering (contest="; -echo $ct["contestlastmileanswer"]/60; -echo "):</td>"; -?> - <td width="65%"> - <input type="text" name="lastmileanswer" value="<?php echo $st["sitelastmileanswer"]/60; ?>" size="20" maxlength="20" /> - </td> - </tr> - <tr> -<?php -echo " <td width=\"35%\" align=right>Stop scoreboard (contest="; -echo $ct["contestlastmilescore"]/60; -echo "):</td>"; -?> - <td width="65%"> - <input type="text" name="lastmilescore" value="<?php echo $st["sitelastmilescore"]/60; ?>" size="20" maxlength="20" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Runs/clars that will be judged here (comma sep):</td> - <td width="65%"> - <input type="text" name="judging" value="<?php echo $st["sitejudging"]; ?>" size="20" maxlength="200" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Tasks that will be treated here (comma sep):</td> - <td width="65%"> - <input type="text" name="tasking" value="<?php echo $st["sitetasking"]; ?>" size="20" maxlength="200" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Username of the chief judge (if any):</td> - <td width="65%"> - <input type="text" name="chiefname" value="<?php echo $st["sitechiefname"]; ?>" size="20" maxlength="20" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Active:</td> - <td width="65%"> -<?php - if ($st["siteactive"] == "t") - echo "<input class=checkbox type=\"checkbox\" name=\"active\" checked value=\"t\" />"; - else - echo "<input class=checkbox type=\"checkbox\" name=\"active\" value=\"t\" />"; -?> - </td> - </tr> - <tr> - <td width="35%" align=right>Autoend:</td> - <td width="65%"> -<?php - if ($st["siteautoend"] == "t") - echo "<input class=checkbox type=\"checkbox\" name=\"autoend\" checked value=\"t\" />"; - else - echo "<input class=checkbox type=\"checkbox\" name=\"autoend\" value=\"t\" />"; -?> - </td> - </tr> - <tr> - <td width="35%" align=right>Global score:</td> - <td width="65%"> - <input type="text" name="globalscore" value="<?php echo $st["siteglobalscore"]; ?>" size="20" maxlength="50" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Autojudge (without human interaction):</td> - <td width="65%"> -<?php - if ($st["siteautojudge"] == "t") - echo "<input class=checkbox type=\"checkbox\" name=\"autojudge\" checked value=\"t\" />"; - else - echo "<input class=checkbox type=\"checkbox\" name=\"autojudge\" value=\"t\" />"; - echo " <- experimental"; -?> - </td> - </tr> - <tr> - <td width="35%" align=right>Logins are:</td> - <td width="65%"> -<?php - if ($st["sitepermitlogins"] == "t") - echo "enabled"; - else - echo "disabled"; -?> - </td> - </tr> - <tr> - <td width=\"35%\" align=right>Score level:</td> - <td width="65%"> - <input type="text" name="scorelevel" value="<?php echo $st["sitescorelevel"]; ?>" size="2" maxlength="2" /> - </td> - </tr> - <tr> - <td width=\"35%\" align=right>Number of Clars:</td> - <td width="65%"><?php echo $st["sitenextclar"]; ?> - </td> - </tr> - <tr> - <td width=\"35%\" align=right>Number of Runs:</td> - <td width="65%"><?php echo $st["sitenextrun"]; ?> - </td> - </tr> - <tr> - <td width=\"35%\" align=right>Number of Tasks:</td> - <td width="65%"><?php echo $st["sitenexttask"]; ?> - </td> - </tr> - </table> - </center> - <center> -<?php - if($main || $site == $ct["contestlocalsite"]) { -?> - <input type="submit" name="Submit1" value="Send" onClick="conf()"> - <input type="submit" name="Submit2" value="Start Now" onClick="conf()"> - <input type="submit" name="Submit3" value="Stop Now" onClick="conf()"> - <input type="reset" name="Submit4" value="Restore fields"> -<br> - <input type="submit" name="Logoff" value="Logoff all users" onClick="conf()"> - <input type="submit" name="Logins" value="Disable logins" onClick="conf()"> - <input type="submit" name="Logins" value="Enable logins" onClick="conf()"> -<br><br><br> - - <input type="submit" name="SubmitDC" value="Delete ALL site clars" onClick="conf2()"> - <input type="submit" name="SubmitDR" value="Delete ALL site runs" onClick="conf2()"> - <input type="submit" name="SubmitDT" value="Delete ALL site tasks" onClick="conf2()"> - <input type="submit" name="SubmitDB" value="Delete ALL site bkps" onClick="conf2()"> -<?php - } -?> - </center> -<center> -<br /> -<table border=1> -<tr> -<td nowrap width=\"50%\" align=right>Starting at</td><td nowrap width=\"50%\" align=left>Ending at</td> -</tr> -<?php -$n = count($sitetime); -for ($i=0; $i< $n; $i++) { - echo "<tr>"; - echo "<td nowrap align=right>"; - echo dateconv($sitetime[$i]["sitestartdate"]); - echo "</td>"; - echo "<td nowrap align=left>"; - if($sitetime[$i]["siteenddate"] == 0) { - if($st["siterunning"]) - echo "still open"; - else echo "auto-ended"; - } - else - echo dateconv($sitetime[$i]["siteenddate"]); - echo "</td>"; - echo "</tr>"; -} -?> -</table> -</center> - -<?php - if($main || $site == $ct["contestlocalsite"]) { -?> - <center> - <table border="0"> - <tr> -<td nowrap width="50%" align=right> -(Do not use this button unless really necessary) - <input type="submit" name="endat" value="Stop At" onClick="conf()">: -</td> -<?php -$w = $st["siteendeddate"]; -?> - <td width="50%"> hh:mm - <input type="text" name="enddateh" value="<?php echo date("H", $w); ?>" size="2" maxlength="2" /> - : - <input type="text" name="enddatemin" value="<?php echo date("i", $w); ?>" size="2" maxlength="2" /> - dd/mm/yyyy - <input type="text" name="enddated" value="<?php echo date("d", $w); ?>" size="2" maxlength="2" /> - / - <input type="text" name="enddatem" value="<?php echo date("m", $w); ?>" size="2" maxlength="2" /> - / - <input type="text" name="enddatey" value="<?php echo date("Y", $w); ?>" size="4" maxlength="4" /> - </td> - </tr> - </table> - </center> -<?php - } -if($main) { -?> -<br><br> - <center> - <table border="0"> - <tr> - <td width="25%" align=right>Import file:</td> - <td width="75%"> - <input type="file" name="importfile" size="40"> - </td> - </tr> - </table> - <input type="submit" name="Submit" value="Import" onClick="conf()"> - </center> - <?php } ?> -</form> - - -</body> -</html> diff --git a/boca-1.5.2/src/admin/task.php b/boca-1.5.2/src/admin/task.php deleted file mode 100644 index a7a5339..0000000 --- a/boca-1.5.2/src/admin/task.php +++ /dev/null @@ -1,147 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -// Last modified 05/aug/2012 by cassio@ime.usp.br -require_once('header.php'); -if(isset($_GET["order"]) && $_GET["order"] != "") { -$order = myhtmlspecialchars($_GET["order"]); - $_SESSION["taskline"] = $order; -} else { - if(isset($_SESSION["taskline"])) - $order = $_SESSION["taskline"]; - else - $order=''; -} - -if(($ct = DBContestInfo($_SESSION["usertable"]["contestnumber"])) == null) - ForceLoad("../index.php"); - -if (isset($_GET["delete"]) && is_numeric($_GET["delete"]) && isset($_GET["site"]) && is_numeric($_GET["site"])) { - DBTaskDelete ($_GET["delete"], $_GET["site"], $_SESSION["usertable"]["contestnumber"], - $_SESSION["usertable"]["usernumber"], $_SESSION["usertable"]["usersitenumber"]); - ForceLoad("task.php"); -} - -if (isset($_GET["return"]) && is_numeric($_GET["return"]) && isset($_GET["site"]) && is_numeric($_GET["site"])) { - DBTaskGiveUp ($_GET["return"], $_GET["site"], $_SESSION["usertable"]["contestnumber"], -1, -1); -// $_SESSION["usertable"]["usernumber"], $_SESSION["usertable"]["usersitenumber"]); - ForceLoad("task.php"); -} - -if (isset($_GET["get"]) && is_numeric($_GET["get"]) && isset($_GET["site"]) && is_numeric($_GET["site"])) { - DBGetTaskToAnswer($_GET["get"], $_GET["site"], $_SESSION["usertable"]["contestnumber"]); - ForceLoad("task.php"); -} - -if (isset($_GET["done"]) && is_numeric($_GET["done"]) && isset($_GET["site"]) && is_numeric($_GET["site"])) { - DBChiefUpdateTask( $_SESSION["usertable"]["contestnumber"], $_SESSION["usertable"]["usersitenumber"], - $_SESSION["usertable"]["usernumber"], $_GET["site"], $_GET["done"], 'done'); - ForceLoad("task.php"); -} - - - -?> -<br> - <script language="javascript"> - function conf2(url) { -// if (confirm("Confirm?")) { - document.location=url; -// } else { -// document.location='task.php'; -// } - } - </script> -<table width="100%" border=1> - <tr> - <td><b><a href="task.php?order=task">Task #</a></b></td> - <td><b>Time</b></td> - <td><b><a href="task.php?order=user">User / Site</a></b></td> - <td><b><a href="task.php?order=description">Description</a></b></td> - <td><b>File</b></td> - <td><b><a href="task.php?order=staff">Staff / Site</a></b></td> - <td><b><a href="task.php?order=status">Status</a></b></td> - <td><b>Actions</b></td> - </tr> -<?php -if (($s=DBSiteInfo($_SESSION["usertable"]["contestnumber"],$_SESSION["usertable"]["usersitenumber"])) == null) - ForceLoad("../index.php"); - -$task = DBAllTasksInSites($_SESSION["usertable"]["contestnumber"], $s["sitetasking"], $order); -for ($i=0; $i<count($task); $i++) { - $st = $task[$i]["status"]; - - if($st == "processing" && $task[$i]["staff"]==$_SESSION["usertable"]["usernumber"] && - $task[$i]["staffsite"]==$_SESSION["usertable"]["usersitenumber"]) $mine=1; - else $mine=0; - - echo " <tr>\n"; - echo " <td nowrap>" . $task[$i]["number"] . "</td>\n"; - echo " <td nowrap>" . dateconvminutes($task[$i]["timestamp"]) . "</td>\n"; - echo " <td nowrap>".$task[$i]["username"]."(" . $task[$i]["user"] . ") / ".$task[$i]["site"]."</td>\n"; - echo " <td>" . $task[$i]["description"]; - if($task[$i]["color"] != "") { - echo " <img alt=\"".$task[$i]["colorname"]."\" width=\"10\" ". - "src=\"" . balloonurl($task[$i]["color"]) ."\" />"; - - } - echo "</td>\n"; - if ($task[$i]["oid"] != null) { - $msg = "///// " . $task[$i]["username"]." ".$task[$i]["username"]." ".$task[$i]["username"]." ". - $task[$i]["username"]." ".$task[$i]["username"]." ".$task[$i]["username"]; - echo " <td nowrap><a href=\"../filedownload.php?" . filedownload($task[$i]["oid"], $task[$i]["filename"]) . "\">" . $task[$i]["filename"] . "</a>"; - echo " <a href=\"#\" class=menu style=\"font-weight:bold\" onClick=\"window.open('../filewindow.php?". - filedownload($task[$i]["oid"], $task[$i]["filename"], $msg) . "', 'Viewx$i','width=680,height=600,scrollbars=yes,". - "resizable=yes')\">view</a>"; - echo "</td>\n"; - } - else - echo " <td nowrap> </td>\n"; - if($st != "opentask") - echo " <td nowrap>". $task[$i]["staffname"] . "(" . $task[$i]["staff"] .") / ".$task[$i]["staffsite"]."</td>\n"; - else - echo " <td nowrap> </td>\n"; - - if ($mine) $color="ff7777"; - else if ($st == "done") $color="bbbbff"; - else if ($st == "processing") $color="77ff77"; - else if ($st == "opentask") $color="ffff88"; - else $color="ffffff"; - - echo " <td nowrap bgcolor=\"#$color\">$st</td>\n <td nowrap>"; - - if($st != "deleted") - echo " <a href=\"javascript: conf2('task.php?delete=" . $task[$i]["number"] . "&site=" . - $task[$i]["site"] . "')\">delete</a>\n"; - if($st == "opentask") - echo " <a href=\"javascript: conf2('task.php?get=" . $task[$i]["number"] . "&site=" . - $task[$i]["site"] . "')\">get</a>\n"; - if($st != "opentask") - echo " <a href=\"javascript: conf2('task.php?return=" . $task[$i]["number"] . "&site=" . - $task[$i]["site"] . "')\">return</a>\n"; - if($st == "processing") - echo " <a href=\"javascript: conf2('task.php?done=" . $task[$i]["number"] . "&site=" . - $task[$i]["site"] . "')\">done</a>\n"; - echo "</td>\n"; -} -echo "</table>"; -if (count($task) == 0) echo "<br><center><b><font color=\"#ff0000\">NO TASKS FOUND</font></b></center>"; - -?> - -</body> -</html> diff --git a/boca-1.5.2/src/admin/user.php b/boca-1.5.2/src/admin/user.php deleted file mode 100644 index adde9db..0000000 --- a/boca-1.5.2/src/admin/user.php +++ /dev/null @@ -1,469 +0,0 @@ -<?php -//////////////////////////////////////////////////////////////////////////////// -//BOCA Online Contest Administrator -// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. -//////////////////////////////////////////////////////////////////////////////// -// Last modified 05/aug/2012 by cassio@ime.usp.br -require('header.php'); - -if (isset($_GET["site"]) && isset($_GET["user"]) && is_numeric($_GET["site"]) && is_numeric($_GET["user"]) && - isset($_GET["logout"]) && $_GET["logout"] == 1) { - DBLogOut($_SESSION["usertable"]["contestnumber"], $_GET["site"], $_GET["user"]); - ForceLoad("user.php"); -} -if (isset($_POST["usersitenumber"]) && isset($_POST["usernumber"]) && is_numeric($_POST["usersitenumber"]) && - is_numeric($_POST["usernumber"]) && isset($_POST["confirmation"]) && $_POST["confirmation"] == "delete") { - if (!DBDeleteUser($_SESSION["usertable"]["contestnumber"], $_POST["usersitenumber"], $_POST["usernumber"])) - MSGError("User could not be removed."); - ForceLoad("user.php"); -} - -if(($ct = DBContestInfo($_SESSION["usertable"]["contestnumber"])) == null) - ForceLoad("../index.php"); -if($ct["contestlocalsite"]==$ct["contestmainsite"]) $main=true; else $main=false; - -if (isset($_POST["username"]) && isset($_POST["userfullname"]) && isset($_POST["userdesc"]) && isset($_POST["userip"]) && - isset($_POST["usernumber"]) && isset($_POST["usersitenumber"]) && isset($_POST["userenabled"]) && isset($_POST["usericpcid"]) && - isset($_POST["usermultilogin"]) && isset($_POST["usertype"]) && isset($_POST["confirmation"]) && - isset($_POST["passwordn1"]) && isset($_POST["passwordn2"]) && isset($_POST["passwordo"]) && $_POST["confirmation"] == "confirm") { - $param['user'] = htmlspecialchars($_POST["usernumber"]); - $param['site'] = htmlspecialchars($_POST["usersitenumber"]); - $param['username'] = htmlspecialchars($_POST["username"]); - $param['usericpcid'] = htmlspecialchars($_POST["usericpcid"]); - $param['enabled'] = htmlspecialchars($_POST["userenabled"]); - $param['multilogin'] = htmlspecialchars($_POST["usermultilogin"]); - $param['userfull'] = htmlspecialchars($_POST["userfullname"]); - $param['userdesc'] = htmlspecialchars($_POST["userdesc"]); - $param['type'] = htmlspecialchars($_POST["usertype"]); - $param['permitip'] = htmlspecialchars($_POST["userip"]); - $param['contest'] = $_SESSION["usertable"]["contestnumber"]; - - $passcheck = htmlspecialchars($_POST["passwordo"]); - $a = DBUserInfo($_SESSION["usertable"]["contestnumber"], $_SESSION["usertable"]["usersitenumber"], $_SESSION["usertable"]["usernumber"], null, false); - if(myhash($a['userpassword'] . session_id()) != $passcheck) { - MSGError('Admin password is incorrect'); - } else { - if ($_POST["passwordn1"] == $_POST["passwordn2"]) { - $param['pass'] = bighexsub(htmlspecialchars($_POST["passwordn1"]),$a['userpassword']); - if($param['user'] != 1000) - DBNewUser($param); - } - else MSGError ("Passwords don't match."); - } - ForceLoad("user.php"); -} -else if (isset($_FILES["importfile"]) && isset($_POST["Submit"]) && $_FILES["importfile"]["name"]!="") { - if ($_POST["confirmation"] == "confirm") { - $type=myhtmlspecialchars($_FILES["importfile"]["type"]); - $size=myhtmlspecialchars($_FILES["importfile"]["size"]); - $name=myhtmlspecialchars($_FILES["importfile"]["name"]); - $temp=myhtmlspecialchars($_FILES["importfile"]["tmp_name"]); - if (!is_uploaded_file($temp)) { - IntrusionNotify("file upload problem."); - ForceLoad("../index.php"); - } - - if (($ar = file($temp)) === false) { - IntrusionNotify("Unable to open the uploaded file."); - ForceLoad("user.php"); - } - $userlist=array(); - if(strtolower(substr($name,-4))==".tsv") { - for ($i=0; $i < count($ar) && strpos($ar[$i], "File_Version\t1") === false; $i++) ; - if($i >= count($ar)) MSGError('File format not recognized'); - $oklines=0; - for ($i++; $i < count($ar); $i++) { - $x = explode("\t",trim($ar[$i])); - if(count($x)==7) { - $param['site']=trim($x[2]); - $param['username']=trim($x[1]); - $param['usericpcid']=trim($x[1]); - $param['usernumber']=trim($x[1]); - if(trim($x[5])!='') - $param['userfull']=trim($x[3]) . ' - ' . trim($x[5]); - else - $param['userfull']=trim($x[3]); - $param['userdesc']=trim($x[4]); - $param['type']='team'; - $param['enabled']='t'; - $param['multilogin']='f'; - $userlist[$param['site'] . '-' . $param['usernumber']] = randstr(6,'0123456789'); - $param['pass']=myhash($userlist[$param['site'] . '-' . $param['usernumber']]); - - $param['contest']=$_SESSION["usertable"]["contestnumber"]; - if($_SESSION["usertable"]["usersitenumber"] == $param['site'] || $main) - if($param['usernumber'] != 1000 && DBNewUser($param)) { - $oklines++; - } else { - unset($userlist[$param['site'] . '-' . $param['usernumber']]); - break; - } - } - } - MSGError($oklines . ' users included/updated successfully'); - } else if(strtolower(substr($name,-4))==".tab") { - $oklines=0; - for ($i=0; $i<count($ar); $i++) { - $x = explode("\t",trim($ar[$i])); - if(count($x)==9) { - $param=array(); - $param['site']=trim($x[1]); - $param['username']=trim($x[0]); - $param['usericpcid']=trim($x[0]); - $param['usernumber']=trim($x[0]); - if(trim($x[5])!='') - $param['userfull']=trim($x[3]) . ' - ' . trim($x[5]); - else - $param['userfull']=trim($x[3]); - $param['userdesc']=trim($x[4]); - $param['type']='team'; - $param['enabled']='t'; - $param['multilogin']='f'; - $userlist[$param['site'] . '-' . $param['usernumber']] = randstr(6,'0123456789'); - $param['pass']=myhash($userlist[$param['site'] . '-' . $param['usernumber']]); - $param['contest']=$_SESSION["usertable"]["contestnumber"]; - if($_SESSION["usertable"]["usersitenumber"] == $param['site'] || $main) - if($param['usernumber'] != 1000 && DBNewUser($param)) { - $oklines++; - } else { - unset($userlist[$param['site'] . '-' . $param['usernumber']]); - break; - } - } - } - MSGError($oklines . ' users included/updated successfully'); - } else { - for ($i=0; $i < count($ar) && strpos($ar[$i], "[user]") === false; $i++) ; - if($i >= count($ar)) MSGError('File format not recognized'); - for ($i++; $i < count($ar) && $ar[$i][0] != "["; $i++) { - $x = trim($ar[$i]); - if (strpos($x, "user") !== false && strpos($x, "user") == 0) { - $param = array(); - while (strpos($x, "user") !== false && strpos($x, "user") == 0) { - $tmp = explode ("=", $x, 2); - switch (trim($tmp[0])) { - case "usersitenumber": $param['site']=trim($tmp[1]); break; - case "username": $param['username']=trim($tmp[1]); break; - case "usericpcid": $param['usericpcid']=trim($tmp[1]); break; - case "usernumber": $param['usernumber']=trim($tmp[1]); break; - case "userfullname": $param['userfull']=trim($tmp[1]); break; - case "userdesc": $param['userdesc']=trim($tmp[1]); break; - case "usertype": $param['type']=trim($tmp[1]); break; - case "userenabled": $param['enabled']=trim($tmp[1]); break; - case "usermultilogin": $param['multilogin']=trim($tmp[1]); break; - case "userpassword": $param['pass']=myhash(trim($tmp[1])); break; - case "userip": $param['permitip']=trim($tmp[1]); break; - } - $i++; - if ($i>=count($ar)) break; - $x = trim($ar[$i]); - } - $param['contest']=$_SESSION["usertable"]["contestnumber"]; - if($_SESSION["usertable"]["usersitenumber"] == $param['site'] || $main) - if($param['usernumber'] != 1000) DBNewUser($param); - } - } - } - if(count($userlist) > 0) { -?> -<center> -<br><u><b>TAKE NOTE OF THE USERS AND PASSWORDS AND KEEP THEM SECRET</b></u><br><br> -<table border=1> - <tr> - <td nowrap><b>Site</b></td><td><b>User #</b></td> - <td><b>Password</b></td> - </tr> -<?php - foreach($userlist as $user => $pass) { - $x = explode('-',$user); - echo "<tr><td>" . $x[0] . "</td><td>" . $x[1] . "</td><td>$pass</td></tr>\n"; - } -?> -</table><br><br><u><b>TAKE NOTE OF THE USERS AND PASSWORDS AND KEEP THEM SECRET</b></u></center></body></html> -<?php - exit; - } - } - ForceLoad("user.php"); -} - -if($main) - $usr = DBAllUserInfo($_SESSION["usertable"]["contestnumber"]); -else - $usr = DBAllUserInfo($_SESSION["usertable"]["contestnumber"],$_SESSION["usertable"]["usersitenumber"]); -?> - - <script language="javascript"> - function conf2(url) { - if (confirm("Are you sure?")) { - document.location=url; - } else { - document.location='user.php'; - } - } - </script> -<br> -<table width="100%" border=1> - <tr> - <td nowrap><b>User #</b></td> - <td><b>Site</b></td> - <td><b>Username</b></td> - <td><b>ICPC ID</b></td> - <td><b>Type</b></td> - <td><b>IP</b></td> - <td><b>LastLogin</b></td> - <td><b>LastLogout</b></td> - <td><b>Enabled</b></td> - <td><b>Multi</b></td> - <td><b>Fullname</b></td> - <td><b>Description</b></td> - </tr> -<?php -for ($i=0; $i < count($usr); $i++) { - echo " <tr>\n"; - if(($usr[$i]["usersitenumber"] == $_SESSION["usertable"]["usersitenumber"] || $main==true) && - //$usr[$i]["usertype"] != 'site' && - ($usr[$i]["usernumber"] != $_SESSION["usertable"]["usernumber"] || - $usr[$i]["usersitenumber"] != $_SESSION["usertable"]["usersitenumber"])) - echo " <td nowrap><a href=\"user.php?site=" . $usr[$i]["usersitenumber"] . "&user=" . - $usr[$i]["usernumber"] . "\">" . $usr[$i]["usernumber"] . "</a></td>\n"; - else - echo " <td nowrap>" . $usr[$i]["usernumber"] . "</td>\n"; - - echo " <td nowrap>" . $usr[$i]["usersitenumber"] . "</td>\n"; - echo " <td nowrap>" . $usr[$i]["username"] . " </td>\n"; - echo " <td nowrap>" . $usr[$i]["usericpcid"] . " </td>\n"; - echo " <td nowrap>" . $usr[$i]["usertype"] . " </td>\n"; - if ($usr[$i]["userpermitip"]!="") - echo " <td nowrap>" . $usr[$i]["userpermitip"] . "* </td>\n"; - else - echo " <td nowrap>" . $usr[$i]["userip"] . " </td>\n"; - if ($usr[$i]["userlastlogin"] < 1) - echo " <td nowrap>never</td>\n"; - else - echo " <td nowrap>" . dateconv($usr[$i]["userlastlogin"]) . "</td>\n"; - if ($usr[$i]["usersession"] != "") - echo " <td nowrap><a href=\"javascript: conf2('user.php?logout=1&site=" . $usr[$i]["usersitenumber"] . "&user=" . - $usr[$i]["usernumber"] . "')\">Force Logout</a></td>\n"; - else { - if ($usr[$i]["userlastlogout"] < 1) - echo " <td nowrap>never</td>\n"; - else - echo " <td nowrap>" . dateconv($usr[$i]["userlastlogout"]) . "</td>\n"; - } - if ($usr[$i]["userenabled"] == "t") - echo " <td nowrap>Yes</td>\n"; - else - echo " <td nowrap>No</td>\n"; - if ($usr[$i]["usermultilogin"] == "t") - echo " <td nowrap>Yes</td>\n"; - else - echo " <td nowrap>No</td>\n"; - echo " <td nowrap>" . $usr[$i]["userfullname"] . " </td>\n"; - echo " <td nowrap>" . $usr[$i]["userdesc"] . " </td>\n"; - echo "</tr>"; -} -echo "</table>\n"; - -unset($u); -if (isset($_GET["site"]) && isset($_GET["user"]) && is_numeric($_GET["site"]) && is_numeric($_GET["user"])) - $u = DBUserInfo($_SESSION["usertable"]["contestnumber"], $_GET["site"], $_GET["user"]); - -?> -<script language="JavaScript" src="../sha256.js"></script> -<script language="JavaScript" src="../hex.js"></script> -<script language="JavaScript"> -function computeHASH() -{ - document.form3.passwordn1.value = bighexsoma(js_myhash(document.form3.passwordn1.value),js_myhash(document.form3.passwordo.value)); - document.form3.passwordn2.value = bighexsoma(js_myhash(document.form3.passwordn2.value),js_myhash(document.form3.passwordo.value)); - document.form3.passwordo.value = js_myhash(js_myhash(document.form3.passwordo.value)+'<?php echo session_id(); ?>'); -// document.form3.passwordn1.value = js_myhash(document.form3.passwordn1.value); -// document.form3.passwordn2.value = js_myhash(document.form3.passwordn2.value); -} -</script> - -<br><br><center><b>Clicking on a user number will bring the user data for edition.<br> -To import the users, just fill in the import file field.<br> -The file must be in the format defined in the admin's manual.</b></center> - -<form name="form1" enctype="multipart/form-data" method="post" action="user.php"> - <input type=hidden name="confirmation" value="noconfirm" /> - <center> - <table border="0"> - <tr> - <td width="25%" align=right>Import file:</td> - <td width="75%"> - <input type="file" name="importfile" size="40"> - </td> - </tr> - </table> - </center> - <script language="javascript"> - function conf() { - if (confirm("Confirm?")) { - document.form1.confirmation.value='confirm'; - } - } - </script> - <center> - <input type="submit" name="Submit" value="Import" onClick="conf()"> - <input type="reset" name="Submit2" value="Clear"> - </center> -</form> - - <br><br> - <center> -<b>To create/edit one user, enter the data below.<br> -Note that any changes will overwrite the already defined data.<br> -(Specially care if you use a user number that is already existent.)<br> -<br> -</b> - <table border="0"> -<form name="form3" action="user.php" method="post"> - <input type=hidden name="confirmation" value="noconfirm" /> - <script language="javascript"> - function conf3() { - computeHASH(); - if (confirm("Confirm?")) { - document.form3.confirmation.value='confirm'; - } - } -<?php -if (isset($u)) { - echo " function conf4() {\n"; - echo " if (confirm('Confirm the deletion?')) {\n"; - echo " document.form3.confirmation.value='delete';\n"; - echo " }\n"; - echo " }\n"; - $usite = $u['usersitenumber']; -} else - $usite = $ct['contestlocalsite']; -?> - function conf5() { - document.form3.confirmation.value='noconfirm'; - } - </script> - <center> - <table border="0"> - <tr> - <td width="35%" align=right>User Site Number:</td> - <td width="65%"> - <input type="text" name="usersitenumber" <?php if(!$main) echo "readonly "; echo "value=\"" . $usite . "\""; ?> size="20" maxlength="20" /> - </td> - </tr> - <tr> - <td width="35%" align=right>User Number:</td> - <td width="65%"> - <input type="text" name="usernumber" value="<?php if(isset($u)) echo $u["usernumber"]; ?>" size="20" maxlength="20" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Username:</td> - <td width="65%"> - <input type="text" name="username" value="<?php if(isset($u)) echo $u["username"]; ?>" size="20" maxlength="20" /> - </td> - </tr> - <tr> - <td width="35%" align=right>ICPC ID:</td> - <td width="65%"> - <input type="text" name="usericpcid" value="<?php if(isset($u)) echo $u["usericpcid"]; ?>" size="20" maxlength="50" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Type:</td> - <td width="65%"> - <select name="usertype"> - <option <?php if(!isset($u) || $u["usertype"] == "team") echo "selected"; ?> value="team">Team</option> - <option <?php if(isset($u)) if($u["usertype"] == "judge") echo "selected"; ?> value="judge">Judge</option> - <option <?php if(isset($u)) if($u["usertype"] == "admin") echo "selected"; ?> value="admin">Admin</option> - <option <?php if(isset($u)) if($u["usertype"] == "staff") echo "selected"; ?> value="staff">Staff</option> - <option <?php if(isset($u)) if($u["usertype"] == "score") echo "selected"; ?> value="score">Score</option> - <?php if(1 || $main) { ?> - <option <?php if(isset($u)) if($u["usertype"] == "site") echo "selected"; ?> value="site">Site</option> - <?php } ?> - </select> - </td> - </tr> - <tr> - <td width="35%" align=right>Enabled:</td> - <td width="65%"> - <select name="userenabled"> - <option <?php if(!isset($u) || $u["userenabled"] != "f") echo "selected"; ?> value="t">Yes</option> - <option <?php if(isset($u) && $u["userenabled"] == "f") echo "selected"; ?> value="f">No</option> - </select> - </td> - </tr> - <tr> - <td width="35%" align=right>MultiLogins (local teams should be set to <b>No</b>):</td> - <td width="65%"> - <select name="usermultilogin"> - <option <?php if(isset($u) && $u["usermultilogin"] == "t") echo "selected"; ?> value="t">Yes</option> - <option <?php if(!isset($u) || $u["usermultilogin"] != "t") echo "selected"; ?> value="f">No</option> - </select> - </td> - </tr> - <tr> - <td width="35%" align=right>User Full Name:</td> - <td width="65%"> - <input type="text" name="userfullname" value="<?php if(isset($u)) echo $u["userfullname"]; ?>" size="50" maxlength="200" /> - </td> - </tr> - <tr> - <td width="35%" align=right>User Description:</td> - <td width="65%"> - <input type="text" name="userdesc" value="<?php if(isset($u)) echo $u["userdesc"]; ?>" size="50" maxlength="300" /> - </td> - </tr> - <tr> - <td width="35%" align=right>User IP:</td> - <td width="65%"> - <input type="text" name="userip" value="<?php if(isset($u)) echo $u["userpermitip"]; ?>" size="20" maxlength="20" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Password:</td> - <td width="65%"> - <input type="password" name="passwordn1" value="" size="20" maxlength="200" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Retype Password:</td> - <td width="65%"> - <input type="password" name="passwordn2" value="" size="20" maxlength="200" /> - </td> - </tr> - <tr> - <td width="35%" align=right>Admin (this user) Password:</td> - <td width="65%"> - <input type="password" name="passwordo" value="" size="20" maxlength="200" /> - </td> - </tr> - </table> - </center> - <center> - <input type="submit" name="Submit" value="Send" onClick="conf3()"> -<?php if(isset($u)) { ?> - <input type="submit" name="Delete" value="Delete" onClick="conf4()"> -<?php } ?> - <input type="submit" name="Cancel" value="Cancel" onClick="conf5()"> -<?php if(isset($u)) { ?> -<br><br><b>WARNING: deleting a user will completely remove EVERYTHING related to it (including runs, clarifications, etc).<b><br> -<?php } ?> - </center> -</form> - -</body> -</html> |