From f99a16bd90e8a3d3b4e8f9ecfe4d8f52f54c6e75 Mon Sep 17 00:00:00 2001 From: cassiopc Date: Sat, 3 Nov 2012 11:15:29 +0100 Subject: updated scheme for scoreboard sharing inclusion of extra site parameter in score.sep (to define by usernumber and sitenumber altogether) bug fix related to showing runs that happened in the future (when integrating scores of sites that started in distinct moments) bug fix to sort the files in remotescores/ so as the most updated score for each site is taken into account --- boca-1.5.2/src/fscore.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'boca-1.5.2/src/fscore.php') diff --git a/boca-1.5.2/src/fscore.php b/boca-1.5.2/src/fscore.php index 9624e87..d2b203e 100644 --- a/boca-1.5.2/src/fscore.php +++ b/boca-1.5.2/src/fscore.php @@ -15,7 +15,7 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . //////////////////////////////////////////////////////////////////////////////// -// Last modified 05/aug/2012 by cassio@ime.usp.br +// Last modified 02/nov/2012 by cassio@ime.usp.br ////////////////////////////funcoes para placar/////////////////////////////////////////////// function ScoreCMP($a,$b) { @@ -99,7 +99,7 @@ function DBScore($contest, $verifylastmile, $hor=-1, $globalsite='0') { } else { if(is_array($arr)) { if(isset($arr['site'])) { - $site=$arr['site']; + $site=$arr['site']; //if($overloadsite>0) $site=$overloadsite; if(!in_array($site, $whichsites) && !in_array(0,$whichsites)) continue; $fine=1; reset($resp); @@ -311,14 +311,15 @@ function DBScoreSite($contest, $site, $verifylastmile, $hor=-1, $data=null) { $resp[$user]["problem"][$problem]["penalty"] = 0; $resp[$user]["problem"][$problem]["count"] = 0; - while ($i<$n && $a[$i]["user"]==$user && $a[$i]["problem"]==$problem && $a[$i]["yes"]!='t') { + while ($i<$n && $a[$i]["anstime"] <= $ta && $a[$i]["user"]==$user && $a[$i]["problem"]==$problem && $a[$i]["yes"]!='t') { $time += (int) (($ct["contestpenalty"])/60); $k++; $i++; } + $resp[$user]["problem"][$problem]["count"] = $k; if ($i>=$n) break; - if($a[$i]["user"]==$user && $a[$i]["problem"]==$problem && $a[$i]["yes"]=='t') { + if($a[$i]["anstime"] <= $ta && $a[$i]["user"]==$user && $a[$i]["problem"]==$problem && $a[$i]["yes"]=='t') { $timet = (int) (($a[$i]["time"])/60); if(!isset($resp[$user]["first"]) || $timet < $resp[$user]["first"]) $resp[$user]["first"] = $timet; -- cgit v1.2.3