.
////////////////////////////////////////////////////////////////////////////////
//Last updated 24/oct/2017 by cassio@ime.usp.br
require 'header.php';
?>
OPERATION LOG DISPLAYS BELOW:
open($tmpfname) === true) {
$zip->extractTo($dir . $ds . "private" . $ds . "newboca." . $t);
$zip->close();
require($dir . $ds . "private" . $ds . "newboca." . $t . $ds . 'versionnum.php');
$newv = explode('.',$BOCAVERSION);
if($curv[0] != $newv[0] || $curv[1] != $newv[1])
echo "Cannot updated because of major version difference\n";
else {
echo "Updating\n";
$q = updatebocafile($dir, $dir . $ds . "private" . $ds . "newboca." . $t, $t);
echo $q . " files updated to " . $BOCAVERSION . "\n\n";
$str = @file_get_contents($dir . $ds . "private" . $ds . "updateboca.log");
@file_put_contents($dir . $ds . "private" . $ds . "updateboca.log", $str . $t . "\n");
}
} else {
echo "Downloaded file corrupted\n";
}
@unlink($tmpfname);
} else echo "Download error\n";
} else {
echo "Cannot update log file\n";
}
}
if (isset($_GET["Submit7"]) && $_GET["Submit7"] == "Revert Update") {
$dir = dirname(__DIR__);
if(!is_readable($dir . $ds . "private" . $ds . "updateboca.log")) @file_put_contents($dir . $ds . "private" . $ds . "updateboca.log", "");
if(is_writable($dir . $ds . "private" . $ds . "updateboca.log")) {
$str = @file($dir . $ds . "private" . $ds . "updateboca.log");
if(count($str) >= 1) {
$t = trim($str[count($str)-1]);
unset($str[count($str)-1]);
$str = implode("\n", $str);
fixbocadir($dir);
if($t != '') {
echo "Reverting last update\n";
$q = revertupdatebocafile($dir, $t);
echo $q . " files reverted properly\n";
fixbocadir($dir);
}
@file_put_contents($dir . $ds . "private" . $ds . "updateboca.log", $str);
} else {
echo "No updates to revert\n";
}
} else {
echo "Cannot update log file\n";
}
}
if($dotransfer || $doscore || $dotransferall) {
$privatedir = $_SESSION['locr'] . $ds . "private";
$remotedir = $_SESSION['locr'] . $ds . "private" . $ds . "remotescores";
$destination = $remotedir . $ds ."scores.zip";
if(is_writable($remotedir)) {
if(($fp = @fopen($destination . ".lck",'x')) !== false) {
if($doscore) {
if (($s = DBSiteInfo($_SESSION["usertable"]["contestnumber"],$_SESSION["usertable"]["usersitenumber"])) == null)
ForceLoad("index.php");
echo "Building scores\n";
$level=$s["sitescorelevel"];
$data0 = array();
if($level>0) {
list($score,$data0) = DBScoreSite($_SESSION["usertable"]["contestnumber"],
$_SESSION["usertable"]["usersitenumber"], 0, -1);
}
$ct=DBGetActiveContest();
$localsite=$ct['contestlocalsite'];
$fname = $privatedir . $ds . "score_localsite_" . $localsite . "_x"; // . md5($_SERVER['HTTP_HOST']);
@file_put_contents($fname . ".tmp",base64_encode(serialize($data0)));
@rename($fname . ".tmp",$fname . ".dat");
$data0 = array();
if($level>0) {
list($score,$data0) = DBScoreSite($_SESSION["usertable"]["contestnumber"],
$_SESSION["usertable"]["usersitenumber"], 1, -1);
}
$ct=DBGetActiveContest();
$localsite=$ct['contestlocalsite'];
$fname = $remotedir . $ds . "score_site" . $localsite . "_" . $localsite . "_x"; // . md5($_SERVER['HTTP_HOST']);
@file_put_contents($fname . ".tmp",base64_encode(serialize($data0)));
@rename($fname . ".tmp",$fname . ".dat");
echo "Transferring scores\n";
echo scoretransfer($fname . ".dat", $localsite);
echo "Saving scores\n";
if(@create_zip($remotedir,glob($remotedir . '/*.dat'),$fname . ".tmp") != 1) {
LOGError("Cannot create score zip file");
if(@create_zip($remotedir,array(),$fname . ".tmp") == 1)
@rename($fname . ".tmp",$destination);
} else {
@rename($fname . ".tmp",$destination);
}
@fclose($fp);
}
if($dotransfer) {
echo "Processing other data\n";
echo getMainXML($_SESSION["usertable"]["contestnumber"],10,$dotransferall);
}
@unlink($destination . ".lck");
} else {
if(file_exists($destination . ".lck") && filemtime($destination . ".lck") < time() - 120)
@unlink($destination . ".lck");
echo "Transfers locked by other process - try again soon\n";
}
}
}
}
echo "End: " . now() . "\n";
?>