LAYOUT: move to compiled less to make things faster
[e-DoKo.git] / include / cancelgame.php
index 9f86142d66c0ec9b99227afd0e1fba70610fc57e..d9b69b3c96d05a038bba5e092e9c925f39c4eff8 100644 (file)
@@ -1,11 +1,35 @@
 <?php
-/* make sure that we are not called from outside the scripts, 
+/* Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Arun Persaud <arun@nubati.net>
+ *
+ *   This file is part of e-DoKo.
+ *
+ *   e-DoKo is free software: you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation, either version 3 of the License, or
+ *   (at your option) any later version.
+ *
+ *   e-DoKo is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with e-DoKo.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+/* 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();
+/* 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"];
 
@@ -15,9 +39,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,27 +49,27 @@ $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)
       {
-       $To = DB_get_email('userid',$user);
-       mymail($To,$EmailName."game ".DB_format_gameid($gameid)." canceled (timed out)",$message);
+        set_language($user, 'uid');
+       $message = sprintf(_('Game %s has been canceled since nothing happend for a while and %s requested it.'),DB_format_gameid($gameid),$myname)."\n\n";
+
+       mymail($user,$gameid, GAME_CANCELED_TIMEOUT, $message);
       }
+    set_language($myid, 'uid');
 
-    /* delete everything from the dB */
-    DB_cancel_game($me);
+    /* set gamestatus to canceled */
+    cancel_game('timedout',$gameid);
 
-    echo "<p style=\"background-color:red\";>Game ".DB_format_gameid($gameid).
-      " has been canceled.<br /><br /></p>";
+    echo '<p style="background-color:red";>'.
+      sprintf(_('Game %s has been canceled.'),DB_format_gameid($gameid)).
+      "<br /><br /></p>\n";
   }
- else
-   echo "<p>You need to wait longer before you can cancel a game...</p>\n";
+ 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