From 67d441a0c134060e61f840d955b370145d1ac328 Mon Sep 17 00:00:00 2001 From: Arun Persaud Date: Fri, 29 Jun 2007 18:22:01 +0200 Subject: NEW FEATURE: allow multiple comments you can now also comment, if it is not your turn, and up to 7 days after the game finished. doubled size of comments too --- index.php | 94 +++++++++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 67 insertions(+), 27 deletions(-) (limited to 'index.php') diff --git a/index.php b/index.php index cd03f57..a41158e 100644 --- a/index.php +++ b/index.php @@ -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 */ @@ -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') -- cgit v1.2.3-18-g5258