$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".
$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')");
-
- /* normal win */
- foreach(array(120,150,180,210,240) as $p)
- {
- $offset = 0;
- if($p==240)
- $offset = 1;
-
- if($re>$p-$offset)
- mysql_query("INSERT INTO Score".
- " VALUES( NULL,NULL,$gameid,'contra',NULL,NULL,'$p')");
- }
+ 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;
- /* 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')");
- }
+ 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')");
}
}
+
+
/* 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);
}
}
}
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:
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"))