.
////////////////////////////////////////////////////////////////////////////////
// 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");
}
?>