summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArun Persaud <arun@nubati.net>2012-06-09 08:53:39 -0700
committerArun Persaud <arun@nubati.net>2012-06-09 09:48:09 -0700
commit5d1647f138763213a32e3e1ba426e3f86157f018 (patch)
tree0b7c1ffdf98bd0f42c4e09377e3747f3535478f9
parent21099cf40f1696e4e2213e3a497246a2e5570209 (diff)
downloade-DoKo-5d1647f138763213a32e3e1ba426e3f86157f018.tar.gz
e-DoKo-5d1647f138763213a32e3e1ba426e3f86157f018.tar.bz2
e-DoKo-5d1647f138763213a32e3e1ba426e3f86157f018.zip
Remove games from digest where the player already moved
-rw-r--r--create_database.sql2
-rw-r--r--digest.php10
-rw-r--r--include/db.php11
-rw-r--r--include/functions.php2
-rw-r--r--update_db.php9
5 files changed, 28 insertions, 6 deletions
diff --git a/create_database.sql b/create_database.sql
index f7eb458..3d5a1d4 100644
--- a/create_database.sql
+++ b/create_database.sql
@@ -492,6 +492,8 @@ create table digest_email (
`id` int(11) NOT NULL auto_increment,
`email` varchar(255) default null,
`create_date` timestamp NOT NULL default '0000-00-00 00:00:00',
+ `type` enum('misc','your_turn') NOT NULL default 'misc',
+ `game_id` int(11) default NULL,
`content` text,
UNIQUE KEY `id` (`id`),
index (email)
diff --git a/digest.php b/digest.php
index 0762519..d501e0a 100644
--- a/digest.php
+++ b/digest.php
@@ -105,6 +105,16 @@ foreach($users as $uid)
// get messages
$messages = DB_get_digest_message_by_email($email);
+ // check messages for outdated ones and delete those
+ foreach ($messages as $key=>$mess)
+ {
+ if($mess[2] == 'your_turn' && $uid != DB_get_player_by_gameid($mess[3]) )
+ {
+ DB_digest_delete_message($mess[0]);
+ unset($messages[$key]);
+ }
+ }
+
// add them together
if(sizeof($messages))
{
diff --git a/include/db.php b/include/db.php
index 0523fea..1f02169 100644
--- a/include/db.php
+++ b/include/db.php
@@ -30,7 +30,7 @@ if(!isset($HOST))
function DB_open()
{
- $version_needed = 3;
+ $version_needed = 4;
global $DB,$DB_user,$DB_host,$DB_database,$DB_password;
$DB = @mysql_connect($DB_host,$DB_user, $DB_password);
@@ -1242,9 +1242,12 @@ function DB_get_number_of_tricks($gameid,$position)
return $r[0];
}
-function DB_digest_insert_email($To,$message)
+function DB_digest_insert_email($To,$message,$type,$gameid)
{
- DB_query("INSERT INTO digest_email VALUES (NULL,".DB_quote_smart($To).",NULL,".DB_quote_smart($message).")");
+ if($type == GAME_YOUR_TURN)
+ DB_query("INSERT INTO digest_email VALUES (NULL,".DB_quote_smart($To).",NULL,'your_turn',$gameid,".DB_quote_smart($message).")");
+ else
+ DB_query("INSERT INTO digest_email VALUES (NULL,".DB_quote_smart($To).",NULL,'misc',NULL,".DB_quote_smart($message).")");
return;
}
@@ -1263,7 +1266,7 @@ function DB_get_digest_message_by_email($email)
{
$messages = array();
- $result = DB_query("SELECT id,content FROM digest_email Where email='$email'");
+ $result = DB_query("SELECT id,content,type,game_id FROM digest_email Where email='$email'");
while($r = DB_fetch_array($result))
$messages[]=$r;
diff --git a/include/functions.php b/include/functions.php
index a17ce08..897b20e 100644
--- a/include/functions.php
+++ b/include/functions.php
@@ -196,7 +196,7 @@ function mymail($uid,$gameid=0,$type,$message)
else
{
/* store email in database */
- DB_digest_insert_email($To,$message);
+ DB_digest_insert_email($To,$message,$type,$gameid);
}
}
diff --git a/update_db.php b/update_db.php
index b47a94a..edb01f9 100644
--- a/update_db.php
+++ b/update_db.php
@@ -38,7 +38,7 @@ if(isset($_SERVER['REMOTE_ADDR']))
exit();
$old_version = DB_get_version();
-$current_version = 3;
+$current_version = 4;
if($old_version < $current_version)
echo "Will upgrade your database now:\n";
@@ -74,6 +74,13 @@ switch($old_version)
" ADD COLUMN `game_id` int(11) default NULL AFTER play_id");
DB_query("UPDATE Version set version=3");
echo "Upgraded to version 3.\n";
+ case 3:
+ DB_query("ALTER TABLE digest_email".
+ " ADD COLUMN `game_id` int(11) default NULL AFTER create_date");
+ DB_query("ALTER TABLE digest_email".
+ " ADD COLUMN `type` enum('misc','your_turn') NOT NULL default 'misc' AFTER create_date");
+ DB_query("UPDATE Version set version=4");
+ echo "Upgraded to version 4.\n";
}