Uses MarkCandidateAsAccepted to improve the reminders speed.
authorStéphane Jacob <jacou@melix.net>
Mon, 1 Jun 2009 08:44:41 +0000 (10:44 +0200)
committerStéphane Jacob <jacou@melix.net>
Mon, 1 Jun 2009 17:14:44 +0000 (19:14 +0200)
include/reminder/ax_letter.inc.php
include/reminder/email_backup.inc.php
include/reminder/gapps.inc.php
include/reminder/ml.inc.php
include/reminder/nl.inc.php
include/reminder/promotion_ml.inc.php

index afa167e..3e0cdf2 100644 (file)
@@ -47,7 +47,11 @@ class ReminderAxLetter extends Reminder
     public static function IsCandidate(User &$user, $candidate)
     {
         Platal::load('axletter', 'axletter.inc.php');
-        return !(AXLetter::subscriptionState());
+        $isSubscribed = AXLetter::subscriptionState();
+        if ($isSubscribed) {
+            Reminder::MarkCandidateAsAccepted($user->id(), $candidate);
+        }
+        return !$isSubscribed;
     }
 }
 
index 0dc5899..dca3b0e 100644 (file)
@@ -51,8 +51,11 @@ class ReminderEmailBackup extends Reminder
     public static function IsCandidate(User &$user, $candidate)
     {
         require_once 'emails.inc.php';
-        $storage = new EmailStorage($user, 'imap');
-        return $storage->active;
+        $storage  = new EmailStorage($user, 'imap');
+        if ($storage->active) {
+            Reminder::MarkCandidateAsAccepted($user->id(), $candidate);
+        }
+        return !$storage->active;
     }
 }
 
index 976399d..aa4921d 100644 (file)
@@ -50,7 +50,11 @@ class ReminderGapps extends Reminder
     public static function IsCandidate(User &$user, $candidate)
     {
         require_once 'googleapps.inc.php';
-        return GoogleAppsAccount::account_status($user->id());
+        $isSubscribed = GoogleAppsAccount::account_status($user->id());
+        if ($isSubscribed) {
+            Reminder::MarkCandidateAsAccepted($user->id(), $candidate);
+        }
+        return !$isSubscribed;
     }
 }
 
index 81a4766..7e4b297 100644 (file)
@@ -92,7 +92,11 @@ class ReminderMl extends Reminder
                               WHERE  uid = {?} AND type = 'list'",
                             $user->id());
 
-        return $res->fetchOneCell();
+        $mlCount = $res->fetchOneCell();
+        if (!$mlCount) {
+            Reminder::MarkCandidateAsAccepted($user->id(), $candidate);
+        }
+        return ($mlCount > 0);
     }
 }
 
index d6be4c1..f5d38c8 100644 (file)
@@ -48,7 +48,11 @@ class ReminderNl extends Reminder
     public static function IsCandidate(User &$user, $candidate)
     {
         require_once 'newsletter.inc.php';
-        return !(Newsletter::subscriptionState());
+        $isSubscribed = Newsletter::subscriptionState();
+        if ($isSubscribed) {
+            Reminder::MarkCandidateAsAccepted($user->id(), $candidate);
+        }
+        return !$isSubscribed;
     }
 }
 
index ca36dca..aee6747 100644 (file)
@@ -69,7 +69,11 @@ class ReminderPromotionMl extends Reminder
                                                              WHERE  diminutif = {?})',
                           $user->id(), S::v('promo'));
 
-        return ($res->fetchOneCell() > 0);
+        $mlCount = $res->fetchOneCell();
+        if ($mlCount) {
+            Reminder::MarkCandidateAsAccepted($user->id(), $candidate);
+        }
+        return ($mlCount > 0);
     }
 }