$session = DB_get_session_by_gameid($followup);
$ruleset = DB_get_ruleset_by_gameid($followup); /* just copy ruleset from old game,
this way no manipulation is possible */
+
+ /* check if there is a game in pre or play mode, in that case do nothing */
+ if( DB_is_session_active($session) > 0 )
+ {
+ echo "<p class=\"message\"> There is already a game going on in session $session, you can't start a new one</p>";
+ output_footer();
+ DB_close();
+ exit();
+ }
+ else if ( DB_is_session_active($session) < 0 )
+ {
+ echo "<p class=\"message\"> ERROR: status of session $session couldn't be determined.</p>";
+ output_footer();
+ DB_close();
+ exit();
+ }
+
if($session)
mysql_query("INSERT INTO Game VALUES (NULL, NULL, '$randomNRstring', 'normal', NULL,NULL,'1',NULL,'pre',".
"'$ruleset','$session' ,NULL)");
/* put everyting in a form */
echo "<form action=\"index.php?me=$me\" method=\"post\">\n";
- /* output left menu */
-
- display_user_menu();
-
- /* output right menu */
-
- /* display rule set for this game */
- echo "<div class=\"gameinfo\">\n";
-
- if($gamestatus != 'pre')
- echo " Gametype: $GT <br />\n";
-
- echo "Rules: <br />\n";
- echo "10ofhearts : ".$RULES["dullen"] ."<br />\n";
- echo "schweinchen: ".$RULES["schweinchen"] ."<br />\n";
- echo "call: ".$RULES["call"] ."<br />\n";
-
- echo "<hr />\n";
- if($gamestatus == 'play' )
- output_form_calls($me);
-
- /* get time from the last action of the game */
- $result = mysql_query("SELECT mod_date from Game WHERE id='$gameid' " );
- $r = mysql_fetch_array($result,MYSQL_NUM);
- $gameend = time() - strtotime($r[0]);
-
- if($gamestatus == 'play' || $gameend < 60*60*24*7)
- {
- echo "<br />\nA short comment:<input name=\"comment\" type=\"text\" size=\"15\" maxlength=\"100\" />\n";
- echo "<hr />";
- }
-
- echo "<input type=\"submit\" value=\"submit\" />\n";
-
-
- if($mystatus=='gameover' && DB_get_game_status_by_gameid($gameid)=='gameover' )
- {
- echo "<hr />\n";
-
- $session = DB_get_session_by_gameid($gameid);
- $result = mysql_query("SELECT id,create_date FROM Game".
- " WHERE session=$session".
- " ORDER BY create_date DESC".
- " LIMIT 1");
- $r = -1;
- if($result)
- $r = mysql_fetch_array($result,MYSQL_NUM);
-
- if(!$session || $gameid==$r[0])
- {
- /* suggest a new game with the same people in it, just rotated once (unless last game was solo) */
- $names = DB_get_all_names_by_gameid($gameid);
- $type = DB_get_gametype_by_gameid($gameid);
-
- if($type=="solo")
- output_ask_for_new_game($names[0],$names[1],$names[2],$names[3],$gameid);
- else
- output_ask_for_new_game($names[1],$names[2],$names[3],$names[0],$gameid);
- }
- }
-
- echo "</div>\n";
-
/* output game */
/* output extra division in case this game is part of a session */
foreach($hashes as $hash)
{
if($hash == $me)
- echo "$i ";
+ echo "$i \n";
else
- echo "<a href=\"".$host."?me=".$hash."\">$i</a> ";
+ echo "<a href=\"".$host."?me=".$hash."\">$i</a> \n";
$i++;
}
echo "</div>\n";
*/
if( !myisset("in") )
{
- echo "<p> You need to answer the <a href=\"$host?me=$me\">question</a>.</p>";
+ echo "<p class=\"message\"> You need to answer the <a href=\"$host?me=$me\">question</a>.</p>";
DB_set_hand_status_by_hash($me,'start');
}
else
* unless a user tries to cheat ;)
* can also happen if user reloads the page!
*/
- echo "<p> You need to answer the <a href=\"$host?me=$me&in=yes\">questions</a>.</p>";
+ echo "<p class=\"message\"> You need to answer the <a href=\"$host?me=$me&in=yes\">questions</a>.</p>";
DB_set_hand_status_by_hash($me,'init');
}
else
{
- echo "Processing what you selected in the last step...<br />";
+ echo "<p class=\"message\">Processing what you selected in the last step...";
/* check if this sickness needs to be handled first */
$gametype = DB_get_gametype_by_gameid($gameid);
DB_set_sickness_by_hash($me,"nines");
}
- echo " Ok, done with checking, please go to the <a href=\"$host?me=$me\">next step of the setup</a>.<br />";
+ echo " Ok, done with checking, please go to the <a href=\"$host?me=$me\">next step of the setup</a>.</p>";
/* move on to the next stage*/
DB_set_hand_status_by_hash($me,'poverty');
foreach($userids as $user)
{
$To = DB_get_email_by_userid($user);
- $userhash = DB_get_hash_from_gameid_and_userid($gameid,$user);
- if($userhash != $me)
+ $userhash = DB_get_hash_from_gameid_and_userid($gameid,$user); if($userhash != $me)
{
$message = "Everyone finish the questionary in game ".DB_format_gameid($gameid).", ".
"please visit this link now to continue: \n".
* set that one in the Game table
* tell people about it.
*/
- echo "<br /> Checking if someone else selected solo, nines, wedding or poverty.<br />";
+ echo "<div class=\"message\">\n";
+ echo "<p> Checking if someone else selected solo, nines, wedding or poverty.</p>";
/* check if everyone has reached this stage */
$userids = DB_get_all_userid_by_gameid($gameid);
$result = mysql_query("UPDATE Hand_Card SET hand_id='$myhand' WHERE hand_id='$userhand' AND card_id<'27'" );
/* add hidden button with trump in it to get to the next point */
- echo "<div class=\"poverty\">\n";
+ echo "</div><div class=\"poverty\">\n";
echo " <input type=\"hidden\" name=\"exchange\" value=\"-1\" />\n";
echo " <input type=\"hidden\" name=\"trump\" value=\"".$trump."\" />\n";
echo " <input type=\"submit\" class=\"submitbutton\" value=\"select cards to give back\" />\n";
- echo "</div>\n";
+ echo "</div><div>\n";
}
else if(myisset("trump","exchange") && $_REQUEST["trump"]>0 && ($who==$mypos || $who==$mypos*10))
{
else
{
/* else show all trump, have lowest card pre-selected, have hidden setting for */
- echo "<div class=\"poverty\"> you need to get rid of a few cards</div>\n";
+ echo "</div><div class=\"poverty\"> you need to get rid of a few cards</div>\n";
set_gametype($gametype); /* this sets the $CARDS variable */
$mycards = DB_get_hand($me);
display_link_card($card,$PREF["cardset"],$type);
echo " <input type=\"hidden\" name=\"trump\" value=\"".$trump."\" />\n";
echo " <input type=\"submit\" class=\"submitbutton\" value=\"select one card to give back\" />\n";
- echo "</div>\n";
+ echo "</div><div>\n";
}
}
else if($who == $mypos || $who == $mypos*10)
{
- echo "<div class=\"poverty\">\n";
+ echo "</div><div class=\"poverty\">\n";
foreach($userids as $user)
{
$name = DB_get_name_by_userid($user);
}
}
echo "<a href=\"index.php?me=$me&trump=no\">No,way I take those trump...</a> <br />\n";
- echo "</div>\n";
+ echo "</div><div>\n";
echo "Your cards are: <br />\n";
$mycards = DB_get_hand($me);
else
echo "\n <br />";
}
+ echo "</div>\n";
break;
case 'play':
case 'gameover':
/* has the game started? No, then just wait here...*/
if($gamestatus == 'pre')
{
- echo "You finished the setup, but not everyone else finished it... ".
- "so you need to wait for the others. Just wait for the an email... <br />";
+ echo "<p class=\"message\"> You finished the setup, but not everyone else finished it... ".
+ "so you need to wait for the others. Just wait for the an email... </p>";
break; /* not sure this works... the idea is that you can
* only play a card after everyone is ready to play */
}
date_default_timezone_set($zone);
/* check if first schweinchen has been played */
- if($r[0] == 19 || $r[0] == 20 )
+ if( $GAME["schweinchen"] && ($r[0] == 19 || $r[0] == 20) )
$GAME["schweinchen"]++;
/* save card to be able to find the winner of the trick later */
$playid = DB_play_card($trickid,$handcardid,$sequence);
/* check for schweinchen */
- if($card == 19 || $card == 20 )
+ if($GAME["schweinchen"] && ($card == 19 || $card == 20) )
{
- $GAME["schweinchen"]++;
+ $GAME["schweinchen"]++; // count how many have been played including this one
if($GAME["schweinchen"]==3 && $RULES["schweinchen"]=="second" )
DB_insert_comment("Schweinchen! ",$playid,$myid);
if($RULES["schweinchen"]=="both" )
default:
myerror("error in testing the status");
}
+ /* output left menu */
+ display_user_menu();
+
+ /* output right menu */
+
+ /* display rule set for this game */
+ echo "<div class=\"gameinfo\">\n";
+
+ if($gamestatus != 'pre')
+ echo " Gametype: $GT <br />\n";
+
+ echo "Rules: <br />\n";
+ echo "10ofhearts : ".$RULES["dullen"] ."<br />\n";
+ echo "schweinchen: ".$RULES["schweinchen"] ."<br />\n";
+ echo "call: ".$RULES["call"] ."<br />\n";
+
+ echo "<hr />\n";
+ if($gamestatus == 'play' )
+ output_form_calls($me);
+
+ /* get time from the last action of the game */
+ $result = mysql_query("SELECT mod_date from Game WHERE id='$gameid' " );
+ $r = mysql_fetch_array($result,MYSQL_NUM);
+ $gameend = time() - strtotime($r[0]);
+
+ if($gamestatus == 'play' || $gameend < 60*60*24*7)
+ {
+ echo "<br />\nA short comment:<input name=\"comment\" type=\"text\" size=\"15\" maxlength=\"100\" />\n";
+ echo "<hr />";
+ }
+
+ echo "<input type=\"submit\" value=\"submit\" />\n";
+
+
+ if($mystatus=='gameover' && DB_get_game_status_by_gameid($gameid)=='gameover' )
+ {
+ echo "<hr />\n";
+
+ $session = DB_get_session_by_gameid($gameid);
+ $result = mysql_query("SELECT id,create_date FROM Game".
+ " WHERE session=$session".
+ " ORDER BY create_date DESC".
+ " LIMIT 1");
+ $r = -1;
+ if($result)
+ $r = mysql_fetch_array($result,MYSQL_NUM);
+
+ if(!$session || $gameid==$r[0])
+ {
+ /* suggest a new game with the same people in it, just rotated once (unless last game was solo) */
+ $names = DB_get_all_names_by_gameid($gameid);
+ $type = DB_get_gametype_by_gameid($gameid);
+
+ if($type=="solo")
+ output_ask_for_new_game($names[0],$names[1],$names[2],$names[3],$gameid);
+ else
+ output_ask_for_new_game($names[1],$names[2],$names[3],$names[0],$gameid);
+ }
+ }
+
+ echo "</div>\n";
+
+
echo "</form>\n";
output_footer();
DB_close();
display_user_menu();
+ echo "<div class=\"user\">";
echo "<h4>These are all your games:</h4>\n";
echo "<p>Session: <br />\n";
echo "<span class=\"gamestatuspre\"> p </span> = pre-game phase ";
$names = DB_get_all_names();
echo "<h4>Registered players:</h4>\n<p>\n";
echo implode(", ",$names)."\n";
- echo "</p>\n";
+ echo "</p>\n</div>";
}
}
else