return 1;
if($b == 19 || $b == 20 )
return 0;
- };
- if($RULES['schweinchen']=='second' && $GAME['schweinchen-second'])
+ }
+ else if($RULES['schweinchen']=='second' && $GAME['schweinchen-second'])
{
if($a == 19 || $a == 20 )
return 1;
if($b == 19 || $b == 20 )
return 0;
- };
+ }
+ else if($RULES['schweinchen']=='secondaftercall' && $GAME['schweinchen-who'] && $GAME['schweinchen-second'] )
+ {
+ /* check if a call was made either by the player or his partner. If so activate Schweinchen rule. */
+ if(DB_get_call_by_hash($GAME['schweinchen-who']) || DB_get_partner_call_by_hash($GAME['schweinchen-who']) )
+ {
+ if($a == 19 || $a == 20 )
+ return 1;
+ if($b == 19 || $b == 20 )
+ return 0;
+ }
+ /* if not, do nothing and the foxes are just handeled as normal trump */
+ }
+ ;
case "heart":
case "spade":
case "club":
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;
}
-function display_user_menu()
+function display_user_menu($id)
{
- global $WIKI,$myid,$INDEX;
+ global $WIKI,$INDEX;
$result = DB_query("SELECT Hand.hash,Hand.game_id,Game.player from Hand".
" LEFT JOIN Game On Hand.game_id=Game.id".
- " WHERE Hand.user_id='$myid'".
- " AND ( Game.player='$myid' OR ISNULL(Game.player) )".
+ " WHERE Hand.user_id='$id'".
+ " AND ( Game.player='$id' OR ISNULL(Game.player) )".
" AND Game.status<>'gameover'".
" ORDER BY Game.session" );
}
$i++;
- echo "<a href=\"".$INDEX."?action=game&me=".$r[0]."\">game ".DB_format_gameid($r[1])." </a><br />\n";
+ echo "<a href=\"".$INDEX."?action=game&me=".$r[0].
+ "\">game ".DB_format_gameid($r[1])." </a><br />\n";
if($i>4)
{
echo "...<br />\n";
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)
$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);
if(sizeof($score)==0)
return "";
- $output = "<div class=\"scoretable\">\n<table class=\"score\">\n <thead><tr>\n";
+ $output = "<div class=\"scoretable\">\n<table class=\"score\">\n <thead>\n <tr>\n";
/* output header */
- $output.= " <th> No </th>";
+ $output.= " <th> No </th>";
foreach($score[0]['players'] as $id=>$points)
{
$name = DB_get_name('userid',$id); /*TODO*/
$output.= "<th> ".substr($name,0,2)." </th>";
}
- $output.="<th>P</th>\n </tr>\n</thead>\n<tbody>\n";
+ $output.="<th>P</th>\n </tr>\n </thead>\n <tbody>\n";
$i=0;
foreach($score as $game)
{
$i++;
- $output.=" <tr>";
+ $output.=" <tr>";
$userhash = DB_get_hash_from_gameid_and_userid($game['gameid'],$userid);
- $output.=" <td> <a href=\"".$INDEX."?action=game&me=".$userhash."\">$i</a></td>";
+ /* create link to old games only if you are logged in and its your game*/
+ if(isset($_SESSION['id']) && $_SESSION['id']==$userid)
+ $output.=" <td> <a href=\"".$INDEX."?action=game&me=".$userhash."\">$i</a></td>";
+ else
+ $output.=" <td>$i</td>";
+
foreach($game['players'] as $id=>$points)
$output.="<td>".$points."</td>";
$output.="<td>".$game['points'];
$output.="</td></tr>\n";
}
- $output.="</tbody>\n</table></div>\n";
+ $output.=" </tbody>\n</table>\n</div>\n";
return $output;
}
-function createCache($content, $cacheFile)
+function createCache($content, $cacheFile)
{
$fp = fopen($cacheFile,"w");
if($fp)
return;
}
-function getCache($cacheFile, $expireTime)
+function getCache($cacheFile, $expireTime)
{
- if( file_exists($cacheFile) &&
- filemtime($cacheFile )>( time() - $expireTime ) )
+ if( file_exists($cacheFile) &&
+ filemtime($cacheFile )>( time() - $expireTime ) )
{
return file_get_contents($cacheFile);
}