aboutsummaryrefslogtreecommitdiff
path: root/boca-1.5.1/src
diff options
context:
space:
mode:
authorcassiopc <cassiopc@gmail.com>2012-10-22 16:50:03 +0000
committercassiopc <cassiopc@gmail.com>2012-10-22 16:50:03 +0000
commitdf477b322c071d81ea06ad972a36ea9f30cdc34f (patch)
tree77dad3b53ed879e65b22f24f880592a12e5dbad0 /boca-1.5.1/src
parent9e75d473525446d0961a7567bcb8a1e672949df8 (diff)
downloadboca-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.php17
-rw-r--r--boca-1.5.1/src/fscore.php3
-rw-r--r--boca-1.5.1/src/hex.php4
-rw-r--r--boca-1.5.1/src/index.php18
-rw-r--r--boca-1.5.1/src/scoretable.php8
-rw-r--r--boca-1.5.1/src/site/putfile.php3
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";