summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--db.php12
-rw-r--r--index.php86
2 files changed, 87 insertions, 11 deletions
diff --git a/db.php b/db.php
index 88be2a3..45f5eff 100644
--- a/db.php
+++ b/db.php
@@ -236,6 +236,18 @@ function DB_get_hand_status_by_userid_and_gameid($uid,$gid)
return 0;
}
+function DB_get_sickness_by_userid_and_gameid($uid,$gid)
+{
+ $result = mysql_query("SELECT sickness FROM Hand WHERE user_id=".DB_quote_smart($uid).
+ " AND game_id=".DB_quote_smart($gid));
+ $r = mysql_fetch_array($result,MYSQL_NUM);
+
+ if($r)
+ return $r[0];
+ else
+ return 0;
+}
+
function DB_get_gameid_by_hash($hash)
{
$result = mysql_query("SELECT game_id FROM Hand WHERE hash=".DB_quote_smart($hash));
diff --git a/index.php b/index.php
index 36b59ef..5bc9e45 100644
--- a/index.php
+++ b/index.php
@@ -159,7 +159,7 @@ else if(myisset("me"))
foreach($userids as $user)
{
$To = DB_get_email_by_userid($user);
- mymail($To,"[DoKo] game over",$message);
+ mymail($To,"[DoKo] game cancled",$message);
}
/* delete everything from the dB */
@@ -186,9 +186,9 @@ else if(myisset("me"))
break;
case 'check':
- echo "checking for solo...<br />".
+ echo "checking if you selected solo or nines...<br />".
" if you have a wedding, please send an email to the other players. <br />".
- " if you have poverty you need to play a normal game,sorry...<br />".
+ " if you have poverty you need to play a normal game,sorry...<br />".
" At the moment you need to reload this page to finish the setup.<br />";
if(!myisset("solo","wedding","poverty","nines") )
{
@@ -213,6 +213,7 @@ else if(myisset("me"))
{}/* do nothing */
else
{
+ /* this solo comes first */
DB_set_gametype_by_gameid($gameid,"solo");
DB_set_startplayer_by_gameid($gameid,$mypos);
DB_set_solo_by_gameid($gameid,$_REQUEST["solo"]);
@@ -247,7 +248,7 @@ else if(myisset("me"))
* set that one in the Game table, delete other ones form Hand table
* tell people about it.
*/
- echo "<br />poverty not handeled at the moment... you need to play a normal game<br />".
+ echo "<br />checking if someone else selected solo or nines... wedding and poverty not handled at the moment<br />".
"reload this page to finish the setup <br />";
/* only set this after all poverty, etc. are handeled*/
@@ -262,8 +263,71 @@ else if(myisset("me"))
if($ok)
{
- /* TODO: check what kind of game we are playing */
DB_set_game_status_by_gameid($gameid,'play');
+
+ /* check what kind of game we are playing */
+ $gametype = DB_get_gametype_by_gameid($gameid);
+ $startplayer = DB_get_startplayer_by_gameid($gameid);
+
+ /* nines? */
+ $nines = 0;
+ /* check for nines */
+ foreach($userids as $user)
+ {
+ if(DB_get_sickness_by_userid_and_gameid($user,$gameid) == 'nines')
+ $nines = 1;
+ }
+
+ /* gamestatus == normal, => cancel game */
+ if($nines && $gamestatus == "normal")
+ {
+ /* TODO: set game type to nines to be able to keep statistics */
+
+ $message = "Hello, \n\n".
+ "the game has been cancled becausee someone has five or more nines.\n";
+
+ $userids = DB_get_all_userid_by_gameid($gameid);
+ foreach($userids as $user)
+ {
+ $To = DB_get_email_by_userid($user);
+ mymail($To,"[DoKo] game cancled",$message);
+ }
+
+ /* delete everything from the dB */
+ DB_cancel_game($me);
+
+ }
+
+ /* poverty? */
+ $poverty = 0;
+
+ /* check players for poverty */
+ foreach($userids as $user)
+ {
+ if(DB_get_sickness_by_userid_and_gameid($user,$gameid) == 'poverty')
+ {
+ $poverty++;
+ $name = DB_get_name_by_userid($user);
+ echo "$name has a Vorbehalt. <br />";
+ }
+ }
+ /* if gamestatus == normal, set poverty or dpovert (in case two people have poverty) */
+
+ /* wedding? */
+ $wedding = 0;
+ /* check players for wedding */
+ foreach($userids as $user)
+ {
+ if(DB_get_sickness_by_userid_and_gameid($user,$gameid) == 'wedding')
+ {
+ $wedding++;
+ $name = DB_get_name_by_userid($user);
+ echo "$name has a Vorbehalt. <br />" ;
+ }
+ }
+
+ /* if gamestatus == normal, set wedding */
+
}
break;
@@ -290,7 +354,9 @@ else if(myisset("me"))
set_gametype($gametype);
-
+ /* get some infos about the game */
+ $gamestatus = DB_get_game_status_by_gameid($gameid);
+
/* display useful things in divs */
/* display local time */
@@ -308,7 +374,8 @@ else if(myisset("me"))
};
echo "</table>\n</div>\n";
- display_status($GT);
+ if($gamestatus != 'pre')
+ display_status($GT);
/* display links to the users status page */
$result = mysql_query("SELECT email,password from User WHERE id='$myid'" );
@@ -320,7 +387,6 @@ else if(myisset("me"))
/* end display useful things*/
/* has the game started? No, then just wait here...*/
- $gamestatus = DB_get_game_status_by_gameid($gameid);
if($gamestatus == 'pre')
{
echo "you need to wait for the others... <br />";
@@ -360,8 +426,6 @@ else if(myisset("me"))
"LEFT JOIN Comment ON Play.id=Comment.play_id ".
"WHERE Trick.game_id='".$gameid."' ".
"ORDER BY Trick.id,sequence ASC");
-
-
$trickNR = 1;
$lasttrick = DB_get_max_trickid($gameid);
@@ -607,7 +671,7 @@ else if(myisset("me"))
echo "Your cards are: <br />\n";
echo "<form action=\"index.php?me=$me\" method=\"post\">\n";
- /* do we have to follow suit? */
+ /* do we have to follow suite? */
$followsuit = 0;
if(have_suit($mycards,$firstcard))
$followsuit = 1;