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=b4b135a91ee29a31fde39fd6792fe680bf0324d8;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 = "
\n\n \n"; + $output = "
\n
\n \n \n"; /* output header */ - $output.= " "; + $output.= " "; foreach($score[0]['players'] as $id=>$points) { $name = DB_get_name('userid',$id); /*TODO*/ $output.= ""; } - $output.="\n \n\n\n"; + $output.="\n \n \n \n"; $i=0; foreach($score as $game) { $i++; - $output.=" "; + $output.=" "; $userhash = DB_get_hash_from_gameid_and_userid($game['gameid'],$userid); /* create link to old games only if you are logged in and its your game*/ if(isset($_SESSION['id']) && $_SESSION['id']==$userid) @@ -1085,7 +1103,7 @@ function format_score_table_html($score,$userid) $output.="\n"; } - $output.="\n
No No ".substr($name,0,2)." P
P
\n"; + $output.=" \n\n\n"; return $output; }