X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=e-DoKo.git;a=blobdiff_plain;f=include%2Fgame.php;h=86fd53ccf4c7066afc50a88bc469202e499c0a4a;hp=a50b247d0adc76e90fdc0b363940950f5393b2a0;hb=c42caf707e7b0b9e4e22a2d15b034b39101172e1;hpb=692b2c53acc3d0f8a0205b7aba84938580540df7
diff --git a/include/game.php b/include/game.php
index a50b247..86fd53c 100644
--- a/include/game.php
+++ b/include/game.php
@@ -46,6 +46,7 @@ global $GAME,$RULES,$CARDS;
/**************************************
* get some information from the DB
**************************************/
+start:
$gameid = DB_get_gameid_by_hash($me);
$myname = DB_get_name('hash',$me);
$mystatus = DB_get_status_by_hash($me);
@@ -333,7 +334,7 @@ if($session)
echo ' '._('Game')." $session.$j";
if($gamestatus != 'pre')
if($gametype_raw != 'normal') /* only show when needed */
- if(!($gametype_raw == 'solo' && $gametyep_solo == 'silent') )
+ if(!($gametype_raw == 'solo' && $gametype_solo == 'silent') )
echo " ($GT)";
if(isset($_SESSION['id']) && $_SESSION['id']==$myid)
@@ -395,7 +396,7 @@ switch($mystatus)
/* output vorbehalte */
if($gametype_raw != 'normal') /* only show when needed */
- if(!($gametype_raw == 'solo' && $gametyep_solo == 'silent') )
+ if(!($gametype_raw == 'solo' && $gametype_solo == 'silent') )
echo "
Pre\n";
$result = DB_query('SELECT Trick.id'.
@@ -561,9 +562,7 @@ switch($mystatus)
break;
}
else
- {
- /* everything is ok, save what user said and proceed */
- $messages[] = _('Processing what you selected in the last step...');
+ { /* everything is ok, save what user said and proceed */
/* check if this sickness needs to be handled first */
$startplayer = DB_get_startplayer_by_gameid($gameid); /* need this to check which solo goes first */
@@ -572,6 +571,17 @@ switch($mystatus)
{
/* user wants to play a solo */
+ /* double check input value */
+ $s = $_REQUEST['solo'];
+ $solos = array('trumpless','jack','queen','trump','club','spade','heart');
+ if (!in_array($s, $solos))
+ {
+ $messages[] = sprintf(_('There is a problem with the type of solo you selected (%s does not exist), please go back '.
+ 'and answer the question again.'),
+ $s,$INDEX.'?action=game&me=$me&in=yes');
+ break;
+ }
+
/* store the info in the user's hand info */
DB_set_solo_by_hash($me,$_REQUEST['solo']);
DB_set_sickness_by_hash($me,'solo');
@@ -634,13 +644,6 @@ switch($mystatus)
* this can therefore only be handled once all players finished the last stage
*/
- $messages[] = _('Checking if someone else selected solo, nines, wedding or poverty.');
-
- /* in case the user can go do the next stage, we want to skip the break statement at the
- * end. We keep track of these cases using this variable
- */
- $nobreak=0;
-
/* check if everyone has reached this stage */
$userids = DB_get_all_userid_by_gameid($gameid);
$ok = 1;
@@ -668,8 +671,6 @@ switch($mystatus)
* are playing, in case there are any solos this already
* will have the correct information in it */
- $messages[] = _('Ok, everyone is done... figuring out what kind of game we are playing.');
-
/* gametype for displaying it (hides hidden solo)*/
$GT = get_display_gametype($gameid);
@@ -796,7 +797,6 @@ switch($mystatus)
$gametype = 'wedding';
};
/* now the gametype is set correctly in the database */
- $messages[] = _('Got it').' :)';
/* loop over all players, set re/contra if possible and start the game if possible */
$userids = DB_get_all_userid_by_gameid($gameid);
@@ -895,9 +895,8 @@ switch($mystatus)
}
else
{
- $messages[] = sprintf(_('Please, start the game.'),$INDEX."?action=game&me=$me").
- "
\n";
- $nobreak=1;
+ $mystatus = 'play';
+ goto play;
}
}
else
@@ -909,9 +908,8 @@ switch($mystatus)
$whoid = DB_get_userid('gameid-position',$gameid,$who);
if($whoid==$myid)
{
- $messages[] = sprintf(_('Please, start the game.'),$INDEX."?action=game&me=$me").
- "
take trump,
@@ -950,11 +948,6 @@ switch($mystatus)
* it is easier to check B) first
*/
- /* in case the user can go do the next stage, we want to skip the break statement at the
- * end. We keep track of these cases using this variable
- */
- $nobreak=0;
-
set_gametype($gametype); /* this sets the $CARDS variable */
$myparty = DB_get_party_by_hash($me);
@@ -1008,7 +1001,10 @@ switch($mystatus)
}
}
else
- $messages[]= sprintf(_('Please, start the game.'),$INDEX."?action=game&me=$me");
+ {
+ $mystatus = 'play';
+ goto play;
+ }
}
/* the following is part A) of what needs to be done */
@@ -1207,14 +1203,13 @@ switch($mystatus)
}
}
$messages[] = sprintf(_('Please, continue here'),$INDEX."?action=game&me=$me");
- $nobreak = 1;
}
}
- if(!$nobreak)
- break;
+ break;
case 'play':
case 'gameover':
+ play:
/* both entries here, so that the tricks are visible for both.
* in case of 'play' there is a break later that skips the last part
*/