-
+ *
+ * This file is part of e-DoKo.
+ *
+ * e-DoKo is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * e-DoKo is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with e-DoKo. If not, see .
+ *
+ */
-DB_open();
+error_reporting(E_ALL);
-/* end header */
+/* 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();
-/***************** M A I N **************************/
+include_once("config.php"); /* needs to be first in list, since other includes use this */
+include_once("./include/output.php"); /* html output only */
+include_once("./include/db.php"); /* database only */
+include_once("./include/functions.php"); /* the rest */
-/* check if we want to start a new game */
-if(isset($_REQUEST["new"]))
+/* make sure that user has set all variables in config.php */
+config_check();
+
+/* open the database */
+$DBopen = DB_open();
+if($DBopen<0)
{
-?>
-
no game in progress, please input 4 names and email addresses, please make sure that the addresses are correct!
-
-\n";
- echo "perhaps the game has been cancled.";
- exit();
- }
-
- $myname = DB_get_name_by_hash($me);
- $mystatus = DB_get_status_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');
- break;
- case 'play':
- display_news();
- display_status();
-
- /* get game id */
- $gameid = DB_get_gameid_by_hash($me);
-
- /* 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 still have cards left, else set status to gameover */
-
- break;
- case 'gameover':
- echo "the game is over... guess the final score should be displayed here... \n";
- echo "TODO: suggest a new game with the next person as dealer \n";
- break;
- default:
- echo "error in testing the status";
- }
- 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;
+/* override with explicit request from user */
+if(myisset('language'))
+ $language = $_REQUEST['language'];
+else if(isset($_SESSION['language']))
+ $language = $_SESSION['language'];
- if($ok)
- {
- echo "ok. your logged in, now what? :) ";
-
- }
- 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";
- }
- }
-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:
-
-
-
+/* set it */
+set_language($language);
+/**** end language ****/
+/* done major error checking, output header of HTML page */
+output_header();
-
-
-
-
-
-