X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=e-DoKo.git;a=blobdiff_plain;f=include%2Ffunctions.php;h=466b4ae34f631d7c6a08414ebbbdd079aa0943b9;hp=ecb9811a4028bade70286e75b56e22d9d47cb21b;hb=b568d14fe83e919b41452d8ae5b57a7dedc671cf;hpb=2666bb58429c385b716d2ffd5d5fe9a9e7af4f45 diff --git a/include/functions.php b/include/functions.php index ecb9811..466b4ae 100644 --- a/include/functions.php +++ b/include/functions.php @@ -608,21 +608,39 @@ function set_gametype($gametype) function mysort($cards,$gametype) { - usort ( $cards, "sort_comp" ); + global $PREF; + if(isset($PREF['sorting'])) + if($PREF['sorting']=='high-low') + usort ( $cards, 'sort_comp_high_low' ); + else + usort ( $cards, 'sort_comp_low_high' ); + else + usort ( $cards, 'sort_comp_high_low' ); return $cards; } -function sort_comp($a,$b) +function sort_comp_high_low($a,$b) { global $CARDS; $ALL = array(); - $ALL = array_merge($CARDS["trump"],$CARDS["diamonds"],$CARDS["clubs"], - $CARDS["hearts"],$CARDS["spades"]); + $ALL = array_merge($CARDS['trump'],$CARDS['diamonds'],$CARDS['clubs'], + $CARDS['hearts'],$CARDS['spades']); return pos_array($a,$ALL)-pos_array($b,$ALL); } +function sort_comp_low_high($a,$b) +{ + global $CARDS; + + $ALL = array(); + $ALL = array_merge($CARDS['trump'],$CARDS['diamonds'],$CARDS['clubs'], + $CARDS['hearts'],$CARDS['spades']); + + return -pos_array($a,$ALL)+pos_array($b,$ALL); +} + function can_call($what,$hash) { global $RULES; @@ -1010,7 +1028,9 @@ function format_score_table_ascii($score) if(sizeof($score)==0) return ""; - // if(sizeof($score)>5) $header.= " ... \n"; + /* truncate table if we have too many games */ + $max = sizeof($score); + if($max>6) $output.=" (table truncated to last 6 games)\n"; /* output header */ foreach($score[0]['players'] as $id=>$points) @@ -1018,18 +1038,16 @@ function format_score_table_ascii($score) $name = DB_get_name('userid',$id); /*TODO*/ $output.= " ".substr($name,0,2)." |"; } - $output.=" P |\n "; + $output.=" P |\n"; $output.= "------+------+------+------+------+\n"; - $max = sizeof($score); + /* output score for each game */ $i=0; - - if($i<$max-6) $output.=" ...\n"; - foreach($score as $game) { $i++; if($i-1<$max-6) continue; + foreach($game['players'] as $id=>$points) $output.=str_pad($points,6," ",STR_PAD_LEFT)."|"; $output.=str_pad($game['points'],4," ",STR_PAD_LEFT); @@ -1052,22 +1070,22 @@ function format_score_table_html($score,$userid) if(sizeof($score)==0) return ""; - $output = "
No | "; + $output.= "No | "; foreach($score[0]['players'] as $id=>$points) { $name = DB_get_name('userid',$id); /*TODO*/ $output.= "".substr($name,0,2)." | "; } - $output.="P | \nP | \n \n \n \n"; $i=0; foreach($score as $game) { $i++; - $output.="
---|---|---|---|