aboutsummaryrefslogtreecommitdiff
path: root/boca-1.5.0/src/team
diff options
context:
space:
mode:
authorcassiopc <cassiopc@gmail.com>2012-08-06 17:59:23 +0000
committercassiopc <cassiopc@gmail.com>2012-08-06 17:59:23 +0000
commitf8c7c32e3ea6417ccf04309ec521b39a0c20414d (patch)
tree86befe96e554f00d25e1f3717d456ef6da470405 /boca-1.5.0/src/team
parentd75956684f9599b8daf705b11d67c75186ea7e3f (diff)
downloadboca-f8c7c32e3ea6417ccf04309ec521b39a0c20414d.tar.gz
boca-f8c7c32e3ea6417ccf04309ec521b39a0c20414d.zip
fix some concurrency issues when judging a run; update scripts to look for /etc/boca.conf if it exists
Diffstat (limited to 'boca-1.5.0/src/team')
-rw-r--r--boca-1.5.0/src/team/clar.php6
-rw-r--r--boca-1.5.0/src/team/header.php43
-rw-r--r--boca-1.5.0/src/team/run.php6
3 files changed, 37 insertions, 18 deletions
diff --git a/boca-1.5.0/src/team/clar.php b/boca-1.5.0/src/team/clar.php
index 7b391b9..a1e3972 100644
--- a/boca-1.5.0/src/team/clar.php
+++ b/boca-1.5.0/src/team/clar.php
@@ -29,6 +29,7 @@ if (isset($_POST["message"]) && isset($_POST["problem"]) && isset($_POST["Submit
}
ForceLoad("clar.php");
}
+$_SESSION["popuptime"] = time();
?>
<br>
<table width="100%" border=1>
@@ -58,11 +59,6 @@ for ($i=0; $i<count($clar); $i++) {
echo " <textarea name=\"m$i\" cols=\"60\" rows=\"8\" readonly>".$clar[$i]["question"]."</textarea>\n";
echo "</td>\n";
- if ($clar[$i]["timestamp"]>$_SESSION["usertable"]["userlastlogin"]-$st["sitestartdate"] && $clar[$i]["timestamp"] < $st['siteduration'] &&
- trim($clar[$i]["answer"])!='' && !isset($_SESSION["popups"]['clar' . $i . '-' . $clar[$i]["timestamp"]])) {
- $_SESSION["popups"]['clar' . $i . '-' . $clar[$i]["timestamp"]] = "Clarification for problem ".$clar[$i]["problem"]." answered<br>";
- }
-
if (trim($clar[$i]["answer"]) == "") $clar[$i]["answer"] = "Not answered yet";
echo " <td>";
// echo " <pre>" . $clar[$i]["answer"] . "</pre>";
diff --git a/boca-1.5.0/src/team/header.php b/boca-1.5.0/src/team/header.php
index 862f284..23c6d98 100644
--- a/boca-1.5.0/src/team/header.php
+++ b/boca-1.5.0/src/team/header.php
@@ -85,15 +85,42 @@ if($doslow) {
}
}
-$str = '';
-foreach($_SESSION["popups"] as $key => $value) {
- if($value != null) {
- $str .= $value;
- $_SESSION["popups"][$key] = null;
+if(!isset($_SESSION["popuptime"]) || $_SESSION["popuptime"] < time()-120) {
+ $_SESSION["popuptime"] = time();
+
+ if(($st = DBSiteInfo($_SESSION["usertable"]["contestnumber"],$_SESSION["usertable"]["usersitenumber"])) != null) {
+ $clar = DBUserClars($_SESSION["usertable"]["contestnumber"],
+ $_SESSION["usertable"]["usersitenumber"],
+ $_SESSION["usertable"]["usernumber"]);
+ for ($i=0; $i<count($clar); $i++) {
+ if ($clar[$i]["timestamp"]>$_SESSION["usertable"]["userlastlogin"]-$st["sitestartdate"] &&
+ $clar[$i]["timestamp"] < $st['siteduration'] &&
+ trim($clar[$i]["answer"])!='' && !isset($_SESSION["popups"]['clar' . $i . '-' . $clar[$i]["timestamp"]])) {
+ $_SESSION["popups"]['clar' . $i . '-' . $clar[$i]["timestamp"]] = "Clarification for problem ".$clar[$i]["problem"]." answered\n";
+ }
+ }
+ $run = DBUserRuns($_SESSION["usertable"]["contestnumber"],
+ $_SESSION["usertable"]["usersitenumber"],
+ $_SESSION["usertable"]["usernumber"]);
+ for ($i=0; $i<count($run); $i++) {
+ if ($run[$i]["anstime"]>$_SESSION["usertable"]["userlastlogin"]-$st["sitestartdate"] &&
+ $run[$i]["anstime"] < $st['sitelastmileanswer'] &&
+ $run[$i]["ansfake"]!="t" && !isset($_SESSION["popups"]['run' . $i . '-' . $run[$i]["anstime"]])) {
+ $_SESSION["popups"]['run' . $i . '-' . $run[$i]["anstime"]] = "Run ".$run[$i]["number"]." result: ".$run[$i]["answer"] . '\n';
+ }
+ }
+ }
+
+ $str = '';
+ foreach($_SESSION["popups"] as $key => $value) {
+ if($value != '') {
+ $str .= $value;
+ $_SESSION["popups"][$key] = '';
+ }
+ }
+ if($str != '') {
+ MSGError('YOU GOT NEWS:\n' . $str . '\n');
}
-}
-if($str != '') {
- MSGError('YOU GOT NEWS:<br>' . $str);
}
list($clockstr,$clocktype)=siteclock();
diff --git a/boca-1.5.0/src/team/run.php b/boca-1.5.0/src/team/run.php
index f00adac..51afc75 100644
--- a/boca-1.5.0/src/team/run.php
+++ b/boca-1.5.0/src/team/run.php
@@ -82,6 +82,7 @@ if(!isset($_SESSION['forceredo']) || $_SESSION['forceredo']==false) {
}
}
if($redo) {
+ $_SESSION["popuptime"] = time();
$_SESSION['forceredo']=false;
if(($st = DBSiteInfo($_SESSION["usertable"]["contestnumber"],$_SESSION["usertable"]["usersitenumber"])) == null)
ForceLoad("../index.php");
@@ -117,11 +118,6 @@ if($redo) {
$strtmp .= "</td>\n";
$strtmp .= " </tr>\n";
-
- if ($run[$i]["anstime"]>$_SESSION["usertable"]["userlastlogin"]-$st["sitestartdate"] && $run[$i]["anstime"] < $st['sitelastmileanswer'] &&
- $run[$i]["ansfake"]!="t" && !isset($_SESSION["popups"]['run' . $i . '-' . $run[$i]["anstime"]])) {
- $_SESSION["popups"]['run' . $i . '-' . $run[$i]["anstime"]] = "Run ".$run[$i]["number"]." result: ".$run[$i]["answer"]. "<br>";
- }
}
$strtmp .= "</table>";
if (count($run) == 0) $strtmp .= "<br><center><b><font color=\"#ff0000\">NO RUNS AVAILABLE</font></b></center>";