2 /* Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 Arun Persaud <arun@nubati.net>
4 * This file is part of e-DoKo.
6 * e-DoKo is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
11 * e-DoKo is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with e-DoKo. If not, see <http://www.gnu.org/licenses/>.
21 /* make sure that we are not called from outside the scripts,
22 * use a variable defined in config.php to check this
27 /* you should only get here from a game page, so $me should be set */
30 echo "Hmm, you really shouldn't mess with the urls.<br />\n";
34 $me = $_REQUEST["me"];
36 /* test for valid ID */
37 $myid = DB_get_userid('hash',$me);
40 echo "Can't find you in the database, please check the url.<br />\n";
41 echo "perhaps the game has been canceled, check by login in <a href=\"$INDEX\">here</a>.";
45 DB_update_user_timestamp($myid);
47 /* get some information from the DB */
48 $gameid = DB_get_gameid_by_hash($me);
49 $myname = DB_get_name('hash',$me);
51 /* check if game really is old enough to be canceled */
52 $r = DB_query_array("SELECT mod_date from Game WHERE id=".DB_quote_smart($gameid) );
53 if(time()-strtotime($r[0]) > 60*60*24*30) /* = 1 month */
55 /* email to all players */
56 $userids = DB_get_all_userid_by_gameid($gameid);
57 foreach($userids as $user)
59 set_language($user, 'uid');
60 $message = sprintf(_('Game %s has been canceled since nothing happend for a while and %s requested it.'),DB_format_gameid($gameid),$myname)."\n\n";
62 mymail($user,$gameid, GAME_CANCELED_TIMEOUT, $message);
64 set_language($myid, 'uid');
66 /* set gamestatus to canceled */
67 cancel_game('timedout',$gameid);
69 echo '<p style="background-color:red";>'.
70 sprintf(_('Game %s has been canceled.'),DB_format_gameid($gameid)).
73 else /* game can't be canceled yet */
74 echo "<p>"._('You need to wait longer before you can cancel a game...')."</p>\n";