diff options
| author | cassiopc <cassiopc@gmail.com> | 2012-10-22 16:50:03 +0000 |
|---|---|---|
| committer | cassiopc <cassiopc@gmail.com> | 2012-10-22 16:50:03 +0000 |
| commit | df477b322c071d81ea06ad972a36ea9f30cdc34f (patch) | |
| tree | 77dad3b53ed879e65b22f24f880592a12e5dbad0 /boca-1.5.1/src | |
| parent | 9e75d473525446d0961a7567bcb8a1e672949df8 (diff) | |
| download | boca-df477b322c071d81ea06ad972a36ea9f30cdc34f.tar.gz boca-df477b322c071d81ea06ad972a36ea9f30cdc34f.zip | |
update sendscore.sh to cope with new version. Fix password update and hexsub
Diffstat (limited to 'boca-1.5.1/src')
| -rw-r--r-- | boca-1.5.1/src/admin/user.php | 17 | ||||
| -rw-r--r-- | boca-1.5.1/src/fscore.php | 3 | ||||
| -rw-r--r-- | boca-1.5.1/src/hex.php | 4 | ||||
| -rw-r--r-- | boca-1.5.1/src/index.php | 18 | ||||
| -rw-r--r-- | boca-1.5.1/src/scoretable.php | 8 | ||||
| -rw-r--r-- | boca-1.5.1/src/site/putfile.php | 3 |
6 files changed, 35 insertions, 18 deletions
diff --git a/boca-1.5.1/src/admin/user.php b/boca-1.5.1/src/admin/user.php index 5e07930..adde9db 100644 --- a/boca-1.5.1/src/admin/user.php +++ b/boca-1.5.1/src/admin/user.php @@ -57,7 +57,8 @@ if (isset($_POST["username"]) && isset($_POST["userfullname"]) && isset($_POST[" } else { if ($_POST["passwordn1"] == $_POST["passwordn2"]) { $param['pass'] = bighexsub(htmlspecialchars($_POST["passwordn1"]),$a['userpassword']); - DBNewUser($param); + if($param['user'] != 1000) + DBNewUser($param); } else MSGError ("Passwords don't match."); } @@ -103,8 +104,12 @@ else if (isset($_FILES["importfile"]) && isset($_POST["Submit"]) && $_FILES["imp $param['contest']=$_SESSION["usertable"]["contestnumber"]; if($_SESSION["usertable"]["usersitenumber"] == $param['site'] || $main) - if(DBNewUser($param)) + if($param['usernumber'] != 1000 && DBNewUser($param)) { $oklines++; + } else { + unset($userlist[$param['site'] . '-' . $param['usernumber']]); + break; + } } } MSGError($oklines . ' users included/updated successfully'); @@ -130,8 +135,12 @@ else if (isset($_FILES["importfile"]) && isset($_POST["Submit"]) && $_FILES["imp $param['pass']=myhash($userlist[$param['site'] . '-' . $param['usernumber']]); $param['contest']=$_SESSION["usertable"]["contestnumber"]; if($_SESSION["usertable"]["usersitenumber"] == $param['site'] || $main) - if(DBNewUser($param)) + if($param['usernumber'] != 1000 && DBNewUser($param)) { $oklines++; + } else { + unset($userlist[$param['site'] . '-' . $param['usernumber']]); + break; + } } } MSGError($oklines . ' users included/updated successfully'); @@ -163,7 +172,7 @@ else if (isset($_FILES["importfile"]) && isset($_POST["Submit"]) && $_FILES["imp } $param['contest']=$_SESSION["usertable"]["contestnumber"]; if($_SESSION["usertable"]["usersitenumber"] == $param['site'] || $main) - DBNewUser($param); + if($param['usernumber'] != 1000) DBNewUser($param); } } } diff --git a/boca-1.5.1/src/fscore.php b/boca-1.5.1/src/fscore.php index 7b59561..efc4858 100644 --- a/boca-1.5.1/src/fscore.php +++ b/boca-1.5.1/src/fscore.php @@ -86,6 +86,9 @@ function DBScore($contest, $verifylastmile, $hor=-1, $globalsite='0') { if($ds=="") $ds = "/"; $probs=DBGetProblems($contest); $nprobs=count($probs); foreach (glob($_SESSION['locr'] . $ds . "private" .$ds . "remotescores" . $ds . "score*.dat") as $fname) { + $namear=explode('_',$fname); + $overloadsite=-1; + if(isset($namear[3]) && is_numeric($namear[2])) $overloadsite=$namear[2]; $fc=file_get_contents($fname); if(($arr = unserialize(base64_decode($fc)))===false) { LOGError("File " . sanitizeText($fname) . " is not compatible"); diff --git a/boca-1.5.1/src/hex.php b/boca-1.5.1/src/hex.php index 0d80b1d..4fa4c16 100644 --- a/boca-1.5.1/src/hex.php +++ b/boca-1.5.1/src/hex.php @@ -141,8 +141,8 @@ function bighexsub ($hex1, $hex2) { $r += 16; $sobra = 1; } else $sobra = 0; - - $resultado = dechex($r) . $resultado; + if($x > 0 || dechex($r) != '0') + $resultado = dechex($r) . $resultado; } return $sinal . $resultado; } diff --git a/boca-1.5.1/src/index.php b/boca-1.5.1/src/index.php index db904c7..af55fab 100644 --- a/boca-1.5.1/src/index.php +++ b/boca-1.5.1/src/index.php @@ -79,15 +79,17 @@ if(function_exists("globalconf") && function_exists("sanitizeVariables")) { if(($ct = DBContestInfo($_SESSION["usertable"]["contestnumber"])) == null) ForceLoad("index.php"); if($ct["contestlocalsite"]==$ct["contestmainsite"]) $main=true; else $main=false; - if($main && $_SESSION["usertable"]["usertype"] == 'site') { - MSGError('Direct login of this user is not allowed'); - unset($_SESSION["usertable"]); - ForceLoad("index.php"); - exit; + if(!isset($_GET['action']) || $_GET['action'] != 'scoretransfer') { + if($main && $_SESSION["usertable"]["usertype"] == 'site') { + MSGError('Direct login of this user is not allowed'); + unset($_SESSION["usertable"]); + ForceLoad("index.php"); + exit; + } + echo "<script language=\"JavaScript\">\n"; + echo "document.location='" . $_SESSION["usertable"]["usertype"] . "/index.php';\n"; + echo "</script>\n"; } - echo "<script language=\"JavaScript\">\n"; - echo "document.location='" . $_SESSION["usertable"]["usertype"] . "/index.php';\n"; - echo "</script>\n"; exit; } } diff --git a/boca-1.5.1/src/scoretable.php b/boca-1.5.1/src/scoretable.php index 574b700..dcfc7a6 100644 --- a/boca-1.5.1/src/scoretable.php +++ b/boca-1.5.1/src/scoretable.php @@ -95,7 +95,7 @@ if(file_exists($scoretmp)) { } } -if($_SESSION["usertable"]["usertype"]=='score' || (isset($_GET["remote"]) && is_numeric($_GET["remote"]))) { +if($_SESSION["usertable"]["usertype"]=='score' || $_SESSION["usertable"]["usertype"]=='admin' || (isset($_GET["remote"]) && is_numeric($_GET["remote"]))) { $remotedir = $_SESSION['locr'] . $ds . "private" . $ds . "remotescores"; $destination = $remotedir . $ds ."scores.zip"; if(is_writable($remotedir)) { @@ -115,10 +115,12 @@ if($_SESSION["usertable"]["usertype"]=='score' || (isset($_GET["remote"]) && is_ @file_put_contents($fname . ".tmp",base64_encode(serialize($data0))); @rename($fname . ".tmp",$fname . ".dat"); - if(@create_zip($remotedir,glob($remotedir . '/*.dat'),$destination)!==true) { + 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 { - @create_zip($remotedir,array(),$destination); + @rename($fname . ".tmp",$destination); } } } diff --git a/boca-1.5.1/src/site/putfile.php b/boca-1.5.1/src/site/putfile.php index d320a1a..3155bd8 100644 --- a/boca-1.5.1/src/site/putfile.php +++ b/boca-1.5.1/src/site/putfile.php @@ -163,7 +163,8 @@ if(is_writable($_SESSION["locr"] . $remotedir)) { fwrite($fout,$total,10000000); fclose($fout); - if(@rename($fn, $_SESSION["locr"] . $remotedir . $ds . "score_" . $_SESSION["usertable"]["username"] . "_" . md5(getIP()) . ".dat")) + if(@rename($fn, $_SESSION["locr"] . $remotedir . $ds . "score_" . $_SESSION["usertable"]["username"] . + "_" . $_SESSION["usertable"]["usericpcid"] . "_" . md5(getIP()) . ".dat")) echo "SCORE UPLOADED OK\n"; else echo "FAILED: UPDATE SCORE ERROR\n"; |