aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorcassiopc <cassiopc@gmail.com>2013-09-02 13:45:59 +0000
committercassiopc <cassiopc@gmail.com>2013-09-02 13:45:59 +0000
commit056b014febb3fade0a685e119041f6b7a809328b (patch)
treedcbaa6c60ea01bc6023e71885ae9b9b22266ea6e /src
parent8b8c1ab0f45aa2f4583ad009c1117e8529d1b53b (diff)
downloadboca-056b014febb3fade0a685e119041f6b7a809328b.tar.gz
boca-056b014febb3fade0a685e119041f6b7a809328b.zip
bug fixes
Diffstat (limited to 'src')
-rw-r--r--src/fextdata.php28
-rw-r--r--src/scoretable.php3
2 files changed, 26 insertions, 5 deletions
diff --git a/src/fextdata.php b/src/fextdata.php
index fe78bb7..48fed5b 100644
--- a/src/fextdata.php
+++ b/src/fextdata.php
@@ -17,7 +17,7 @@
////////////////////////////////////////////////////////////////////////////////
// Last modified 02/sep/2013 by cassio@ime.usp.br
-function scoretransfer() {
+function scoretransfer($putname) {
$ds = DIRECTORY_SEPARATOR;
if($ds=="") $ds = "/";
$privatedir = $_SESSION['locr'] . $ds . "private";
@@ -27,13 +27,14 @@ function scoretransfer() {
if(count($sitedata) < 3) continue;
$siteurl = $sitedata[0];
if(strpos($siteurl,'#') !== false) continue;
+ LOGError("scoretransfer: found site $siteurl");
if(substr($siteurl,0,7) != 'http://')
$siteurl = 'http://' . $siteurl;
$urldiv='/';
- if(substr($siteurl,length($siteurl)-1,1) == '/')
+ if(substr($siteurl,strlen($siteurl)-1,1) == '/')
$urldiv = '';
- $id = file_get_contents($siteurl . $urldiv . "index.php?getsessionid=1");
+ $sess = file_get_contents($siteurl . $urldiv . "index.php?getsessionid=1");
$user = $sitedata[1];
$res = myhash( myhash ($sitedata[2]) . $id);
$ok = file_get_contents($siteurl . $urldiv . "index.php?name=${user}&password=${res}&action=scoretransfer");
@@ -59,6 +60,27 @@ function scoretransfer() {
}
$zip->close();
}
+ LOGError("scoretransfer: download OK");
+ } else {
+ LOGError("scoretransfer: download failed");
+ }
+
+ if(is_readable($putname)) {
+ $data = @file_get_contents($putname);
+ $data_url = http_build_query(array('data' => $data,
+ ));
+ $opts = array(
+ 'http' => array(
+ 'method' => 'POST',
+ 'header' => 'Cookie: PHPSESSID=' . $sess . "\r\nContent-Type: application/x-www-form-urlencoded",
+ 'content' => $data_url
+ ));
+ $context = stream_context_create($opts);
+ $s = @file_get_contents($siteurl . $urldiv . "site/putfile.php", 0, $context);
+ if(strpos($s,'FAILED') === false)
+ LOGError("scoretransfer: upload OK");
+ else
+ LOGError("scoretransfer: upload failed");
}
break;
}
diff --git a/src/scoretable.php b/src/scoretable.php
index ed24cf1..b63754e 100644
--- a/src/scoretable.php
+++ b/src/scoretable.php
@@ -104,8 +104,6 @@ if($_SESSION["usertable"]["usertype"]=='score' || $_SESSION["usertable"]["userty
$destination = $remotedir . $ds ."scores.zip";
if(is_writable($remotedir)) {
if($redo || !is_readable($destination)) {
- scoretransfer();
-
if (($s = DBSiteInfo($_SESSION["usertable"]["contestnumber"],$_SESSION["usertable"]["usersitenumber"])) == null)
ForceLoad("index.php");
@@ -139,6 +137,7 @@ if($_SESSION["usertable"]["usertype"]=='score' || $_SESSION["usertable"]["userty
} else {
@rename($fname . ".tmp",$destination);
}
+ scoretransfer($destination);
}
}
}