NEW FEATURE: added caching to stats.php
[e-DoKo.git] / include / cancelgame.php
1 <?php
2 /* make sure that we are not called from outside the scripts, 
3  * use a variable defined in config.php to check this
4  */
5 if(!isset($HOST))
6   exit;
7
8 output_status();
9
10 if(!myisset("me"))
11   {
12     echo "Hmm, you really shouldn't mess with the urls.<br />\n";
13     output_footer();
14     DB_close();
15     exit();
16   }
17
18 $me = $_REQUEST["me"];
19
20 /* test for valid ID */
21 $myid = DB_get_userid('hash',$me);
22 if(!$myid)
23   {
24     echo "Can't find you in the database, please check the url.<br />\n";
25     echo "perhaps the game has been canceled, check by login in <a href=\"$INDEX\">here</a>.";
26     output_footer();
27     DB_close();
28     exit();
29   }
30
31 DB_update_user_timestamp($myid);
32
33 /* get some information from the DB */
34 $gameid   = DB_get_gameid_by_hash($me);
35 $myname   = DB_get_name('hash',$me);
36
37 /* check if game really is old enough to be canceled */
38 $r = DB_query_array("SELECT mod_date from Game WHERE id='$gameid' " );
39 if(time()-strtotime($r[0]) > 60*60*24*30) /* = 1 month */
40   {
41     $message = "Hello, \n\n".
42       "Game ".DB_format_gameid($gameid).
43       " has been canceled since nothing happend for a while and $myname requested it.\n";
44
45     $userids = DB_get_all_userid_by_gameid($gameid);
46     foreach($userids as $user)
47       {
48         $To = DB_get_email('userid',$user);
49         mymail($To,$EmailName."game ".DB_format_gameid($gameid)." canceled (timed out)",$message);
50       }
51
52     /* delete everything from the dB */
53     DB_cancel_game($me);
54
55     echo "<p style=\"background-color:red\";>Game ".DB_format_gameid($gameid).
56       " has been canceled.<br /><br /></p>";
57   }
58  else
59    echo "<p>You need to wait longer before you can cancel a game...</p>\n";
60 ?>