From a253d734b1b1fc2b8b9376ddddeb5fdb7fd86e7e Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Fri, 15 May 2009 13:42:52 -0600 Subject: [PATCH] Convert delete() to use options parameter --- imp/ajax.php | 2 +- imp/compose-dimp.php | 2 +- imp/compose-mimp.php | 2 +- imp/lib/Maintenance/Task/purge_sentmail.php | 2 +- imp/lib/Maintenance/Task/purge_spam.php | 2 +- imp/lib/Maintenance/Task/purge_trash.php | 2 +- imp/lib/Message.php | 23 +++++++++++++---------- imp/message.php | 2 +- 8 files changed, 20 insertions(+), 17 deletions(-) diff --git a/imp/ajax.php b/imp/ajax.php index 8a1a12dcf..e9c5cd3c8 100644 --- a/imp/ajax.php +++ b/imp/ajax.php @@ -537,7 +537,7 @@ case 'DeleteDraft': } $imp_message = IMP_Message::singleton(); $idx_array = array($index . IMP::IDX_SEP . IMP::folderPref($prefs->getValue('drafts_folder'), true)); - $imp_message->delete($idx_array, true); + $imp_message->delete($idx_array, array('nuke' => true)); break; case 'DeleteAttach': diff --git a/imp/compose-dimp.php b/imp/compose-dimp.php index 41f353071..8639763e4 100644 --- a/imp/compose-dimp.php +++ b/imp/compose-dimp.php @@ -21,7 +21,7 @@ function _removeAutoSaveDraft($index) { if (!empty($index)) { $imp_message = &IMP_Message::singleton(); - $imp_message->delete(array($index . IMP::IDX_SEP . IMP::folderPref($GLOBALS['prefs']->getValue('drafts_folder'), true)), true); + $imp_message->delete(array($index . IMP::IDX_SEP . IMP::folderPref($GLOBALS['prefs']->getValue('drafts_folder'), true)), array('nuke' => true)); } } diff --git a/imp/compose-mimp.php b/imp/compose-mimp.php index c7c94351d..0791f4791 100644 --- a/imp/compose-mimp.php +++ b/imp/compose-mimp.php @@ -219,7 +219,7 @@ case _("Send"): $prefs->getValue('auto_delete_drafts')) { $imp_message = &IMP_Message::singleton(); $idx_array = array($index . IMP::IDX_SEP . $thismailbox); - $delete_draft = $imp_message->delete($idx_array, true); + $delete_draft = $imp_message->delete($idx_array, array('nuke' => true)); } $notification->push(_("Message sent successfully."), 'horde.success'); diff --git a/imp/lib/Maintenance/Task/purge_sentmail.php b/imp/lib/Maintenance/Task/purge_sentmail.php index cf79d044f..e4c3ad66e 100644 --- a/imp/lib/Maintenance/Task/purge_sentmail.php +++ b/imp/lib/Maintenance/Task/purge_sentmail.php @@ -49,7 +49,7 @@ class Maintenance_Task_purge_sentmail extends Maintenance_Task } /* Go through the message list and delete the messages. */ - if ($imp_message->delete(array($mbox => $msg_ids), true)) { + if ($imp_message->delete(array($mbox => $msg_ids), array('nuke' => true))) { $msgcount = count($msg_ids); if ($msgcount == 1) { $notification->push(sprintf(_("Purging 1 message from sent-mail folder %s."), IMP::displayFolder($mbox)), 'horde.message'); diff --git a/imp/lib/Maintenance/Task/purge_spam.php b/imp/lib/Maintenance/Task/purge_spam.php index 5fe6978d9..cced3fdb8 100644 --- a/imp/lib/Maintenance/Task/purge_spam.php +++ b/imp/lib/Maintenance/Task/purge_spam.php @@ -49,7 +49,7 @@ class Maintenance_Task_purge_spam extends Maintenance_Task /* Go through the message list and delete the messages. */ $imp_message = IMP_Message::singleton(); - if ($imp_message->delete(array($spam_folder => $msg_ids), true)) { + if ($imp_message->delete(array($spam_folder => $msg_ids), array('nuke' => true))) { $msgcount = count($msg_ids); if ($msgcount == 1) { $notification->push(_("Purging 1 message from Spam folder."), 'horde.message'); diff --git a/imp/lib/Maintenance/Task/purge_trash.php b/imp/lib/Maintenance/Task/purge_trash.php index 9e0da8f45..205c6f19e 100644 --- a/imp/lib/Maintenance/Task/purge_trash.php +++ b/imp/lib/Maintenance/Task/purge_trash.php @@ -49,7 +49,7 @@ class Maintenance_Task_purge_trash extends Maintenance_Task /* Go through the message list and delete the messages. */ $imp_message = IMP_Message::singleton(); - if ($imp_message->delete(array($trash_folder => $msg_ids), true)) { + if ($imp_message->delete(array($trash_folder => $msg_ids), array('nuke' => true))) { $msgcount = count($msg_ids); if ($msgcount == 1) { $notification->push(_("Purging 1 message from Trash folder."), 'horde.message'); diff --git a/imp/lib/Message.php b/imp/lib/Message.php index 61155092e..b6b9280b5 100644 --- a/imp/lib/Message.php +++ b/imp/lib/Message.php @@ -163,16 +163,19 @@ class IMP_Message * Trash folder is being used. * Handles use of the IMP::SEARCH_MBOX mailbox and the Trash folder. * - * @param mixed $indices See IMP::parseIndicesList(). - * @param boolean $nuke Override user preferences and nuke (i.e. - * permanently delete) the messages instead? - * @param boolean $keeplog Should any history information of the - * message be kept? + * @param mixed $indices See IMP::parseIndicesList(). + * @param array $options Additional options: + *
+     * 'keeplog' - (boolean) Should any history information of the message be
+     *             kept?
+     * 'nuke' - (boolean) Override user preferences and nuke (i.e. permanently
+     *          delete) the messages instead?
+     * 
* * @return integer|boolean The number of messages deleted if successful, * false if not. */ - public function delete($indices, $nuke = false, $keeplog = false) + public function delete($indices, $options = array()) { global $conf, $notification, $prefs; @@ -189,10 +192,10 @@ class IMP_Message } $return_value = 0; - $maillog_update = (!$keeplog && !empty($conf['maillog']['use_maillog'])); + $maillog_update = (empty($options['keeplog']) && !empty($conf['maillog']['use_maillog'])); /* Check for Trash folder. */ - $use_trash_folder = !$this->_usepop && !$nuke && !$use_vtrash && $use_trash; + $use_trash_folder = !$this->_usepop && empty($options['nuke']) && !$use_vtrash && $use_trash; if ($use_trash_folder) { include_once IMP_BASE . '/lib/Folder.php'; $imp_folder = IMP_Folder::singleton(); @@ -255,7 +258,7 @@ class IMP_Message $del_flags = array('\\deleted'); if ($this->_usepop || - $nuke || + !empty($options['nuke']) || ($use_trash && ($mbox == $trash)) || ($use_vtrash && ($GLOBALS['imp_search']->isVTrashFolder()))) { /* Purge messages immediately. */ @@ -539,7 +542,7 @@ class IMP_Message throw new Horde_Exception(_("An error occured while attempting to strip the attachment.")); } - $this->delete($indices, true, true); + $this->delete($indices, array('nuke' => true, 'keeplog' => true)); $imp_mailbox = IMP_Mailbox::singleton($mbox); $imp_mailbox->setIndex(reset($uid)); diff --git a/imp/message.php b/imp/message.php index 66193e0bd..1979967f4 100644 --- a/imp/message.php +++ b/imp/message.php @@ -410,7 +410,7 @@ if (!IMP::$printMode) { * message in the header. */ $h_page_label = htmlspecialchars($page_label); $header_label = $h_page_label; - if ($imp_search->isSearchMbox()) { + if ($imp_search->isSearchMbox($imp_mbox['mailbox'])) { $header_label .= ' [' . Horde::link(Util::addParameter(Horde::applicationUrl('mailbox.php'), 'mailbox', $mailbox_name)) . IMP::displayFolder($mailbox_name) . ']'; } -- 2.11.0