diff options
| author | cassiopc <cassiopc@gmail.com> | 2013-09-02 13:45:59 +0000 |
|---|---|---|
| committer | cassiopc <cassiopc@gmail.com> | 2013-09-02 13:45:59 +0000 |
| commit | 056b014febb3fade0a685e119041f6b7a809328b (patch) | |
| tree | dcbaa6c60ea01bc6023e71885ae9b9b22266ea6e | |
| parent | 8b8c1ab0f45aa2f4583ad009c1117e8529d1b53b (diff) | |
| download | boca-056b014febb3fade0a685e119041f6b7a809328b.tar.gz boca-056b014febb3fade0a685e119041f6b7a809328b.zip | |
bug fixes
| -rw-r--r-- | src/fextdata.php | 28 | ||||
| -rw-r--r-- | src/scoretable.php | 3 |
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); } } } |