added copyright notice and GPL reference
[e-DoKo.git] / index.php
1 <?php
2 /* Copyright 2006, 2007, 2008, 2009, 2010 Arun Persaud <arun@nubati.net>
3  *
4  *   This file is part of e-DoKo.
5  *
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.
10  *
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.
15  *
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/>.
18  *
19  */
20
21 error_reporting(E_ALL);
22
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
27  */
28 session_start();
29
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 */
34
35 /* make sure that user has set all variables in config.php */
36 config_check();
37
38 /* open the database */
39 if(DB_open()<0)
40   {
41     output_header();
42     echo "Database error, can't connect... Please wait a while and try again. ".
43       "If the problem doesn't go away feel free to contact $ADMIN_NAME at $ADMIN_EMAIL.";
44     output_footer();
45     exit();
46   }
47
48 /* done major error checking, output5B header of HTML page */
49 output_header();
50
51 /* The rest of the file consists of handling user input.
52  * The user sends information via html GET and POST variables,
53  * and the action variable tells the prog what the user wants to do
54  */
55 if(myisset("action"))
56   $action=$_REQUEST['action'];
57 else
58   $action=""; /* so that we can use a default option below */
59
60 switch($action)
61   {
62   case 'new':
63     require './include/newgame.php';
64     break;
65   case 'cancel':
66     require './include/cancelgame.php';
67     break;
68   case 'reminder':
69     require './include/reminder.php';
70     break;
71   case 'logout':
72     require './include/logout.php';
73     require './include/welcome.php';
74     break;
75   case 'login':
76     require './include/login.php';
77     require './include/user.php';
78     break;
79   case 'register':
80     require './include/register.php';
81     break;
82   case 'prefs':
83     require './include/preferences.php';
84     break;
85   case 'game':
86     require './include/game.php';
87     break;
88   case 'stats':
89     if(isset($_SESSION["name"]))
90       require './include/stats.php';
91     else
92       require './include/welcome.php';
93     break;
94   default:
95     if(isset($_SESSION["name"]))
96       require './include/user.php';
97     else
98       require './include/welcome.php';
99   }
100
101 /* ask for login or display login info, needs to go at the end, so that we have the
102  * session-variable already set.
103  */
104 output_status();
105
106 output_footer();
107
108 DB_close();
109
110 /*
111  *Local Variables:
112  *mode: php
113  *mode: hs-minor
114  *End:
115  */
116 ?>
117
118