X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=e-DoKo.git;a=blobdiff_plain;f=index.php;h=a41158e854355455776b1fafe3795fb1a80493f8;hp=f5060a077601ea63c1253d5798a04de4b39d3031;hb=67d441a0c134060e61f840d955b370145d1ac328;hpb=906d4b7166440641b753148f9b9f158b2e1f2c0f diff --git a/index.php b/index.php index f5060a0..a41158e 100644 --- a/index.php +++ b/index.php @@ -289,9 +289,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 +341,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 +1176,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 +1205,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 +1305,7 @@ else if(myisset("me")) $myturn = 1; else $myturn = 0; - + /* do we want to play a card? */ if(myisset("card") && $myturn) { @@ -1303,8 +1321,6 @@ else if(myisset("me")) if($handcardid) /* everything ok, play card */ { - $comment = ""; - /* update Game timestamp */ DB_update_game_timestamp($gameid); @@ -1324,26 +1340,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 +1419,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 +1493,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"; @@ -1551,19 +1569,40 @@ else if(myisset("me")) " no call:". " "; - echo "
\nA short comments:\n"; + echo "
\nA short comment:\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; } - else if($mystatus=='play') - { + else if($mystatus=='play' ) + { echo "Your cards are:
\n"; foreach($mycards as $card) display_card($card,$PREF["cardset"]); + + echo "
\n"; + echo "
\nA short comment:\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + } else if($mystatus=='gameover') { + /* 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]); + + if( $gameend < 60*60*24*7 ) + { + echo "
\n"; + echo "
\nA short comment:\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + } + $oldcards = DB_get_all_hand($me); $oldcards = mysort($oldcards,$gametype); echo "Your cards were:
\n"; @@ -1586,13 +1625,14 @@ else if(myisset("me")) foreach($oldcards as $card) display_card($card,$PREF["cardset"]); } - } + }; } echo "\n"; /* if the game is over do some extra stuff, therefore exit the swtich statement if we are still playing*/ 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') @@ -1796,11 +1836,11 @@ else if(myisset("me")) } else /* output default user page */ { - $time = DB_get_user_timestamp($uid); - $unixtime =strtotime($time); + $time = DB_get_user_timestamp($uid); + $unixtime = strtotime($time); - $offset = DB_get_user_timezone($uid); - $zone = return_timezone($offset); + $offset = DB_get_user_timezone($uid); + $zone = return_timezone($offset); date_default_timezone_set($zone); /* display links to settings */ @@ -1876,7 +1916,7 @@ else if(myisset("me")) } else { - echo "Sorry email and password don't match
"; + echo "Sorry email and password don't match. Please try again.
"; } }; output_footer(); @@ -1912,7 +1952,7 @@ else if(myisset("me")) if($r) echo " added you to the database"; else - echo " something went wrong"; + echo " something went wrong, couldn't add you to the database, please contact $ADMIN_NAME at $ADMIN_EMAIL."; } } /* default login page */