X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=e-DoKo.git;a=blobdiff_plain;f=index.php;h=8acb8715b28289a76a7daf1b048db88c7b85026e;hp=c56560782e144977b467a9fdc3006abc61cf8ff3;hb=c7f38cf790f4fa7b5ded66377dc9d79577a93c4e;hpb=092ae96405d4da11bc392dc92e7e103ce48b6045
diff --git a/index.php b/index.php
index c565607..8acb871 100644
--- a/index.php
+++ b/index.php
@@ -1,7 +1,7 @@
You are now logged out!
\n".
+ "(This will take you back to the home-page)";
}
else if(myisset("new"))
{
if( isset($_SESSION["name"]) )
{
$names = DB_get_all_names();
+ echo "
ERROR: status of session $session couldn't be determined.
";
+ 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)");
@@ -102,7 +123,7 @@ else if(myisset("new"))
{
/* get ruleset information or create new one */
$ruleset = DB_get_ruleset($dullen,$schweinchen,$call);
- if($ruleset <0)
+ if($ruleset <0)
{
myerror("Error defining ruleset: $ruleset");
output_footer();
@@ -112,33 +133,33 @@ else if(myisset("new"))
/* get max session */
$max = DB_get_max_session();
$max++;
-
+
mysql_query("INSERT INTO Game VALUES (NULL, NULL, '$randomNRstring', 'normal', NULL,NULL,'1',NULL,'pre', ".
"'$ruleset','$max' ,NULL)");
}
$game_id = mysql_insert_id();
-
+
/* create hash */
$TIME = (string) time(); /* to avoid collisions */
$hashA = md5("AGameOfDoko".$game_id.$PlayerA.$EmailA.$TIME);
$hashB = md5("AGameOfDoko".$game_id.$PlayerB.$EmailB.$TIME);
$hashC = md5("AGameOfDoko".$game_id.$PlayerC.$EmailC.$TIME);
$hashD = md5("AGameOfDoko".$game_id.$PlayerD.$EmailD.$TIME);
-
+
/* create hands */
mysql_query("INSERT INTO Hand VALUES (NULL,".DB_quote_smart($game_id).",".DB_quote_smart($useridA).
", ".DB_quote_smart($hashA).", 'start','1',NULL,NULL,NULL,NULL)");
- $hand_idA = mysql_insert_id();
+ $hand_idA = mysql_insert_id();
mysql_query("INSERT INTO Hand VALUES (NULL,".DB_quote_smart($game_id).",".DB_quote_smart($useridB).
", ".DB_quote_smart($hashB).", 'start','2',NULL,NULL,NULL,NULL)");
- $hand_idB = mysql_insert_id();
+ $hand_idB = mysql_insert_id();
mysql_query("INSERT INTO Hand VALUES (NULL,".DB_quote_smart($game_id).",".DB_quote_smart($useridC).
", ".DB_quote_smart($hashC).", 'start','3',NULL,NULL,NULL,NULL)");
- $hand_idC = mysql_insert_id();
+ $hand_idC = mysql_insert_id();
mysql_query("INSERT INTO Hand VALUES (NULL,".DB_quote_smart($game_id).",".DB_quote_smart($useridD).
", ".DB_quote_smart($hashD).", 'start','4',NULL,NULL,NULL,NULL)");
$hand_idD = mysql_insert_id();
-
+
/* save cards */
for($i=0;$i<12;$i++)
mysql_query("INSERT INTO Hand_Card VALUES (NULL, '$hand_idA', '".$randomNR[$i]."', 'false')");
@@ -148,7 +169,7 @@ else if(myisset("new"))
mysql_query("INSERT INTO Hand_Card VALUES (NULL, '$hand_idC', '".$randomNR[$i]."', 'false')");
for($i=36;$i<48;$i++)
mysql_query("INSERT INTO Hand_Card VALUES (NULL, '$hand_idD', '".$randomNR[$i]."', 'false')");
-
+
/* 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".
@@ -161,19 +182,19 @@ else if(myisset("new"))
"$PlayerD\n\n".
"If you want to join this game, please follow this link:\n\n".
"".$host."?me=";
-
+
mymail($EmailA,"You are invited to a game of DoKo","Hello $PlayerA,\n".$message.$hashA);
mymail($EmailB,"You are invited to a game of DoKo","Hello $PlayerB,\n".$message.$hashB);
mymail($EmailC,"You are invited to a game of DoKo","Hello $PlayerC,\n".$message.$hashC);
mymail($EmailD,"You are invited to a game of DoKo","Hello $PlayerD,\n".$message.$hashD);
-
- echo "You started a new game. The emails have been sent out!";
+
+ echo "You started a new game. The emails have been sent out!";
} /* end set up a new game */
/* cancle a game, if nothing has happend in the last N minutes */
else if(myisset("cancle","me"))
{
$me = $_REQUEST["me"];
-
+
/* test for valid ID */
$myid = DB_get_userid_by_hash($me);
if(!$myid)
@@ -184,9 +205,9 @@ else if(myisset("cancle","me"))
DB_close();
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);
@@ -197,29 +218,84 @@ else if(myisset("cancle","me"))
if(time()-strtotime($r[0]) > 60*60*24*30) /* = 1 month */
{
$message = "Hello, \n\n".
- "Game ".DB_format_gameid($gameid)." has been cancled since nothing happend for a while and $myname requested it.\n";
-
+ "Game ".DB_format_gameid($gameid).
+ " has been cancled since nothing happend for a while and $myname requested it.\n";
+
$userids = DB_get_all_userid_by_gameid($gameid);
foreach($userids as $user)
{
$To = DB_get_email_by_userid($user);
mymail($To,$EmailName."game ".DB_format_gameid($gameid)." cancled (timed out)",$message);
}
-
+
/* delete everything from the dB */
DB_cancel_game($me);
-
- echo "Game ".DB_format_gameid($gameid)." has been cancled.
";
+
+ echo "Game ".DB_format_gameid($gameid).
+ " has been cancled.
";
}
else
echo "You need to wait longer before you can cancle a game...
\n";
}
+/* send out a reminder */
+else if(myisset("remind","me"))
+ {
+ $me = $_REQUEST["me"];
+
+ /* test for valid ID */
+ $myid = DB_get_userid_by_hash($me);
+ if(!$myid)
+ {
+ echo "Can't find you in the database, please check the url.An email has already been sent out.
\n";
+ }
+ else
+ {
+ DB_set_reminder($r[1],$gameid);
+ mymail($To,$EmailName."Reminder: game ".DB_format_gameid($gameid)." it's your turn",$message);
+
+ echo "Game ".DB_format_gameid($gameid).
+ ": an email has been sent out.
";
+ }
+ }
+ else
+ echo "You need to wait longer before you can send out a reminder...
\n";
+ }
/* handle request from one specific player for one game,
* (the hash is set on a per game base) */
else if(myisset("me"))
{
$me = $_REQUEST["me"];
-
+
/* test for valid ID */
$myid = DB_get_userid_by_hash($me);
if(!$myid)
@@ -236,7 +312,7 @@ else if(myisset("me"))
/* the user had done something, update the timestamp */
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);
@@ -248,7 +324,7 @@ else if(myisset("me"))
/* get prefs and save them */
DB_get_PREF($myid);
/* end set pref */
-
+
/* get rule set for this game */
$result = mysql_query("SELECT * FROM Rulesets".
" LEFT JOIN Game ON Game.ruleset=Rulesets.id ".
@@ -268,9 +344,9 @@ else if(myisset("me"))
$gametype = DB_get_solo_by_gameid($gameid);
$GT = $gametype." ".$GT;
}
-
+
/* does anyone have both foxes */
- $GAME["schweinchen"]=0;
+ $GAME["schweinchen"]=0;
for($i=1;$i<5;$i++)
{
$hash = DB_get_hash_from_game_and_pos($gameid,$i);
@@ -285,69 +361,6 @@ else if(myisset("me"))
/* put everyting in a form */
echo "\n";
output_footer();
DB_close();
exit();
- }
-/* user status page */
+ }
+/* user status page */
else if( myisset("email","password") || isset($_SESSION["name"]) )
{
/* test id and password, should really be done in one step */
@@ -1563,7 +1916,7 @@ else if( myisset("email","password") || isset($_SESSION["name"]) )
$email = DB_get_email_by_name($name);
$password = DB_get_passwd_by_name($name);
};
-
+
if(myisset("forgot"))
{
$ok = 1;
@@ -1571,12 +1924,12 @@ else if( myisset("email","password") || isset($_SESSION["name"]) )
$myid = DB_get_userid_by_email($email);
if(!$myid)
$ok = 0;
-
+
if($ok)
{
/* check how many entries in recovery table */
$number = DB_get_number_of_passwords_recovery($myid);
-
+
/* if less than N recent ones, add a new one and send out email */
if( $number < 5 )
{
@@ -1586,11 +1939,11 @@ else if( myisset("email","password") || isset($_SESSION["name"]) )
" 5 times during a day.