From 8a298ed1bebb0f317988fe910861b64909469ec6 Mon Sep 17 00:00:00 2001 From: Cassio de Campos Date: Wed, 26 Jul 2017 19:26:05 +0100 Subject: a new attempt at sorting --- src/fscore.php | 42 ++++++++++++++++++++++++++++++------------ src/scoretable.php | 2 +- 2 files changed, 31 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/fscore.php b/src/fscore.php index 9687058..9d24d83 100644 --- a/src/fscore.php +++ b/src/fscore.php @@ -36,31 +36,49 @@ function ScoreCMP($a,$b) { } if ($a["user"]<$b["user"]) return 1; else if ($a["user"]>$b["user"]) return -1; - else return 0; + else { + if ($a["site"]<$b["site"]) return 1; + else if ($a["site"]>$b["site"]) return -1; + else return 0; + } } } } function ordena($a) { + $n = count($a); + /* $r = array(); - for ($i=0; $i 0)) { - $j=0; - for(;$j<$i;$j++) - if($r[$j]['user']==$a[$e]['user'] && $r[$j]['site']==$a[$e]['site']) break; - if($j>=$i) { - $max = $a[$e]; + foreach($a as $e => $c) { + if ($c != null && ($max==null || ScoreCMP($c,$max) > 0)) { + // $j=0; + // for(;$j<$i;$j++) + // if($r[$j]['user']==$a[$e]['user'] && $r[$j]['site']==$a[$e]['site']) break; + // if($j>=$i) { + $max = $c; $maxe = $e; - } + // } } } if ($max==null) break; $r[$i] = $max; $a[$maxe] = null; } - return $r; + */ + uasort($a, "ScoreCMP"); + $j = 0; + $r = array(); + foreach($a as $k) { + if($j == 0) $r[0] = $k; + else { + if($k['user'] != $r[$j]['user'] || $k['site'] != $r[$j]['site']) { + $j++; + $r[$j] = $k; + } + } + } + return $r; } function DBScore($contest, $verifylastmile, $hor=-1, $globalsite='0') { $c = DBConnect(); diff --git a/src/scoretable.php b/src/scoretable.php index 8491611..0348d51 100644 --- a/src/scoretable.php +++ b/src/scoretable.php @@ -280,7 +280,7 @@ if($redo) { } } - $strtmp .= "
\n\n \n \n \n \n"; + $strtmp .= "
\n
#UserName
\n \n \n \n \n"; if(!$des) { if($level>0) $strtmp .= ""; -- cgit v1.2.3
#User/SiteNameProblems