diff --git a/imp/docs/CHANGES b/imp/docs/CHANGES index ecb69139ef1..cd736526e65 100644 --- a/imp/docs/CHANGES +++ b/imp/docs/CHANGES @@ -8,6 +8,7 @@ v6.3.0-git v6.2.1 ------ +[mms] Don't perform purge Spam login task unless Spam mailbox exists. [mms] Fix dragging a mailbox to the base level in dynamic view. [mms] Add ability to drag/drop text to dynamic HTML compose window on Chrome and IE. diff --git a/imp/lib/LoginTasks/Task/PurgeSpam.php b/imp/lib/LoginTasks/Task/PurgeSpam.php index 01f78c24140..c3970a603c7 100644 --- a/imp/lib/LoginTasks/Task/PurgeSpam.php +++ b/imp/lib/LoginTasks/Task/PurgeSpam.php @@ -28,8 +28,11 @@ class IMP_LoginTasks_Task_PurgeSpam extends Horde_LoginTasks_Task */ public function __construct() { - if ($this->interval = $GLOBALS['prefs']->getValue('purge_spam_interval')) { - if ($GLOBALS['prefs']->isLocked('purge_spam_interval')) { + global $prefs; + + if (($this->interval = $prefs->getValue('purge_spam_interval')) && + $this->_spamMbox()) { + if ($prefs->isLocked('purge_spam_interval')) { $this->display = Horde_LoginTasks::DISPLAY_NONE; } } else { @@ -44,9 +47,7 @@ public function __construct() */ public function execute() { - /* If there is no Spam mailbox set, or it doesn't exist, exit. */ - if (!($spam = IMP_Mailbox::getPref(IMP_Mailbox::MBOX_SPAM)) || - !$spam->exists) { + if (!($spam = $this->_spamMbox())) { return false; } @@ -83,4 +84,16 @@ public function describe() $GLOBALS['prefs']->getValue('purge_spam_keep')); } + /** + * Return the spam mailbox. + * + * @return IMP_Mailbox The spam mailbox, if it exists. Otherwise, false. + */ + protected function _spamMbox() + { + return (($spam = IMP_Mailbox::getPref(IMP_Mailbox::MBOX_SPAM)) && $spam->exists) + ? $spam + : false; + } + } diff --git a/imp/package.xml b/imp/package.xml index e7a3d131aa9..1f225bca229 100644 --- a/imp/package.xml +++ b/imp/package.xml @@ -3699,6 +3699,7 @@ 2014-07-08 GPL-2.0 +* [mms] Don't perform purge Spam login task unless Spam mailbox exists. * [mms] Fix dragging a mailbox to the base level in dynamic view. * [mms] Add ability to drag/drop text to dynamic HTML compose window on Chrome and IE. * [mms] Re-enable drag/drop of text to dynamic plaintext compose window (Bug #13281).