X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=e-DoKo.git;a=blobdiff_plain;f=index.php;h=689a8ceeb161c98c235ffea3221f58876c2f1b8f;hp=4e890fa60e4da03ccdcd4dbd12e2b20341ba8d56;hb=51312acc9682902810edee454471aae1ce59d80c;hpb=81d298869d56d991ba3551b1b1413d3ca195eb86 diff --git a/index.php b/index.php index 4e890fa..689a8ce 100644 --- a/index.php +++ b/index.php @@ -6,431 +6,126 @@
Cards that have a green background have a comment, which you can access by hovering over the card with your mouse ;)
\n"; +error_reporting(E_ALL); -$history=array(); +include_once("config.php"); +include_once("functions.php"); +include_once("db.php"); -/* check for status file and read it, if possible */ +DB_open(); -if(file_exists("status.txt")) - $lines = file("status.txt"); - else - die("no file"); +/***************** M A I N **************************/ /* check if we want to start a new game */ -if( isset($_REQUEST["PlayerA"]) && +if(isset($_REQUEST["new"])) + output_form_for_new_game(); + +/*check if everything is ready to set up a new game */ +else if( isset($_REQUEST["PlayerA"]) && isset($_REQUEST["PlayerB"]) && isset($_REQUEST["PlayerC"]) && - isset($_REQUEST["PlayerD"]) && - isset($_REQUEST["EmailA"]) && - isset($_REQUEST["EmailB"]) && - isset($_REQUEST["EmailC"]) && - isset($_REQUEST["EmailD"]) && sizeof($lines<2)) + isset($_REQUEST["PlayerD"]) ) { $PlayerA = $_REQUEST["PlayerA"]; $PlayerB = $_REQUEST["PlayerB"]; $PlayerC = $_REQUEST["PlayerC"]; $PlayerD = $_REQUEST["PlayerD"]; - $EmailA = $_REQUEST["EmailA"] ; - $EmailB = $_REQUEST["EmailB"] ; - $EmailC = $_REQUEST["EmailC"] ; - $EmailD = $_REQUEST["EmailD"] ; - $hashA = md5("AGameOfDoko".$PlayerA.$EmailA); - $hashB = md5("AGameOfDoko".$PlayerB.$EmailB); - $hashC = md5("AGameOfDoko".$PlayerC.$EmailC); - $hashD = md5("AGameOfDoko".$PlayerD.$EmailD); - - /* send out email, check for error with email */ - + $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); + + if($EmailA=="" || $EmailB=="" || $EmailC=="" || $EmailD=="") + { + echo "couldn't find one of the names, please start a new game"; + 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); + + /* create random numbers */ + $randomNR = create_array_of_random_numbers(); + $randomNRstring = join(":",$randomNR); + + /* create game */ + $followup = NULL; + if(isset($_REQUEST["followup"])) + { + $followup= $_REQUEST["followup"]; + mysql_query("INSERT INTO Game VALUES (NULL, NULL, '$randomNRstring', NULL, NULL,'pre','$followup' ,NULL)"); + } + else + mysql_query("INSERT INTO Game VALUES (NULL, NULL, '$randomNRstring', NULL, NULL,'pre', NULL ,NULL)"); + $game_id = mysql_insert_id(); + + /* create hash */ + $hashA = md5("AGameOfDoko".$game_id.$PlayerA.$EmailA); + $hashB = md5("AGameOfDoko".$game_id.$PlayerB.$EmailB); + $hashC = md5("AGameOfDoko".$game_id.$PlayerC.$EmailC); + $hashD = md5("AGameOfDoko".$game_id.$PlayerD.$EmailD); + + /* create hands */ + mysql_query("INSERT INTO Hand VALUES (NULL,".DB_quote_smart($game_id).",".DB_quote_smart($useridA). + ", ".DB_quote_smart($hashA).", 'start','1',NULL,NULL,NULL,'false','false',NULL)"); + $hand_idA = mysql_insert_id(); + mysql_query("INSERT INTO Hand VALUES (NULL,".DB_quote_smart($game_id).",".DB_quote_smart($useridB). + ", ".DB_quote_smart($hashB).", 'start','2',NULL,NULL,NULL,'false','false',NULL)"); + $hand_idB = mysql_insert_id(); + mysql_query("INSERT INTO Hand VALUES (NULL,".DB_quote_smart($game_id).",".DB_quote_smart($useridC). + ", ".DB_quote_smart($hashC).", 'start','3',NULL,NULL,NULL,'false','false',NULL)"); + $hand_idC = mysql_insert_id(); + mysql_query("INSERT INTO Hand VALUES (NULL,".DB_quote_smart($game_id).",".DB_quote_smart($useridD). + ", ".DB_quote_smart($hashD).", 'start','4',NULL,NULL,NULL,'false','false',NULL)"); + $hand_idD = mysql_insert_id(); + + /* save cards */ + for($i=0;$i<12;$i++) + mysql_query("INSERT INTO Hand_Card VALUES (NULL, '$hand_idA', '".$randomNR[$i]."', 'false')"); + for($i=12;$i<24;$i++) + mysql_query("INSERT INTO Hand_Card VALUES (NULL, '$hand_idB', '".$randomNR[$i]."', 'false')"); + for($i=24;$i<36;$i++) + mysql_query("INSERT INTO Hand_Card VALUES (NULL, '$hand_idC', '".$randomNR[$i]."', 'false')"); + for($i=36;$i<48;$i++) + mysql_query("INSERT INTO Hand_Card VALUES (NULL, '$hand_idD', '".$randomNR[$i]."', 'false')"); + + /* send out email, TODO: check for error with email */ $message = "\n". "you are invited to play a game of DoKo (that is to debug the program ;).\n". "Place comments and bug reports here:\n". @@ -441,605 +136,559 @@ if( isset($_REQUEST["PlayerA"]) && "$PlayerC\n". "$PlayerD\n\n". "If you want to join this game, please follow this link:\n\n". - " ".$host."?a="; + " ".$host."?me="; - mymail($EmailA,"Invite for a game of DoKo","Hello $PlayerA,\n".$message.$hashA); - mymail($EmailB,"Invite for a game of DoKo","Hello $PlayerB,\n".$message.$hashB); - mymail($EmailC,"Invite for a game of DoKo","Hello $PlayerC,\n".$message.$hashC); - mymail($EmailD,"Invite for a game of DoKo","Hello $PlayerD,\n".$message.$hashD); + mymail($EmailA,"You are invited to a game of DoKo","Hello $PlayerA,\n".$message.$hashA); + mymail($EmailB,"You are invited to a game of DoKo","Hello $PlayerB,\n".$message.$hashB); + mymail($EmailC,"You are invited to a game of DoKo","Hello $PlayerC,\n".$message.$hashC); + mymail($EmailD,"You are invited to a game of DoKo","Hello $PlayerD,\n".$message.$hashD); + + } +/* end set up a new game */ + +else if(isset($_REQUEST["me"])) + { + /* handle request from one specifig player, + * the hash is set on a per game base, so first just handle this game + * perhaps also show links to other games in a sidebar + */ - /* read in random.txt */ - if(file_exists("random.txt")) - $random = file("random.txt"); - else - die("no random file"); - - $randomNR = explode( ":", $random[2] ); + $me = $_REQUEST["me"]; + + /* test for valid ID */ + $myid = DB_get_userid_by_hash($me); + if(!$myid) + { + echo "Can't find you in the database, please check the url.your cards are:
\n";
+ foreach($mycards as $card)
+ display_card($card);
+ echo "
these are the games you are playing in:
\n";
+ $result = mysql_query("SELECT hash,game_id from Hand WHERE user_id='$uid' AND status<>'gameover'" );
+ while( $r = mysql_fetch_array($result,MYSQL_NUM))
+ echo "game #".$r[1]."
";
+ echo "
registered players:
\n";
+ foreach ($names as $name)
+ echo "$name
\n";
+ echo "
Want to start a new game? remember 4 names from the list above and visit ". + "this page.
"; } else - echo "can't open file for writing"; - }; - -/* test if a game is running, else output everything for a new game */ -if(sizeof($lines)<2) + { + echo "sorry email and password don't matchno game in progress, please input 4 names and email addresses, please make sure that the addresses are correct!
- + - \n"; - } - } - -/* *** - * * * - * *** - * * * - * *** - * yes? email him his hand, ask for solo, poverty, email every move or every card? - */ - if(isset($_REQUEST["b"])) - { - $b=$_REQUEST["b"]; - - if( ereg("s",$player[$b]["option"]) && $game["init"]<4) - { - echo "just wait for the game to start"; - } - else if( (!isset($_REQUEST["in"])|| !isset($_REQUEST["update"])) && !ereg("i",$player[$b]["option"])) - { - echo "go back to "; - echo " here and fill out the formaehm... at the moment please just answer everything with no, still need to implement this
- \n"; - } - } - } - if(isset($_REQUEST["c"])) - { - $c=$_REQUEST["c"]; - - if(!isset($_REQUEST["solo"])|| !isset($_REQUEST["wedding"])|| !isset($_REQUEST["poverty"]) || !isset($_REQUEST["nines"]) ) - { - echo "go back to "; - echo " here and fill out the formIf you want to play a game of Doppelkopf, you found the right place ;)
+ Please register, in case you haven't done yet
+ or login with you email-address or name and password here:
+
\n";
- /* is it our turn? */
- if($hash[$next]==$me && !isset($_REQUEST["card"]))
- {
- echo "ITS YOUR TURN
\n";
- echo "your cards are:
\n";
- foreach($mycards as $card)
- {
- display_link_card($card,$me);
- }
- }
- else
- { /* not our turn, just show the hand */
- echo "your cards are:
\n";
- foreach($mycards as $card)
- {
- display_card($card);
- }
- }
- echo "