Please add 4 names, please make sure that the names are correct!
-
-\n";
- echo "perhaps the game has been cancled.";
- exit();
- }
-
- DB_update_user_timestamp($myid);
- $myname = DB_get_name_by_hash($me);
- $mystatus = DB_get_status_by_hash($me);
-
- /* get game id */
- $gameid = DB_get_gameid_by_hash($me);
-
- switch($mystatus)
- {
- case 'start':
- check_want_to_play($me);
- DB_set_hand_status_by_hash($me,'init');
- break;
-
- case 'init':
- if( !isset($_REQUEST["in"]) || !isset($_REQUEST["update"]))
- {
- DB_set_hand_status_by_hash($me,'start');
- echo "you need to answer both question";
- }
- else
- {
- if($_REQUEST["in"] == "no")
- {
- echo "TODO: email everyone that the game has been canceld ";
- /*something like
- for($i=0;$i<4;$i++)
- {
- $message = "Hello ".$player[$hash[$i]]["name"].",\n\n".
- "the game has been canceled due to the request of one of the players.\n";
- mymail($player[$hash[$i]]["email"],"[DoKo-Debug] the game has been canceled",$message);
- }
- */
- DB_cancel_game($me);
- }
- else
- {
- echo "thanks for joining the game... please scroll down";
- echo "TODO: make this page nicer ";
- echo "TODO: set card pref ";
-
- $mycards = DB_get_hand($me);
- sort($mycards);
- echo "
your cards are: \n";
- foreach($mycards as $card)
- display_card($card);
- echo "
\n";
-
- check_for_sickness($me,$mycards);
-
- DB_set_hand_status_by_hash($me,'check');
- }
- }
- break;
-
- case 'check':
- echo "no checking at the moment... you need to play a normal game";
- if(!isset($_REQUEST["solo"]) ||
- !isset($_REQUEST["wedding"]) ||
- !isset($_REQUEST["poverty"]) ||
- !isset($_REQUEST["nines"]) )
- {
- DB_set_hand_status_by_hash($me,'init');
- /* problem: by setting it back to init, variables "in" and "update" are
- * not set, so the player will be send back to the start, after seeing his hand
- */
- echo "you need to fill out the form";
- }
- else
- {
- if( $_REQUEST["solo"]!="No")
- {
- DB_set_solo_by_hash($me,$_REQUEST["solo"]);
- DB_set_sickness_by_hash($me,"solo");
- }
- else if($_REQUEST["wedding"] == "yes")
- {
- echo "wedding was chosen \n";
- DB_set_sickness_by_hash($me,"wedding");
- }
- else if($_REQUEST["poverty"] == "yes")
- {
- echo "poverty was chosen \n";
- DB_set_sickness_by_hash($me,"poverty");
- }
- else if($_REQUEST["nines"] == "yes")
- {
- echo "nines was chosen \n";
- DB_set_sickness_by_hash($me,"nines");
- }
- }
- DB_set_hand_status_by_hash($me,'poverty');
-
- /* check all players and set game to final result, e.g. solo, wedding, povert, redeal */
-
- /* reset solo, etc from players who did say something, but it didn't matter? */
- break;
- case 'poverty':
- echo " poverty not handeled at the moment... you need to play a normal game ";
-
- /* only set this after all poverty, etc. are handeled*/
- DB_set_hand_status_by_hash($me,'play');
-
- /* check if the game can start */
- $userids = DB_get_all_userid_by_gameid($gameid);
- $done=1;
- foreach($userids as $user)
- if(DB_get_hand_status_by_userid($user)!='play')
- $done=0;
-
- if($done)
- DB_set_game_status_by_gameid($gameid,'play');
-
- break;
- case 'play':
- case 'gameover': /* gameover and play, so that the tricks are visible for both */
- display_news();
- display_status();
-
- /* get trick ids */
- $result = mysql_query("SELECT Hand_Card.card_id as card,".
- " User.fullname as name,".
- " Hand.position as position,".
- " Play.sequence as sequence, ".
- " Hand.hash as hash, ".
- " Trick.id ".
- "FROM Trick ".
- "LEFT JOIN Play ON Trick.id=Play.trick_id ".
- "LEFT JOIN Hand_Card ON Play.hand_card_id=Hand_Card.id ".
- "LEFT JOIN Hand ON Hand_Card.hand_id=Hand.id ".
- "LEFT JOIN User ON User.id=Hand.user_id ".
- "WHERE Trick.game_id='".$gameid."' ".
- "ORDER BY Trick.id,sequence ASC");
-
-
- $trickNR = 1;
-
- $lasttrick = DB_get_max_trickid($gameid);
-
- $play = array(); /* needed to calculate winner later */
- $seq=1;
- $pos=0;
-
- echo "\n
\n";
-
- /* check if we need to set status to 'gameover' is done during playing of the card */
- if($mystatus=='play')
- break;
- /* the following happens only when the gamestatus is 'gameover' */
- /* check if game is over, display results */
- if(DB_get_game_status_by_gameid($gameid)=='play')
- {
- echo "the game is over for you.. other people still need to play though";
- }
- else
- {
- echo "the game is over now... guess the final score should be displayed here... \n";
-
- /* suggest a new game with the same people in it, just rotated once */
- $names = DB_get_all_names_by_gameid($gameid);
-
- echo "Do you want to continue playing?(This will start a new game, with the next person as dealer.)\n";
- echo "\n";
- }
- break;
- default:
- echo "error in testing the status";
- }
+ output_header();
+ echo "Database error, can't connect... Please wait a while and try again. ".
+ "If the problem doesn't go away feel free to contact $ADMIN_NAME at $ADMIN_EMAIL.";
+ output_footer();
exit();
- }
- else if(isset($_REQUEST["email"]) && isset($_REQUEST["password"]))
- {
- $ok=1;
- $uid = DB_get_userid_by_email($_REQUEST["email"]);
- if(!$uid)
- $ok=0;
- if(!DB_get_userid_by_passwd(md5($_REQUEST["password"])))
- $ok=0;
-
- if($ok)
- {
- $time = DB_get_user_timestamp($uid);
- $unixtime =strtotime($time);
-
- $offset = DB_get_user_timezone($uid);
- $zone = return_timezone($offset);
- date_default_timezone_set($zone);
-
- echo "ok. your logged in, now what? :) last login: ";
- echo date("r",$unixtime)." ";
+ }
- DB_update_user_timestamp($uid);
+/* done major error checking, output header of HTML page */
+output_header();
- $names = DB_get_all_names();
- echo "
Want to start a new game? remember 4 names from the list above and visit ".
- "this page.
";
- }
- else
- {
- echo "sorry email and password don't match ";
- }
- exit();
- }
-else if(isset($_REQUEST["register"]) )
- {
- echo "TODO: convert timezone into a menu \n";
- echo "TODO: figure out a way to handle passwrods \n";
-?>
-
-";
- $ok=0;
- }
- if(DB_get_userid_by_email($_REQUEST["Remail"]))
- {
- echo "this email address is already used ?! ";
- $ok=0;
- }
- if($ok)
- {
- $r=mysql_query("INSERT INTO User VALUES(NULL,".DB_quote_smart($_REQUEST["Rfullname"]).
- ",".DB_quote_smart($_REQUEST["Remail"]).
- ",".DB_quote_smart(md5($_REQUEST["Rpassword"])).
- ",".DB_quote_smart($_REQUEST["Rtimezone"]).",NULL)");
-
- if($r)
- echo " added you to the database";
- else
- echo " something went wrong";
- }
- }
+/* The rest of the file consists of handling user input.
+ * The user sends information via html GET and POST variables,
+ * and the action variable tells the prog what the user wants to do
+ */
+if(myisset("action"))
+ $action=$_REQUEST['action'];
else
- { /* no new game, not in a game */
-?>
-
If 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:
-
-
-
+ $action=""; /* so that we can use a default option below */
-
-
-
-
-