<?php
+/* Copyright 2006, 2007, 2008, 2009, 2010 Arun Persaud <arun@nubati.net>
+ *
+ * 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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
/* make sure that we are not called from outside the scripts,
* use a variable defined in config.php to check this
*/
global $GAME,$RULES,$CARDS;
-/* the user has done something, update the timestamp */
-if(isset($_SESSION['id']))
- DB_update_user_timestamp($_SESSION['id']);
-
/* get some information from the DB */
$gameid = DB_get_gameid_by_hash($me);
$myname = DB_get_name('hash',$me);
* play: game in progress
* gameover: are we revisiting a game
*/
+
+/* the user has done something, update the timestamp. Use $myid in
+ * active games and check for session-id in old games (myid might be wrong in that case)
+ */
+if($mystatus!='gameover')
+ DB_update_user_timestamp($myid);
+ else
+ if(isset($_SESSION['id']))
+ DB_update_user_timestamp($_SESSION['id']);
+
switch($mystatus)
{
case 'start':
$play = DB_get_cards_by_trick($trickid);
$winner = get_winner($play,$gametype); /* returns the position */
- /* check if someone caught a fox */
+ /*
+ * check if someone caught a fox
+ *******************************/
+
/* first check if we should account for solos at all,
* since it doesn't make sense in some games
*/
}
}
- /* check for karlchen (jack of clubs in the last trick)*/
+ /*
+ * check for karlchen (jack of clubs in the last trick)
+ ******************************************************/
+
/* same as for foxes, karlchen doesn't always make sense
* check what kind of game it is and set karlchen accordingly */
$ok = 1; /* default: karlchen should be accounted for */
DB_query("INSERT INTO Score".
" VALUES( NULL,NULL,$gameid,'$party1',$uid1,NULL,'karlchen')");
}
- /* check for doppelopf (>40 points)*/
+ /*
+ * check for doppelopf (>40 points)
+ ***********************************/
+
$points = 0;
foreach($play as $played)
{
" VALUES( NULL,NULL,$gameid,'$party1',$uid1,NULL,'doko')");
}
+ /*
+ * set winner (for this trick)
+ */
+
if($winner>0)
DB_query("UPDATE Trick SET winner='$winner' WHERE id='$trickid'");
else
{
$oldcards = DB_get_all_hand($me);
$oldcards = mysort($oldcards,$gametype);
- echo "Your cards were: <br />\n";
+
+ if(isset($_SESSION['id']) && $myid==$_SESSION['id'])
+ echo "Your cards were: <br />\n";
+ else
+ {
+ $name = DB_get_name('userid',$myid);
+ echo "$name's were: <br />\n";
+ }
+
foreach($oldcards as $card)
display_card($card,$PREF['cardset']);