2 /* Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 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 error_reporting(E_ALL);
23 /* start a session, if it is not already running.
24 * This way people don't have to log in all the times.
25 * The session variables can also be read out from different
26 * php scripts, so that the code can be easily split up across several files
30 include_once("config.php"); /* needs to be first in list, since other includes use this */
31 include_once("./include/output.php"); /* html output only */
32 include_once("./include/db.php"); /* database only */
33 include_once("./include/functions.php"); /* the rest */
35 /* make sure that user has set all variables in config.php */
38 /* open the database */
45 echo "Database error, can't connect... Please wait a while and try again. ".
46 "If the problem doesn't go away feel free to contact $ADMIN_NAME at $ADMIN_EMAIL.";
47 else if ($DBopen == -2)
48 echo 'Wrong database version, please update your database using the update.php script.';
54 /**** localization ****/
55 /* needs to be in front of output_header, but we don't know the users preferences at this time,
56 * so we go by the session variable or if language is set
59 $language = detectlanguage();
61 /* check if default in array of supported languages, else default to english */
62 $supported_languages = array ('en','de');
64 if ( !in_array($language, $supported_languages) )
67 /* override with explicit request from user */
68 if(myisset('language'))
69 $language = $_REQUEST['language'];
70 else if(isset($_SESSION['language']))
71 $language = $_SESSION['language'];
74 set_language($language);
75 /**** end language ****/
77 /* done major error checking, output header of HTML page */
80 /* The rest of the file consists of handling user input.
81 * The user sends information via html GET and POST variables,
82 * and the action variable tells the prog what the user wants to do
85 $action=$_REQUEST['action'];
87 $action=""; /* so that we can use a default option below */
92 require './include/newgame.php';
95 require './include/cancelgame.php';
98 require './include/reminder.php';
101 require './include/logout.php';
102 require './include/welcome.php';
105 require './include/login.php';
106 require './include/user.php';
109 require './include/register.php';
112 require './include/preferences.php';
115 require './include/game.php';
118 require './include/about.php';
121 if(isset($_SESSION["name"]))
122 require './include/stats.php';
124 require './include/welcome.php';
127 if(isset($_SESSION["name"]))
128 require './include/user.php';
130 require './include/welcome.php';
133 /* ask for login or display login info, needs to go at the end, so that we have the
134 * session-variable already set.