X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=e-DoKo.git;a=blobdiff_plain;f=include%2Fgame.php;h=8d07b839f39042ff2fdf53c7c473f5facc9d695d;hp=49957b121ec31c81e781425fafa632e87bec97b5;hb=ed0ffd0d14904b661622a29e95661fc03728c2c4;hpb=eb20bf1a0cae1192eb50c19220e72df8d971d8e7 diff --git a/include/game.php b/include/game.php index 49957b1..8d07b83 100644 --- a/include/game.php +++ b/include/game.php @@ -109,7 +109,15 @@ if( $mystatus!='gameover' ) if($note != '') DB_insert_note($note,$gameid,$myid); }; -output_user_notes($myid,$gameid,$mystatus); + +/* make sure that we don't show the notes to the wrong person + * (e.g. other people looking at an old game) + */ +if( $mystatus != 'gameover' || + ( $mystatus == 'gameover' && + isset($_SESSION['id']) && + $myid == $_SESSION['id'])) + output_user_notes($myid,$gameid,$mystatus); /* handle calls */ if(myisset('call') && $_REQUEST['call'] == '120' && can_call(120,$me)) @@ -131,41 +139,41 @@ if($session) switch($RULES['dullen']) { case 'none': - echo "\"not\n"; break; + echo " \"not\n"; break; case 'firstwins': - echo "\"ten\n"; break; + echo " \"ten\n"; break; case 'secondwins': - echo "\"second\n"; break; + echo " \"second\n"; break; } switch($RULES['schweinchen']) { case 'none': - echo "\"no\n"; break; case 'both': - echo "\"two\n"; break; case 'second': - echo "\"second\n"; break; case 'secondaftercall': - echo "\"second\n"; break; } switch($RULES['call']) { case '1st-own-card': - echo "\"1st-own-card\"\n"; break; + echo " \"1st-own-card\"\n"; break; case '5th-card': - echo "\"5th-card\"\n"; break; + echo " \"5th-card\"\n"; break; case '9-cards': - echo "\"9-cards\"\n"; break; + echo " \"9-cards\"\n"; break; } - echo "
\n"; + echo "
\n"; echo " 10ofhearts : {$RULES['dullen']}
\n"; echo " schweinchen: {$RULES['schweinchen']}
\n"; echo " call: {$RULES['call']}
\n"; - echo "
\n
\n"; + echo " \n \n"; echo "
Score \n"; $score = generate_score_table($session); echo format_score_table_html($score,$myid); @@ -184,7 +192,7 @@ if($session) echo "This is game number $j of $i in session $session."; else echo "This is game number $j of $i in session $session."; - echo "
\n"; + echo "\n\n"; } /* display the table and the names */ @@ -1324,7 +1332,11 @@ switch($mystatus) else $GAME['schweinchen-second'] = 1; /* this must be the second fox */ - if( ($GAME['schweinchen-second']==1 && $RULES['schweinchen']=='second') || $RULES['schweinchen']=='both') + if( $RULES['schweinchen']=='both' || + ($RULES['schweinchen']=='second' && $GAME['schweinchen-second']==1 )|| + ($RULES['schweinchen']=='secondaftercall' && $GAME['schweinchen-second']==1 && + (DB_get_call_by_hash($GAME['schweinchen-who']) || DB_get_partner_call_by_hash($GAME['schweinchen-who']) )) + ) { DB_insert_comment('Schweinchen! ',$playid,$myid); $commentSchweinchen = 'Schweinchen! '; @@ -1755,27 +1767,26 @@ switch($mystatus) $message .= "Score Table:\n"; $message .= format_score_table_ascii($score); + $message .= "\nUse these links to have a look at game ".DB_format_gameid($gameid).": \n"; /* send out final email */ $all = array(); - foreach($userids as $user) - $all[] = DB_get_email('userid',$user); - $To = implode(",",$all); - - $help = "\n\n (you can use reply all on this email to reach all the players.)\n"; - mymail($To,$EmailName."game over (game ".DB_format_gameid($gameid).") part 1(2)",$message.$help); - foreach($userids as $user) { - $To = DB_get_email('userid',$user); + $all[] = DB_get_email('userid',$user); + + /* add links for all players */ $hash = DB_get_hash_from_gameid_and_userid($gameid,$user); + $name = DB_get_name('userid',$user); - $link = "Use this link to have a look at game ".DB_format_gameid($gameid).": ". - $HOST.$INDEX."?action=game&me=".$hash."\n\n" ; - if( DB_get_email_pref_by_uid($user) != 'emailaddict' ) - mymail($To,$EmailName."game over (game ".DB_format_gameid($gameid).") part 2(2)",$link); + $link = "$name: ".$HOST.$INDEX."?action=game&me=".$hash."\n" ; + $message .= $link; } + $To = implode(",",$all); + + $message .= "\n\n (you can use reply all on this email to reach all the players.)\n"; + mymail($To,$EmailName."Game over (game ".DB_format_gameid($gameid).") ",$message); } } else @@ -1871,9 +1882,15 @@ switch($mystatus) foreach($mycards as $card) { + /* display only cards that the player is allowed to play as links, the rest just display normal + * also check if we have both schweinchen, in that case only display on of them as playable + */ if( ($followsuit && !same_type($card,$firstcard)) || - ( (int)($card)==19 && ($RULES['schweinchen']=='second'||$RULES['schweinchen']=='secondaftercall') - && $GAME['schweinchen-who']==$me && !$GAME['schweinchen-first'] ) + ( (int)($card)==19 && !$GAME['schweinchen-first'] && + ($RULES['schweinchen']=='second'|| + ( $RULES['schweinchen']=='secondaftercall' && + (DB_get_call_by_hash($GAME['schweinchen-who']) || DB_get_partner_call_by_hash($GAME['schweinchen-who']) ))) + && $GAME['schweinchen-who']==$me ) ) display_card($card,$PREF['cardset']); else @@ -1928,17 +1945,33 @@ switch($mystatus) default: myerror("error in testing the status"); } -/* output left menu */ -display_user_menu(); -/* output right menu */ +/* output other games where it is the users turn + * make sure that the people looking at old games don't see the wrong games here + */ +if( $mystatus != 'gameover' ) + display_user_menu($myid); +else if( $mystatus == 'gameover' && + isset($_SESSION['id']) ) + { + display_user_menu($_SESSION['id']); + } +else + { + echo "
\n"; + echo "It's your turn in these games:
\n"; + echo "Please log in to see this information.\n"; + echo "
\n"; + } /* display rule set for this game */ echo "
\n"; if($gamestatus == 'play' ) - output_form_calls($me); - + { + $myparty = DB_get_party_by_hash($me); + output_form_calls($me,$myparty); + } /* get time from the last action of the game */ $r = DB_query_array("SELECT mod_date from Game WHERE id='$gameid' " ); $gameend = time() - strtotime($r[0]);