From 700b1cf17a971c92c4caf87077c999196540d28f Mon Sep 17 00:00:00 2001 From: =?utf8?q?St=C3=A9phane=20Jacob?= Date: Mon, 1 Jun 2009 10:44:41 +0200 Subject: [PATCH] Uses MarkCandidateAsAccepted to improve the reminders speed. --- include/reminder/ax_letter.inc.php | 6 +++++- include/reminder/email_backup.inc.php | 7 +++++-- include/reminder/gapps.inc.php | 6 +++++- include/reminder/ml.inc.php | 6 +++++- include/reminder/nl.inc.php | 6 +++++- include/reminder/promotion_ml.inc.php | 6 +++++- 6 files changed, 30 insertions(+), 7 deletions(-) diff --git a/include/reminder/ax_letter.inc.php b/include/reminder/ax_letter.inc.php index afa167e..3e0cdf2 100644 --- a/include/reminder/ax_letter.inc.php +++ b/include/reminder/ax_letter.inc.php @@ -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; } } diff --git a/include/reminder/email_backup.inc.php b/include/reminder/email_backup.inc.php index 0dc5899..dca3b0e 100644 --- a/include/reminder/email_backup.inc.php +++ b/include/reminder/email_backup.inc.php @@ -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; } } diff --git a/include/reminder/gapps.inc.php b/include/reminder/gapps.inc.php index 976399d..aa4921d 100644 --- a/include/reminder/gapps.inc.php +++ b/include/reminder/gapps.inc.php @@ -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; } } diff --git a/include/reminder/ml.inc.php b/include/reminder/ml.inc.php index 81a4766..7e4b297 100644 --- a/include/reminder/ml.inc.php +++ b/include/reminder/ml.inc.php @@ -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); } } diff --git a/include/reminder/nl.inc.php b/include/reminder/nl.inc.php index d6be4c1..f5d38c8 100644 --- a/include/reminder/nl.inc.php +++ b/include/reminder/nl.inc.php @@ -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; } } diff --git a/include/reminder/promotion_ml.inc.php b/include/reminder/promotion_ml.inc.php index ca36dca..aee6747 100644 --- a/include/reminder/promotion_ml.inc.php +++ b/include/reminder/promotion_ml.inc.php @@ -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); } } -- 2.1.4