X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=e-DoKo.git;a=blobdiff_plain;f=index.php;h=29b3eb13898411cc516c4e9a651ee583329a7325;hp=689a8ceeb161c98c235ffea3221f58876c2f1b8f;hb=bae8dd0032b45f632e85f12693debd2f03603f07;hpb=51312acc9682902810edee454471aae1ce59d80c;ds=sidebyside diff --git a/index.php b/index.php index 689a8ce..29b3eb1 100644 --- a/index.php +++ b/index.php @@ -1,63 +1,21 @@ - - - - e-Doko - - - - - -
-

Welcome to E-Doko

-
- \n"; - echo "perhaps the game has been cancled."; + echo "perhaps the game has been cancled, check by login in here."; exit(); } @@ -178,7 +135,7 @@ else if(isset($_REQUEST["me"])) DB_set_hand_status_by_hash($me,'init'); break; case 'init': - if( !isset($_REQUEST["in"]) || !isset($_REQUEST["update"])) + if( !myisset("in","update") ) { DB_set_hand_status_by_hash($me,'start'); echo "you need to answer both question"; @@ -220,17 +177,14 @@ else if(isset($_REQUEST["me"])) break; case 'check': - echo "no checking at the moment... you need to play a normal game. At the moment you need to reload this page to finish the setup."; - if(!isset($_REQUEST["solo"]) || - !isset($_REQUEST["wedding"]) || - !isset($_REQUEST["poverty"]) || - !isset($_REQUEST["nines"]) ) + echo "no checking at the moment... you need to play a normal game.". + " At the moment you need to reload this page to finish the setup."; + if(!myisset("solo","wedding","poverty","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"; + /* all these variables have a pre-selected default, + * so we should never get here, + * unless a user tries to cheat ;) */ + echo "something went wrong...please contact the admin."; } else { @@ -262,6 +216,11 @@ else if(isset($_REQUEST["me"])) /* reset solo, etc from players who did say something, but it didn't matter? */ break; case 'poverty': + /* here we need to check if there is a solo or some other form o sickness. + * If so, which one counts + * set that one in the Game table, delete other ones form Hand table + * tell people about it. + */ echo "
poverty not handeled at the moment... you need to play a normal game
"; /* only set this after all poverty, etc. are handeled*/ @@ -269,27 +228,59 @@ else if(isset($_REQUEST["me"])) /* check if the game can start */ $userids = DB_get_all_userid_by_gameid($gameid); - $done=1; + $ok=1; foreach($userids as $user) - if(DB_get_hand_status_by_userid($user)!='play') - $done=0; + if(DB_get_hand_status_by_userid_and_gameid($user,$gameid)!='play') + $ok=0; - if($done) + if($ok) DB_set_game_status_by_gameid($gameid,'play'); break; case 'play': - case 'gameover': /*both entries here, so that the tricks are visible for both in case of 'play' there is a break later that skips the last part*/ - display_news(); + case 'gameover': + /* both entries here, so that the tricks are visible for both. + * in case of 'play' there is a break later that skips the last part + */ + + /* display useful things in divs */ + + /* display local time */ + echo "
\n Local times:"; + $users = array(); + $users = DB_get_all_userid_by_gameid($gameid); + foreach($users as $user) + { + $offset = DB_get_user_timezone($user); + $zone = return_timezone($offset); + date_default_timezone_set($zone); + $name = DB_get_name_by_userid($user); + + echo "\n"; + }; + echo "
$name ".date("Y-m-d H:i:s")."
\n
\n"; + display_status(); + /* display links to the users status page */ + $result = mysql_query("SELECT email,password from User WHERE id='$myid'" ); + $r = mysql_fetch_array($result,MYSQL_NUM); + output_link_to_user_page($r[0],$r[1]); + + display_news(); + + /* end display useful things*/ + + /* has the game started? No, then just wait here...*/ $gamestatus = DB_get_game_status_by_gameid($gameid); if($gamestatus == 'pre') { echo "you need to wait for the others...
"; - break; + break; /* not sure this works... the idea is that you can + * only play a card after everyone is ready to play */ } - /* get everythin relevant to display the tricks */ + + /* get everything relevant to display the tricks */ $result = mysql_query("SELECT Hand_Card.card_id as card,". " User.fullname as name,". " Hand.position as position,". @@ -378,7 +369,7 @@ else if(isset($_REQUEST["me"])) /* whos turn is it? */ if($seq==4) { - $winner = get_winner($play); /* returns the position */ + $winner = get_winner($play,"normal"); /* returns the position */ $next = $winner; } else @@ -394,7 +385,7 @@ else if(isset($_REQUEST["me"])) $myturn = 0; /* do we want to play a card? */ - if(isset($_REQUEST["card"]) && $myturn) + if(myisset("card") && $myturn) { $card = $_REQUEST["card"]; $handid = DB_get_handid_by_hash($me); @@ -418,7 +409,7 @@ else if(isset($_REQUEST["me"])) $playid = DB_play_card($trickid,$handcardid,$sequence); /*check for coment */ - if(isset($_REQUEST["comment"])) + if(myisset("comment")) { DB_insert_comment($_REQUEST["comment"],$playid,$myid); }; @@ -436,11 +427,11 @@ else if(isset($_REQUEST["me"])) $mystatus='gameover'; } - /* if all players are done, set game status also to game over */ + /* if all players are done, set game status to game over */ $userids = DB_get_all_userid_by_gameid($gameid); $done=1; foreach($userids as $user) - if(DB_get_hand_status_by_userid($user)!='gameover') + if(DB_get_hand_status_by_userid_and_gameid($user,$gameid)!='gameover') $done=0; if($done) @@ -452,7 +443,7 @@ else if(isset($_REQUEST["me"])) if($sequence==4) { $play = DB_get_cards_by_trick($trickid); - $winner = get_winner($play); /* returns the position */ + $winner = get_winner($play,"normal"); /* returns the position */ $next = $winner; } else @@ -465,10 +456,10 @@ else if(isset($_REQUEST["me"])) $next_hash = DB_get_hash_from_game_and_pos($gameid,$next); $email = DB_get_email_by_hash($next_hash); - $message .= "It's your turn now.\n". + $message = "It's your turn now.\n". "Use this link to play a card: ".$host."?me=".$next_hash."\n\n" ; mymail($email,"[DoKo-debug] a card has been played",$message); - + if($debug) echo "DEBUG: next player
\n"; @@ -480,7 +471,7 @@ else if(isset($_REQUEST["me"])) echo "couldn't find card
\n"; } } - else if(isset($_REQUEST["card"]) && !$myturn ) + else if(myisset("card") && !$myturn ) { echo "please wait until it is your turn!
\n"; } @@ -489,19 +480,18 @@ else if(isset($_REQUEST["me"])) sort($mycards); echo "
\n"; - if($myturn && !isset($_REQUEST["card"])) + if($myturn && !myisset("card")) { echo "Hello ".$myname.", it's your turn!
\n"; echo "Your cards are:
\n"; echo "
\n"; foreach($mycards as $card) display_link_card($card); -?> -
A short comments: - - -
- \nA short comments:\n"; + echo "\n"; + echo "\n"; + echo "\n"; } else if($mystatus=='play') { @@ -514,7 +504,7 @@ else if(isset($_REQUEST["me"])) /* 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' */ + /* 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') { @@ -526,16 +516,7 @@ else if(isset($_REQUEST["me"])) /* 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"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "
\n"; + output_ask_for_new_game($names[1],$names[2],$names[3],$names[0],$gameid); } break; default: @@ -544,15 +525,19 @@ else if(isset($_REQUEST["me"])) exit(); } /* user status page */ - else if(isset($_REQUEST["email"]) && isset($_REQUEST["password"])) + else if(myisset("email","password")) { /* test id and password, should really be done in one step */ + $email = $_REQUEST["email"]; + $password = $_REQUEST["password"]; + + if(strlen($password)!=32) + $password = md5($password); + $ok=1; - $uid = DB_get_userid_by_email($_REQUEST["email"]); + $uid = DB_get_userid_by_email_and_password($email,$password); if(!$uid) $ok=0; - if(!DB_get_userid_by_passwd(md5($_REQUEST["password"]))) - $ok=0; if($ok) { @@ -563,15 +548,14 @@ else if(isset($_REQUEST["me"])) $zone = return_timezone($offset); date_default_timezone_set($zone); - echo "ok. your logged in, now what? :)
last login: "; - echo date("r",$unixtime)."
"; + echo "last login: ".date("r",$unixtime)."
"; DB_update_user_timestamp($uid); 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 "game #".$r[1]."
"; echo "

\n"; $names = DB_get_all_names(); @@ -579,8 +563,9 @@ else if(isset($_REQUEST["me"])) foreach ($names as $name) echo "$name
\n"; echo "

\n"; + echo "

Want to start a new game? remember 4 names from the list above and visit ". - "this page.

"; + "this page.

"; } else { @@ -589,41 +574,12 @@ else if(isset($_REQUEST["me"])) exit(); } /* page for registration */ -else if(isset($_REQUEST["register"]) ) +else if(myisset("register") ) { - echo "TODO: convert timezone into a menu
\n"; - echo "TODO: figure out a way to handle passwrods
\n"; -?> -
-
- Register - - - - - - - - - - - - - - - -
- -
-
-
- -

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: -

-
-
- Login - - - - - - - -
-
-
- - - - - - -