<?php
-/* Copyright 2006, 2007, 2008, 2009, 2010 Arun Persaud <arun@nubati.net>
+/* Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012 Arun Persaud <arun@nubati.net>
*
* This file is part of e-DoKo.
*
/* get prefs and save them in a variable*/
$PREF = DB_get_PREF(isset($_SESSION['id'])?$_SESSION['id']:$myid);
+/* set language chosen in preferences, will become active on the next reload (see index.php)*/
+$_SESSION['language'] = $PREF['language'];
+
/* get rule set for this game */
$RULES = DB_get_RULES($gameid);
/* check for solo, add game type to session number */
echo " Game $session.$j";
- if($GT !='normal')
+ if($gamestatus != 'pre' && $GT !='normal' )
echo " ($GT)";
if(isset($_SESSION['id']) && $_SESSION['id']==$myid)
{
/* Depending on the situation we set
* cards_status (see functions.php for possible options)
+ * most of the times we need to just show the cards, so we make this the default
*/
-$cards_status = CARDS_EMPTY;
+$card_status = CARDS_SHOW;
/* Also collect message that should be displayed to the user, so that we can show
* them after showing the table. This makes the html flow more consistent and easier
* ask if player wants to join the game *
****************************************/
- /* don't ask if user has autosetup set to yest */
+ /* don't ask if user has autosetup set to yes */
$skip = 0;
if($PREF['autosetup']=='yes') $skip = 1;
{
/* asks the player, if he wants to join the game */
output_check_want_to_play($me);
+
+ /* don't show the cards before the user joined the game */
$card_status = CARDS_EMPTY;
+
break;
}
else
mymail($user,$gameid,GAME_CANCELED,$email_message);
}
+ $card_status = CARDS_EMPTY;
+
/* update game status */
cancel_game('noplay',$gameid);
break;
DB_set_player_by_gameid($gameid,$user);
break;
}
- };
+ }
}
}
case 'init':
$mycards = DB_get_hand($me);
output_check_for_sickness($me,$mycards);
- $card_status = CARDS_SHOW;
-
break;
}
else
$messages[] = "You selected more than one sickness, please go back ".
"and answer the <a href=\"$INDEX?action=game&me=$me&in=yes\">question</a> again.";
- $card_status = CARDS_SHOW;
-
break;
}
else
'Seems like this is not the case, so you need to wait a bit... '.
'you will get an email once that is the case, please use the link in '.
'that email to continue the game.');
-
- /* display cards, if player was just at the init-phase he will still see the cards from there
- * we can put this one here, since the last player to finish the init state won't get here and
- * will still see his card anyway from the init-phase
- */
- if($mystatus=='check')
- {
- $card_status = CARDS_SHOW;
- }
}
else
{
}
}
}
- $card_status = CARDS_SHOW;
}
break;
/* get hand */
$mycards = DB_get_hand($me);
- /* default: show cards, will be overwritten, if we need to give back cards */
- $card_status = CARDS_SHOW;
-
/* check if user need to give more cards back */
if( ($myparty=='re' || $myparty=='contra') && count($mycards)>12)
{
$messages[] = _('You finished the setup, but not everyone else finished it... '.
'You need to wait for the others. Just wait for an email.');
- $card_status = CARDS_SHOW;
-
break; /* not sure this works... the idea is that you can
* only play a card after everyone is ready to play */
}
/* who is the next player? */
$next = $winner;
+ $firstcard = ''; /* unset firstcard, so followsuit doesn't trigger with the last trick */
}
else
{
echo "</div>\n"; /* end ul tricks*/
- if($myturn && !myisset('card') && $mystatus=='play' )
+ if( ($myturn && !myisset('card') && $mystatus=='play') /* it's my turn*/
+ || ($myturn && myisset('card') && $next==$mypos && $mystatus=='play') /* a card has been played and player won the trick*/)
{
$card_status = CARDS_MYTURN;
}
/* check if game is over, display results */
if(DB_get_game_status_by_gameid($gameid)=='play')
{
- echo _('The game is over for you... other people still need to play though');
+ $messages[] = _('The game is over for you... other people still need to play though');
}
break;
default: