示例#1
0
 } else {
     $errp = 0;
     foreach ($inputlist as $file) {
         $file = basename($file);
         if (is_file($dir . $ds . "input" . $ds . $file)) {
             $file1 = basename($file, '.link');
             if ($file != $file1) {
                 $fnam = trim(file_get_contents($dir . $ds . "input" . $ds . $file));
                 echo "Input file {$file} is a link. Trying to read the linked file: ({$fnam})\n";
                 if (is_readable($fnam)) {
                     @unlink($dir . $ds . "input" . $ds . $file);
                     $file = basename($file, ".link");
                     @copy($fnam, $dir . $ds . "input" . $ds . $file);
                 } else {
                     echo "Failed to read input files from link indicated in the ZIP -- please check the problem package\n";
                     DBGiveUpRunAutojudging($contest, $site, $number, $ip, "error: problem package file is invalid (11) or missing files on the autojudge");
                     $errp = 1;
                     break;
                 }
             }
             $ex = escapeshellcmd($script) . " " . escapeshellarg($basename) . " " . escapeshellarg($dir . $ds . "input" . $ds . $file) . " " . escapeshellarg(trim($limits[$basename][$run["extension"]][0])) . " " . escapeshellarg(trim($limits[$basename][$run["extension"]][1])) . " " . escapeshellarg(trim($limits[$basename][$run["extension"]][2])) . " " . escapeshellarg(trim($limits[$basename][$run["extension"]][3]));
             $ex .= " >stdout 2>stderr";
             chdir($dir);
             if (file_exists($dir . $ds . 'tmp')) {
                 cleardir($dir . $ds . 'tmp');
             }
             mkdir($dir . $ds . 'tmp', 0777);
             @chown($dir . $ds . 'tmp', "nobody");
             if (is_readable($dir . $ds . $basename)) {
                 @copy($dir . $ds . $basename, $dir . $ds . 'tmp' . $ds . $basename);
                 @chown($dir . $ds . 'tmp' . $ds . $basename, "nobody");
示例#2
0
} 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);
    }
}
示例#3
0
}
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);