NEW FEATURE: implement Lance's Schweinchen rule
[e-DoKo.git] / include / cancelgame.php
index 9f86142d66c0ec9b99227afd0e1fba70610fc57e..357d226d9becc6a3b0a86915c5fd075d6094d33a 100644 (file)
@@ -1,12 +1,20 @@
 <?php
-/* make sure that we are not called from outside the scripts, 
+/* 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;
 
+/* display the menu */
 output_status();
 
+/* you should only get here from a game page, so $me should be set */
+if(!myisset("me"))
+  {
+    echo "Hmm, you really shouldn't mess with the urls.<br />\n";
+    return;
+  }
+
 $me = $_REQUEST["me"];
 
 /* test for valid ID */
@@ -15,9 +23,7 @@ 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();
+    return;
   }
 
 DB_update_user_timestamp($myid);
@@ -27,14 +33,14 @@ $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);
+$r = DB_query_array("SELECT mod_date from Game WHERE id='$gameid' " );
 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";
 
+    /* email to all players */
     $userids = DB_get_all_userid_by_gameid($gameid);
     foreach($userids as $user)
       {
@@ -48,6 +54,6 @@ if(time()-strtotime($r[0]) > 60*60*24*30) /* = 1 month */
     echo "<p style=\"background-color:red\";>Game ".DB_format_gameid($gameid).
       " has been canceled.<br /><br /></p>";
   }
- else
+ else /* game can't be canceled yet */
    echo "<p>You need to wait longer before you can cancel a game...</p>\n";
 ?>
\ No newline at end of file