X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=e-DoKo.git;a=blobdiff_plain;f=index.php;h=f0a8e7451d185a1a28e45021b574282073293040;hp=4b5ca5cb25f3e22b3aaed4092bd52ec3f031dd48;hb=9f3cec73181b5ac35486fea031828b11468bceb9;hpb=73a6f86691f53d8eb6339b5bb5e9156822cc7e54 diff --git a/index.php b/index.php index 4b5ca5c..f0a8e74 100644 --- a/index.php +++ b/index.php @@ -6,8 +6,10 @@ include_once("output.php"); /* html output only */ include_once("db.php"); /* database only */ include_once("functions.php"); /* the rest */ +/* make sure that user has set all variables in config.php */ config_check(); +/* open the database */ if(DB_open()<0) { output_header(); @@ -17,24 +19,38 @@ if(DB_open()<0) exit(); } -/* start a session, if it is not already running */ +/* start a session, if it is not already running. + * This way people don't have to log in all the times. + * The session variables can also be read out from different + * php scripts, so that the code can be easily split up across several files + */ session_start(); /* done major error checking, output header of HTML page */ output_header(); -/* check if we want to start a new game */ +/* The rest of the file consists of handling user input. + * The user sends information via html GET and POST variables, + * the script checks if these are set via "myisset" + * which can check a list of variables. + */ + +/* does the user want to log out? */ if(myisset("logout")) { + /* distroy the session */ session_unset(); session_destroy(); $_SESSION = array(); + echo "
"; } +/* check if we want to start a new game */ else if(myisset("new")) { output_status(); + /* user needs to be logged in to do this */ if( isset($_SESSION["name"]) ) { $names = DB_get_all_names(); @@ -52,6 +68,7 @@ else if(myisset("new")) else if( myisset("PlayerA", "PlayerB","PlayerC","PlayerD","dullen","schweinchen","call" )) { output_status(); + /* user needs to be logged in */ if( !isset($_SESSION["name"]) ) { echo " "; @@ -61,12 +78,13 @@ else if( myisset("PlayerA", "PlayerB","PlayerC","PlayerD","dullen","schweinchen" /* get my name */ $name = $_SESSION["name"]; + /* the names of the four players */ $PlayerA = $_REQUEST["PlayerA"]; $PlayerB = $_REQUEST["PlayerB"]; $PlayerC = $_REQUEST["PlayerC"]; $PlayerD = $_REQUEST["PlayerD"]; - /* check if user is in the game */ + /* the person who sets up the game has to be one of the players */ if(!in_array($name,array($PlayerA,$PlayerB,$PlayerC,$PlayerD))) { echo " "; @@ -74,16 +92,19 @@ else if( myisset("PlayerA", "PlayerB","PlayerC","PlayerD","dullen","schweinchen" DB_close(); exit(); } - + + /* what rules were selected */ $dullen = $_REQUEST["dullen"]; $schweinchen = $_REQUEST["schweinchen"]; $call = $_REQUEST["call"]; - $EmailA = DB_get_email_by_name($PlayerA); - $EmailB = DB_get_email_by_name($PlayerB); - $EmailC = DB_get_email_by_name($PlayerC); - $EmailD = DB_get_email_by_name($PlayerD); + /* get the emails addresses of the players */ + $EmailA = DB_get_email('name',$PlayerA); + $EmailB = DB_get_email('name',$PlayerB); + $EmailC = DB_get_email('name',$PlayerC); + $EmailD = DB_get_email('name',$PlayerD); + /* this is used to check if the player names are all ok */ if($EmailA=="" || $EmailB=="" || $EmailC=="" || $EmailD=="") { echo "couldn't find one of the names, please start a new game"; @@ -92,10 +113,11 @@ else if( myisset("PlayerA", "PlayerB","PlayerC","PlayerD","dullen","schweinchen" exit(); } - $useridA = DB_get_userid_by_name($PlayerA); - $useridB = DB_get_userid_by_name($PlayerB); - $useridC = DB_get_userid_by_name($PlayerC); - $useridD = DB_get_userid_by_name($PlayerD); + /* get user ids */ + $useridA = DB_get_userid('name',$PlayerA); + $useridB = DB_get_userid('name',$PlayerB); + $useridC = DB_get_userid('name',$PlayerC); + $useridD = DB_get_userid('name',$PlayerD); /* create random numbers */ $randomNR = create_array_of_random_numbers($useridA,$useridB,$useridC,$useridD); @@ -103,6 +125,7 @@ else if( myisset("PlayerA", "PlayerB","PlayerC","PlayerD","dullen","schweinchen" /* create game */ $followup = NULL; + /* is this game a follow up in an already started session? */ if(myisset("followup") ) { $followup= $_REQUEST["followup"]; @@ -131,7 +154,7 @@ else if( myisset("PlayerA", "PlayerB","PlayerC","PlayerD","dullen","schweinchen" "'$ruleset','$session' ,NULL)"); else { - /* get max session */ + /* get max session and start a new one */ $max = DB_get_max_session(); $max++; mysql_query("UPDATE Game SET session='".$max."' WHERE id=".DB_quote_smart($followup)); @@ -139,7 +162,7 @@ else if( myisset("PlayerA", "PlayerB","PlayerC","PlayerD","dullen","schweinchen" "'$ruleset','$max' ,NULL)"); } } - else + else /* no follow up, start a new session */ { /* get ruleset information or create new one */ $ruleset = DB_get_ruleset($dullen,$schweinchen,$call); @@ -210,7 +233,8 @@ else if( myisset("PlayerA", "PlayerB","PlayerC","PlayerD","dullen","schweinchen" echo " \n"; } - } /* end set up a new game */ + /* end set up a new game */ + } /* cancel a game, if nothing has happend in the last N minutes */ else if(myisset("cancel","me")) { @@ -219,7 +243,7 @@ else if(myisset("cancel","me")) $me = $_REQUEST["me"]; /* test for valid ID */ - $myid = DB_get_userid_by_hash($me); + $myid = DB_get_userid('hash',$me); if(!$myid) { echo "Can't find you in the database, please check the url.An email has already been sent out.
\n"; @@ -322,7 +347,7 @@ else if(myisset("me")) $me = $_REQUEST["me"]; /* test for valid ID */ - $myid = DB_get_userid_by_hash($me); + $myid = DB_get_userid('hash',$me); if(!$myid) { echo "Can't find you in the database, please check the url.Session:
\n";
@@ -2232,7 +2324,7 @@ else if( myisset("email","password") || isset($_SESSION["name"]) )
echo "(it's your turn)\n";
else
{
- $name = DB_get_name_by_userid($r[3]);
+ $name = DB_get_name('userid',$r[3]);
$gameid = $r[1];
if(DB_get_reminder($r[3],$gameid)==0)
if(time()-strtotime($r[2]) > 60*60*24*7)
@@ -2248,10 +2340,20 @@ else if( myisset("email","password") || isset($_SESSION["name"]) )
}
}
echo "\n\n";
- $names = DB_get_all_names();
- echo "
\n"; - echo implode(", ",$names)."\n"; - echo "
\n\n"; + echo implode(", ",$names).",...\n"; + echo "
\n"; + + /* display last 5 users that logged on */ + $names = DB_get_names_of_last_logins(5); + echo "\n"; + echo implode(", ",$names).",...\n"; + echo "
\n"; + + echo "\n"; } } else @@ -2266,6 +2368,8 @@ else if( myisset("email","password") || isset($_SESSION["name"]) ) /* default login page */ else { + /* this outputs the default home page with some extra statistics on it */ + $pre[0]=0;$game[0]=0;$done[0]=0; $r=mysql_query("SELECT COUNT(id) FROM Game GROUP BY status"); if($r) {