summaryrefslogtreecommitdiffstats
path: root/include/cancelgame.php
diff options
context:
space:
mode:
Diffstat (limited to 'include/cancelgame.php')
-rw-r--r--include/cancelgame.php53
1 files changed, 53 insertions, 0 deletions
diff --git a/include/cancelgame.php b/include/cancelgame.php
new file mode 100644
index 0000000..9f86142
--- /dev/null
+++ b/include/cancelgame.php
@@ -0,0 +1,53 @@
+<?php
+/* make sure that we are not called from outside the scripts,
+ * use a variable defined in config.php to check this
+ */
+if(!isset($HOST))
+ exit;
+
+output_status();
+
+$me = $_REQUEST["me"];
+
+/* test for valid ID */
+$myid = DB_get_userid('hash',$me);
+if(!$myid)
+ {
+ echo "Can't find you in the database, please check the url.<br />\n";
+ echo "perhaps the game has been canceled, check by login in <a href=\"$INDEX\">here</a>.";
+ output_footer();
+ 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('hash',$me);
+
+/* check if game really is old enough to be canceled */
+$result = mysql_query("SELECT mod_date from Game WHERE id='$gameid' " );
+$r = mysql_fetch_array($result,MYSQL_NUM);
+if(time()-strtotime($r[0]) > 60*60*24*30) /* = 1 month */
+ {
+ $message = "Hello, \n\n".
+ "Game ".DB_format_gameid($gameid).
+ " has been canceled 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('userid',$user);
+ mymail($To,$EmailName."game ".DB_format_gameid($gameid)." canceled (timed out)",$message);
+ }
+
+ /* delete everything from the dB */
+ DB_cancel_game($me);
+
+ echo "<p style=\"background-color:red\";>Game ".DB_format_gameid($gameid).
+ " has been canceled.<br /><br /></p>";
+ }
+ else
+ echo "<p>You need to wait longer before you can cancel a game...</p>\n";
+?> \ No newline at end of file