session_unset();
session_destroy();
$_SESSION = array();
- echo "you are now logged out!";
+ echo "<div class=\"message\"><span class=\"bigger\">You are now logged out!</span><br />\n".
+ "(<a href=\"$host\">This will take you back to the home-page</a>)</div>";
}
else if(myisset("new"))
{
+ output_status();
if( isset($_SESSION["name"]) )
{
$names = DB_get_all_names();
+ echo "<div class=\"user\">\n";
output_form_for_new_game($names);
+ echo "</div>\n";
+ display_user_menu();
}
else
{
- echo "Please log in.";
+ echo "<div class=\"message\">Please <a href=\"$host\">log in</a>.</div>";
}
}
/*check if everything is ready to set up a new game */
mymail($EmailC,"You are invited to a game of DoKo","Hello $PlayerC,\n".$message.$hashC);
mymail($EmailD,"You are invited to a game of DoKo","Hello $PlayerD,\n".$message.$hashD);
- echo "You started a new game. The emails have been sent out!";
+ output_status();
+ echo "<div class=\"message\">You started a new game. The emails have been sent out!</div>\n";
} /* end set up a new game */
/* cancle a game, if nothing has happend in the last N minutes */
else if(myisset("cancle","me"))
{
+ output_status();
+
$me = $_REQUEST["me"];
/* test for valid ID */
/* send out a reminder */
else if(myisset("remind","me"))
{
+ output_status();
+
$me = $_REQUEST["me"];
/* test for valid ID */
exit();
}
+ output_status();
+
if(isset($_SESSION["name"]))
output_status($_SESSION["name"]);
$who = DB_get_userid_by_email($email);
DB_set_player_by_gameid($gameid,$who);
- if($hash!=$me)
+ if($hash!=$me && DB_get_email_pref_by_hash($hash)!="emailaddict")
{
/* email startplayer) */
$message = "It's your turn now in game ".DB_format_gameid($gameid).".\n".
$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)) )
+ /* 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"];
$seq = $r[2];
$trick = $r[3];
$comment = $r[4];
- $timeplayed = strtotime($r[5]);
$user = $r[6];
- $offset = DB_get_user_timezone($user);
- $zone = return_timezone($offset);
- date_default_timezone_set($zone);
-
/* check if first schweinchen has been played */
if( $GAME["schweinchen"] && ($r[0] == 19 || $r[0] == 20) )
$GAME["schweinchen"]++;
" <img class=\"arrow\" src=\"pics/arrow".($pos-1).".png\" alt=\"table\" />\n";
}
- echo "<div class=\"card".($pos-1)."\">";
+ echo " <div class=\"card".($pos-1)."\">\n ";
/* display comments */
display_card($card,$PREF["cardset"]);
if($comment!="")
- echo " <span class=\"comment\"> ".$comment."</span>\n";
- echo "</div></div></li>\n";
+ echo "\n <span class=\"comment\"> ".$comment."</span>\n";
+ echo " </div>\n";
/*check if we still have cards left, else set status to gameover */
if(sizeof(DB_get_hand($me))==0)
$message = "A card has been played in game ".DB_format_gameid($gameid).".\n\n".
"It's your turn now.\n".
"Use this link to play a card: ".$host."?me=".$next_hash."\n\n" ;
- mymail($email,$EmailName."a card has been played in game ".DB_format_gameid($gameid),$message);
+ if( DB_get_email_pref_by_uid($who)!="emailaddict" )
+ mymail($email,$EmailName."a card has been played in game ".DB_format_gameid($gameid),$message);
}
else /* send out final email */
{
else if($r[0] == "contra")
$contra = $r[1];
}
- /* save score in database */
- // get calls from re/contra
+
+ /*
+ * save score in database
+ *
+ */
+
+ /* get calls from re/contra */
$call_re = NULL;
$call_contra = NULL;
foreach($userids as $user)
}
}
}
- // no call, check 120:120
- if($call_re == NULL && $call_contra==NULL)
- if($re==120)
- mysql_query("INSERT INTO Score".
- " VALUES( NULL,NULL,$gameid,'contra',NULL,NULL,'againstqueens')");
- // no call or one call do scoring
- if($call_re != NULL && $call_contra!=NULL)
- {
- // two calls: not sure what to do yet
- }
+ /* figure out who one */
+ $winning_party = NULL;
+
+ if($call_re == NULL && $call_contra==NULL)
+ if($re>120)
+ $winning_party="re";
+ else
+ $winning_party="contra";
else
{
- $offset = 0;
+ if($call_re)
+ {
+ $offset = 120 - $call_re;
+ if($call_re == 0)
+ $offset--; /* since we use a > in the next equation */
+
+ if($re > 120+$offset)
+ $winning_party="re";
+ else if ( $call_contra == NULL )
+ $winning_party="contra";
+ }
- if($call_re!=NULL)
- $offset = 120 - $call_re;
- else if($call_contra!=NULL)
- $offset = -1*(120 - $call_contra)-1;
+ if($call_contra)
+ {
+ $offset = 120 - $call_contra;
+ if($call_contra == 0)
+ $offset--; /* since we use a > in the next equation */
+
+ if($contra > 120+$offset)
+ $winning_party="contra";
+ else if ( $call_contra == NULL )
+ $winning_party="re";
+ }
+ }
- if($call_re==0)
- $offset -= 1;
+ /* one point for each call of the other party in case the other party didn't win
+ * and one point each in case the party made more than points than one of the calls
+ */
+ if($winning_party!="contra" && $call_contra!=NULL)
+ {
+ for( $p=$call_contra;$p<=120; $p+=30 )
+ {
+ mysql_query("INSERT INTO Score".
+ " VALUES( NULL,NULL,$gameid,'re',NULL,NULL,'against$p')");
+ }
- if($call_contra==0)
- $offset += 1;
+ for( $p=$call_contra; $p<120; $p+=30)
+ {
+ if( $re >= $p )
+ mysql_query("INSERT INTO Score".
+ " VALUES( NULL,NULL,$gameid,'re',NULL,NULL,'made$p')");
+ }
+ }
+ if($winning_party!="re" and $call_re!=NULL)
+ {
+ for( $p=$call_re;$p<=120; $p+=30 )
+ {
+ mysql_query("INSERT INTO Score".
+ " VALUES( NULL,NULL,$gameid,'contra',NULL,NULL,'against$p')");
+ }
- if($re > 120 + $offset)
+ for( $p=$call_re; $p<120; $p+=30)
{
- /* re won */
+ if( $contra>=$p )
+ mysql_query("INSERT INTO Score".
+ " VALUES( NULL,NULL,$gameid,'contra',NULL,NULL,'made$p')");
+ }
+ }
- /* normal win */
- foreach(array(120,150,180,210,240) as $p)
- {
- $offset = 0;
- if($p==240)
- $offset = 1;
+ /* point in case contra won */
+ if($winning_party=="contra")
+ {
+ mysql_query("INSERT INTO Score".
+ " VALUES( NULL,NULL,$gameid,'contra',NULL,NULL,'againstqueens')");
+ }
- if($re>$p-$offset)
- mysql_query("INSERT INTO Score".
- " VALUES( NULL,NULL,$gameid,'re',NULL,NULL,'$p')");
- }
+ /* one point each for winning and each 30 points + calls */
+ if($winning_party=="re")
+ {
+ foreach(array(120,150,180,210,240) as $p)
+ {
+ $offset = 0;
+ if($p==240 || $call_contra!=NULL)
+ $offset = 1;
- /* re called something and won */
- if($call_re!=NULL)
- foreach(array(0,30,60,90,120) as $p)
- {
- if($call_re<$p+1)
- mysql_query("INSERT INTO Score".
- " VALUES( NULL,NULL,$gameid,'re',NULL,NULL,'call$p')");
- }
+ if($re>$p-$offset)
+ mysql_query("INSERT INTO Score".
+ " VALUES( NULL,NULL,$gameid,'re',NULL,NULL,'".(240-$p)."')");
}
- else
+ /* re called something and won */
+ foreach(array(0,30,60,90,120) as $p)
{
- /* contra won */
- mysql_query("INSERT INTO Score".
- " VALUES( NULL,NULL,$gameid,'contra',NULL,NULL,'againstqueens')");
+ if($call_re!=NULL && $call_re<$p+1)
+ mysql_query("INSERT INTO Score".
+ " VALUES( NULL,NULL,$gameid,'re',NULL,NULL,'call$p')");
+ }
+ }
+ else if( $winning_party=="contra")
+ {
+ foreach(array(120,150,180,210,240) as $p)
+ {
+ $offset = 0;
+ if($p==240 || $call_re!=NULL)
+ $offset = 1;
- /* normal win */
- foreach(array(120,150,180,210,240) as $p)
- {
- $offset = 0;
- if($p==240)
- $offset = 1;
+ if($contra>$p-$offset)
+ mysql_query("INSERT INTO Score".
+ " VALUES( NULL,NULL,$gameid,'contra',NULL,NULL,'".(240-$p)."')");
+ }
+ /* re called something and won */
+ foreach(array(0,30,60,90,120) as $p)
+ {
+ if($call_contra!=NULL && $call_contra<$p+1)
+ mysql_query("INSERT INTO Score".
+ " VALUES( NULL,NULL,$gameid,'contra',NULL,NULL,'call$p')");
+ }
+ }
- if($re>$p-$offset)
- mysql_query("INSERT INTO Score".
- " VALUES( NULL,NULL,$gameid,'contra',NULL,NULL,'$p')");
- }
- /* re called something and won */
- if($call_re!=NULL)
- foreach(array(0,30,60,90,120) as $p)
- {
- if($call_contra<$p+1)
- mysql_query("INSERT INTO Score".
- " VALUES( NULL,NULL,$gameid,'contra',NULL,NULL,'call$p')");
- }
- }
+ /* add score points to email */
+ $message .= "\n";
+ $Tpoint = 0;
+ $message .= " Points Re: \n";
+ $queryresult = mysql_query("SELECT score FROM Score ".
+ " WHERE game_id=$gameid AND party='re'".
+ " ");
+ while($r = mysql_fetch_array($queryresult,MYSQL_NUM) )
+ {
+ $message .= " ".$r[0]."\n";
+ $Tpoint ++;
}
+ $message .= " Points Contra: \n";
+ $queryresult = mysql_query("SELECT score FROM Score ".
+ " WHERE game_id=$gameid AND party='contra'".
+ " ");
+ while($r = mysql_fetch_array($queryresult,MYSQL_NUM) )
+ {
+ $message .= " ".$r[0]."\n";
+ $Tpoint --;
+ }
+ $message .= " Total Points (from Re points of view): $Tpoint\n";
+ $message .= "\n";
+
/* send out final email */
$all = array();
$hash = DB_get_hash_from_gameid_and_userid($gameid,$user);
$link = "Use this link to have a look at game ".DB_format_gameid($gameid).": ".$host."?me=".$hash."\n\n" ;
- mymail($To,$EmailName."game over (game ".DB_format_gameid($gameid).") part 2(2)",$link);
+ if( DB_get_email_pref_by_uid($user) != "emailaddict" )
+ mymail($To,$EmailName."game over (game ".DB_format_gameid($gameid).") part 2(2)",$link);
}
}
}
" GROUP BY User.fullname" );
while( $r = mysql_fetch_array($result,MYSQL_NUM))
echo " <div class=\"card".($r[3]-1)."\">\n".
- " <span class=\"score\">".$r[2]."<br /> ".$r[1]."</span>\n".
+ " <div class=\"score\">".$r[2]."<br /> ".$r[1]."</div>\n".
" </div>\n";
echo " </div>\n </li>\n"; /* end div trick, end li trick */
/* check if game is over, display results */
if(DB_get_game_status_by_gameid($gameid)=='play')
{
- echo "the game is over for you.. other people still need to play though";
+ echo "The game is over for you.. other people still need to play though";
}
else
{
echo "<div class=\"total\"> Totals:<br />\n";
while( $r = mysql_fetch_array($result,MYSQL_NUM))
echo " ".$r[0]." ".$r[1]."<br />\n";
+
+ echo "<div class=\"re\">\n Points Re: <br />\n";
+ $queryresult = mysql_query("SELECT score FROM Score ".
+ " WHERE game_id=$gameid AND party='re'".
+ " ");
+ while($r = mysql_fetch_array($queryresult,MYSQL_NUM) )
+ echo " ".$r[0]."<br />\n";
+ echo "</div>\n";
+
+ echo "<div class=\"contra\">\n Points Contra: <br />\n";
+ $queryresult = mysql_query("SELECT score FROM Score ".
+ " WHERE game_id=$gameid AND party='contra'".
+ " ");
+ while($r = mysql_fetch_array($queryresult,MYSQL_NUM) )
+ echo " ".$r[0]."<br />\n";
echo "</div>\n";
+ echo "</div>\n";
+
+
}
break;
default:
if($ok)
{
+ $myname = DB_get_name_by_email($email);
+ $_SESSION["name"] = $myname;
+ output_status();
+
DB_get_PREF($myid);
if(myisset("setpref"))
DB_quote_smart($setpref).")");
echo "Ok, changed you preferences for the cards.\n";
break;
+ case "emailaddict":
+ case "emailnonaddict":
+ $result = mysql_query("SELECT * from User_Prefs".
+ " WHERE user_id='$myid' AND pref_key='email'" );
+ if( mysql_fetch_array($result,MYSQL_NUM))
+ $result = mysql_query("UPDATE User_Prefs SET value=".DB_quote_smart($setpref).
+ " WHERE user_id='$myid' AND pref_key='email'" );
+ else
+ $result = mysql_query("INSERT INTO User_Prefs VALUES(NULL,'$myid','email',".
+ DB_quote_smart($setpref).")");
+ echo "Ok, changed you preferences for sending out emails.\n";
+ break;
}
}
else if(myisset("passwd"))
}
else /* output default user page */
{
- $time = DB_get_user_timestamp($myid);
- $unixtime = strtotime($time);
-
- $offset = DB_get_user_timezone($myid);
- $zone = return_timezone($offset);
- date_default_timezone_set($zone);
-
- $myname = DB_get_name_by_email($email);
- $_SESSION["name"] = $myname;
-
- if(isset($_SESSION["name"]))
- output_status($_SESSION["name"]);
-
/* display links to settings */
output_user_settings();
- echo "<div class=\"lastlogin\">last login: ".date("r",$unixtime)."</div>";
-
DB_update_user_timestamp($myid);
display_user_menu();
}
else
{
- echo "Sorry email and password don't match. Please <a href=\"$host\">try again</a>. <br />";
+ echo "<div class=\"message\">Sorry email and password don't match. Please <a href=\"$host\">try again</a>. </div>";
}
};
output_footer();