summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorarun <arun@nubati.net>2006-12-12 11:55:39 +0000
committerarun <arun>2006-12-12 11:55:39 +0000
commitbe3e7ed509f7fd3f2009b1ad06554a0c07e1a781 (patch)
tree9cac8e9e038df7387ed0eabb157536e5ae5464bf
parent320ebe96e21e08d5fad1a4ccbef241d5defd92bc (diff)
downloade-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.php11
-rw-r--r--functions.php15
-rw-r--r--index.php49
3 files changed, 48 insertions, 27 deletions
diff --git a/db.php b/db.php
index 7f44350..fde7ab6 100644
--- a/db.php
+++ b/db.php
@@ -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
diff --git a/index.php b/index.php
index 6208038..ea5724a 100644
--- a/index.php
+++ b/index.php
@@ -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";