From d47e1e1d87ef146d0a99e308b768535e02ad1348 Mon Sep 17 00:00:00 2001 From: Jon goldberg Date: Tue, 28 Apr 2015 17:15:33 -0600 Subject: [PATCH] CRM-13283 - snooze/hush working --- CRM/Utils/Check.php | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/CRM/Utils/Check.php b/CRM/Utils/Check.php index 00383282fa..11e02554b8 100644 --- a/CRM/Utils/Check.php +++ b/CRM/Utils/Check.php @@ -218,7 +218,6 @@ class CRM_Utils_Check { uasort($messages, array(__CLASS__, 'severitySort')); -CRM_Core_Error::debug('messages', $messages); return $messages; } @@ -229,9 +228,6 @@ CRM_Core_Error::debug('messages', $messages); * TRUE means hush/snooze, FALSE means display. */ public function checkHushSnooze($message) { - // My pseudocode: - // If current_date < statusPreference->date, unset the $message. - // CRM_Core_Error::debug('message', $message); $statusPreferenceParams = array( 'name' => $message->getName(), 'domain_id' => CRM_Core_Config::domainID(), @@ -243,20 +239,27 @@ CRM_Core_Error::debug('messages', $messages); $spid = $statusPreference['id']; $severity = self::severityMap($message->getSeverity()); if ($severity <= $statusPreference['values'][$spid]['ignore_severity']) { - CRM_Core_Error::debug('snooze', 'possible snooze/hush!'); // A hush or a snooze has been set. Find out which. if ($statusPreference['values'][$spid]['hush_until']) { - // Snooze. - CRM_Core_Error::debug('snoozepath', 'snooze'); + // Snooze is set. $today = new DateTime(); + $snoozeDate = new DateTime($statusPreference['values'][$spid]['hush_until']); + if ($today > $snoozeDate) { + // Snooze is expired. + return FALSE; + } + else { + // Snooze is active. + return TRUE; + } } else { // Hush. - CRM_Core_Error::debug('hushpath', 'hush'); return TRUE; } } } return FALSE; } + } -- 2.25.1