uasort($messages, array(__CLASS__, 'severitySort'));
-CRM_Core_Error::debug('messages', $messages);
return $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(),
$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;
}
+
}