diff options
author | arun <arun@nubati.net> | 2006-12-12 11:55:39 +0000 |
---|---|---|
committer | arun <arun> | 2006-12-12 11:55:39 +0000 |
commit | be3e7ed509f7fd3f2009b1ad06554a0c07e1a781 (patch) | |
tree | 9cac8e9e038df7387ed0eabb157536e5ae5464bf | |
parent | 320ebe96e21e08d5fad1a4ccbef241d5defd92bc (diff) | |
download | e-DoKo-be3e7ed509f7fd3f2009b1ad06554a0c07e1a781.tar.gz e-DoKo-be3e7ed509f7fd3f2009b1ad06554a0c07e1a781.tar.bz2 e-DoKo-be3e7ed509f7fd3f2009b1ad06554a0c07e1a781.zip |
players should get emails again, if it is there turn
-rw-r--r-- | db.php | 11 | ||||
-rw-r--r-- | functions.php | 15 | ||||
-rw-r--r-- | index.php | 49 |
3 files changed, 48 insertions, 27 deletions
@@ -59,6 +59,17 @@ function DB_get_email_by_name($name) return ""; } +function DB_get_email_by_hash($hash) +{ + $result = mysql_query("SELECT User.email FROM User LEFT JOIN Hand ON Hand.user_id=User.id WHERE Hand.hash=".DB_quote_smart($hash).""); + $r = mysql_fetch_array($result,MYSQL_NUM); + + if($r) + return $r[0]; + else + return ""; +} + function DB_get_userid_by_name($name) { $result = mysql_query("SELECT id FROM User WHERE fullname=".DB_quote_smart($name)); diff --git a/functions.php b/functions.php index abf2b82..390f6c9 100644 --- a/functions.php +++ b/functions.php @@ -435,4 +435,19 @@ function return_timezone($offset) return $zone; } +function output_form_for_new_game() +{ +?> + <p>Please add 4 names, please make sure that the names are correct! </p> + <form action="index.php" method="post"> + Name: <input name="PlayerA" type="text" size="10" maxlength="20" /> + Name: <input name="PlayerB" type="text" size="10" maxlength="20" /> + Name: <input name="PlayerC" type="text" size="10" maxlength="20" /> + Name: <input name="PlayerD" type="text" size="10" maxlength="20" /> + + <input type="submit" value="start game" /> + </form> +<?php +} + ?>
\ No newline at end of file @@ -52,17 +52,7 @@ DB_open(); /* check if we want to start a new game */ if(isset($_REQUEST["new"])) { -?> - <p>Please add 4 names, please make sure that the names are correct! </p> - <form action="index.php" method="post"> - Name: <input name="PlayerA" type="text" size="10" maxlength="20" /> - Name: <input name="PlayerB" type="text" size="10" maxlength="20" /> - Name: <input name="PlayerC" type="text" size="10" maxlength="20" /> - Name: <input name="PlayerD" type="text" size="10" maxlength="20" /> - - <input type="submit" value="start game" /> - </form> -<?php + output_form_for_new_game(); } /* end start a new game */ @@ -108,7 +98,7 @@ else if( isset($_REQUEST["PlayerA"]) && mysql_query("INSERT INTO Game VALUES (NULL, NULL, '$randomNRstring', NULL, NULL,'pre', NULL ,NULL)"); $game_id = mysql_insert_id(); - + /* create hash */ $hashA = md5("AGameOfDoko".$game_id.$PlayerA.$EmailA); $hashB = md5("AGameOfDoko".$game_id.$PlayerB.$EmailB); $hashC = md5("AGameOfDoko".$game_id.$PlayerC.$EmailC); @@ -138,7 +128,7 @@ else if( isset($_REQUEST["PlayerA"]) && for($i=36;$i<48;$i++) mysql_query("INSERT INTO Hand_Card VALUES (NULL, '$hand_idD', '".$randomNR[$i]."', 'false')"); - /* send out email, check for error with email */ + /* send out email, TODO: check for error with email */ $message = "\n". "you are invited to play a game of DoKo (that is to debug the program ;).\n". "Place comments and bug reports here:\n". @@ -169,20 +159,19 @@ else if(isset($_REQUEST["me"])) $me = $_REQUEST["me"]; $myid = DB_get_userid_by_hash($me); - if(!$myid) { echo "Can't find you in the database, please check the url.<br />\n"; echo "perhaps the game has been cancled."; - exit(); + exit(); } DB_update_user_timestamp($myid); + + /* get some information from the DB */ + $gameid = DB_get_gameid_by_hash($me); $myname = DB_get_name_by_hash($me); $mystatus = DB_get_status_by_hash($me); - - /* get game id */ - $gameid = DB_get_gameid_by_hash($me); switch($mystatus) { @@ -190,7 +179,6 @@ else if(isset($_REQUEST["me"])) check_want_to_play($me); DB_set_hand_status_by_hash($me,'init'); break; - case 'init': if( !isset($_REQUEST["in"]) || !isset($_REQUEST["update"])) { @@ -201,7 +189,7 @@ else if(isset($_REQUEST["me"])) { if($_REQUEST["in"] == "no") { - echo "TODO: email everyone that the game has been canceld<br />"; + echo "TODO: email everyone that the game has been canceled.<br />"; /*something like for($i=0;$i<4;$i++) { @@ -296,7 +284,7 @@ else if(isset($_REQUEST["me"])) display_news(); display_status(); - $gamestatus =DB_get_game_status_by_gameid($gameid); + $gamestatus = DB_get_game_status_by_gameid($gameid); if($gamestatus == 'pre') { echo "you need to wait for the others... <br />"; @@ -325,17 +313,17 @@ else if(isset($_REQUEST["me"])) $lasttrick = DB_get_max_trickid($gameid); $play = array(); /* needed to calculate winner later */ - $seq=1; - $pos=0; + $seq = 1; + $pos = 0; echo "\n<ul class=\"oldtrick\">\n"; echo " <li> Hello $myname! History: </li>\n"; while($r = mysql_fetch_array($result,MYSQL_NUM)) { - $seq = $r[3]; - $pos = $r[2]; - $trick = $r[5]; + $seq = $r[3]; + $pos = $r[2]; + $trick = $r[5]; $comment = $r[6]; if($trick!=$lasttrick && $seq==1) @@ -473,7 +461,14 @@ else if(isset($_REQUEST["me"])) } if($next==5) $next=1; - echo "TODO: email next player at pos $next <br />"; + /* email next player */ + $next_hash = DB_get_hash_from_game_and_pos($gameid,$next); + $email = DB_get_email_by_hash($next_hash); + + $message .= "It's your turn now.\n". + "Use this link to play a card: ".$host."?me=".$next_hash."\n\n" ; + mymail($email,"[DoKo-debug] a card has been played",$message); + if($debug) echo "DEBUG:<a href=\"index.php?me=".DB_get_hash_from_game_and_pos($gameid,$next). "\"> next player </a> <br />\n"; |