X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=e-DoKo.git;a=blobdiff_plain;f=index.php;h=40708f8359c3767cc30382dbae508a4f08ed1e5b;hp=f5060a077601ea63c1253d5798a04de4b39d3031;hb=304fe579fe0d084d73e7e959223cfeb70a50e37a;hpb=906d4b7166440641b753148f9b9f158b2e1f2c0f
diff --git a/index.php b/index.php
index f5060a0..40708f8 100644
--- a/index.php
+++ b/index.php
@@ -6,41 +6,7 @@ include_once("output.php"); /* html output only */
include_once("db.php"); /* database only */
include_once("functions.php"); /* the rest */
-/* check if some variables are set in the config file, else set defaults */
-if(!isset($EmailName))
- $EmailName="[DoKo] ";
-if(isset($EMAIL_REPLY))
- {
- ini_set("sendmail_from",$EMAIL_REPLY);
- }
-if(!isset($ADMIN_NAME))
- {
- output_header();
- echo "
Setup not completed
";
- echo "You need to set \$ADMIN_NAME in config.php.";
- output_footer();
- exit();
- }
-if(!isset($ADMIN_EMAIL))
- {
- output_header();
- echo "
Setup not completed
";
- echo "You need to set \$ADMIN_EMAIL in config.php. ".
- "If something goes wrong an email will send to this address.";
- output_footer();
- exit();
- }
-
-/* in case work has to be done on the database or other section we can
- * shut down the server and tell people to come back later
- */
-if(0)
- {
- output_header();
- echo "Working on the database...please check back in a few mintues";
- output_footer();
- exit();
- }
+config_check();
if(DB_open()<0)
{
@@ -51,11 +17,21 @@ if(DB_open()<0)
exit();
}
+/* start a session, if it is not already running */
+session_start();
+
/* done major error checking, output header of HTML page */
output_header();
/* check if we want to start a new game */
-if(myisset("new"))
+if(myisset("logout"))
+ {
+ session_unset();
+ session_destroy();
+ $_SESSION = array();
+ echo "you are now logged out!";
+ }
+else if(myisset("new"))
{
$names = DB_get_all_names();
output_form_for_new_game($names);
@@ -204,7 +180,7 @@ else if(myisset("cancle","me"))
/* get some information from the DB */
$gameid = DB_get_gameid_by_hash($me);
$myname = DB_get_name_by_hash($me);
-
+
/* check if game really is old enough */
$result = mysql_query("SELECT mod_date from Game WHERE id='$gameid' " );
$r = mysql_fetch_array($result,MYSQL_NUM);
@@ -245,6 +221,9 @@ else if(myisset("me"))
exit();
}
+ if(isset($_SESSION["name"]))
+ output_status($_SESSION["name"]);
+
/* the user had done something, update the timestamp */
DB_update_user_timestamp($myid);
@@ -289,9 +268,9 @@ else if(myisset("me"))
echo " Gametype: $GT \n";
echo "Rules: \n";
- echo "10ofhearts : ".$r[2]." \n";
- echo "schweinchen: ".$r[3]." \n";
- echo "call: ".$r[4]." \n";
+ echo "10ofhearts : ".$RULES["dullen"] ." \n";
+ echo "schweinchen: ".$RULES["schweinchen"] ." \n";
+ echo "call: ".$RULES["call"] ." \n";
echo "\n";
/* output extra division in case this game is part of a session */
@@ -341,7 +320,7 @@ else if(myisset("me"))
case 'start':
if( !myisset("in") )
{
- check_want_to_play($me);
+ output_check_want_to_play($me);
break;
}
else
@@ -1176,12 +1155,28 @@ else if(myisset("me"))
}
echo "\n";
+ /* get time from the last action of the game */
+ $result = mysql_query("SELECT mod_date from Game WHERE id='$gameid' " );
+ $r = mysql_fetch_array($result,MYSQL_NUM);
+ $gameend = time() - strtotime($r[0]);
+
+ /* handel comments in case player didn't play a card, allow comments a week after the end of the game */
+ if( (!myisset("card") && $mystatus=='play') || ($mystatus=='gameover' && ($gameend < 60*60*24*7)) )
+ if(myisset("comment"))
+ {
+ $comment = $_REQUEST["comment"];
+ $playid = DB_get_current_playid($gameid);
+
+ if($comment != "")
+ DB_insert_comment($comment,$playid,$myid);
+ };
+
/* get everything relevant to display the tricks */
$result = mysql_query("SELECT Hand_Card.card_id as card,".
" Hand.position as position,".
" Play.sequence as sequence, ".
" Trick.id, ".
- " Comment.comment, ".
+ " GROUP_CONCAT(CONCAT('',User.fullname,': ',Comment.comment,'') SEPARATOR '\n' ), ".
" Play.create_date, ".
" Hand.user_id ".
"FROM Trick ".
@@ -1189,8 +1184,10 @@ else if(myisset("me"))
"LEFT JOIN Hand_Card ON Play.hand_card_id=Hand_Card.id ".
"LEFT JOIN Hand ON Hand_Card.hand_id=Hand.id ".
"LEFT JOIN Comment ON Play.id=Comment.play_id ".
+ "LEFT JOIN User On User.id=Comment.user_id ".
"WHERE Trick.game_id='".$gameid."' ".
- "ORDER BY Trick.id,sequence ASC");
+ "GROUP BY Trick.id, sequence ".
+ "ORDER BY Trick.id, sequence ASC");
$trickNR = 1;
$lasttrick = DB_get_max_trickid($gameid);
@@ -1287,7 +1284,7 @@ else if(myisset("me"))
$myturn = 1;
else
$myturn = 0;
-
+
/* do we want to play a card? */
if(myisset("card") && $myturn)
{
@@ -1303,8 +1300,6 @@ else if(myisset("me"))
if($handcardid) /* everything ok, play card */
{
- $comment = "";
-
/* update Game timestamp */
DB_update_game_timestamp($gameid);
@@ -1324,26 +1319,26 @@ else if(myisset("me"))
mysql_query("UPDATE Hand_Card SET played='true' WHERE hand_id='$handid' AND card_id=".
DB_quote_smart($card));
+ /* get trick id or start new trick */
+ $a = DB_get_current_trickid($gameid);
+ $trickid = $a[0];
+ $sequence = $a[1];
+ $tricknr = $a[2];
+
+ $playid = DB_play_card($trickid,$handcardid,$sequence);
+
/* check for schweinchen */
- //echo "schweinchen = ".$GAME["schweinchen"]." --$card- ";
if($card == 19 || $card == 20 )
{
$GAME["schweinchen"]++;
if($GAME["schweinchen"]==3 && $RULES["schweinchen"]=="second" )
- $comment="Schweinchen! ";
+ DB_insert_comment("Schweinchen! ",$playid,$myid);
if($RULES["schweinchen"]=="both" )
- $comment="Schweinchen! ";
- if ($debug) echo "schweinchen = ".$GAME["schweinchen"]." --- ";
+ DB_insert_comment("Schweinchen! ",$playid,$myid);
+ if ($debug)
+ echo "schweinchen = ".$GAME["schweinchen"]." --- ";
}
- /* get trick id or start new trick */
- $a = DB_get_current_trickid($gameid);
- $trickid = $a[0];
- $sequence = $a[1];
- $tricknr = $a[2];
-
- $playid = DB_play_card($trickid,$handcardid,$sequence);
-
/* if sequence == 4 check who one in case of wedding */
if($sequence == 4 && $GT == "wedding")
{
@@ -1403,19 +1398,21 @@ else if(myisset("me"))
}
if($next==5) $next=1;
-
/* check for coment */
if(myisset("comment"))
{
- $comment.=$_REQUEST["comment"];
+ $comment = $_REQUEST["comment"];
+ if($comment != "")
+ DB_insert_comment($comment,$playid,$myid);
};
- if($comment != "")
- DB_insert_comment($comment,$playid,$myid);
-
+
/* display played card */
echo "
";
echo " you played ";
+ /* display comments */
display_card($card,$PREF["cardset"]);
+ if($comment!="")
+ echo " Your comment: ".$comment."\n";
echo "
\n";
/*check if we still have cards left, else set status to gameover */
@@ -1475,7 +1472,7 @@ else if(myisset("me"))
" LEFT JOIN Hand_Card ON Hand_Card.id=Play.hand_card_id".
" LEFT JOIN Card ON Card.id=Hand_Card.card_id".
" WHERE Hand.game_id='$gameid'".
- " GROUP BY User.fullname" );
+ " GROUP BY Hand.party" );
$message .= "\nTotals:\n";
while( $r = mysql_fetch_array($result,MYSQL_NUM))
$message .= " ".$r[0]." ".$r[1]."\n";
@@ -1514,7 +1511,7 @@ else if(myisset("me"))
$mycards = mysort($mycards,$gametype);
echo "