/**
+ * Perform an action after messages have been reported as spam/ham.
+ *
+ * @param string $action Either 'spam' or 'ham'.
+ * @param IMP_Indices $indices The list of indices that have been
+ reported as spam/ham.
+ */
+// public function post_spam($action, $indices)
+// {
+// // Example #1: Copy messages to a (not)spam mailbox.
+// $targetMbox = 'foo';
+//
+// $imp_message = $GLOBALS['injector']->getInstance('IMP_Message');
+// $imp_message->copy($targetMbox, 'copy', $indices, array('create' => true));
+// }
+
+
+ /**
* Determine quota for a user.
*
* @param array $params Parameters for the function, set in backends.php.
'desc' => _("Set preferences for what happens when you move and delete messages."),
'members' => array(
'mailbox_return', 'delete_spam_after_report', 'move_ham_after_report',
- 'move_spam_report', 'empty_spam_menu', 'use_trash', 'trashselect',
- 'empty_trash_menu'
+ 'empty_spam_menu', 'use_trash', 'trashselect', 'empty_trash_menu'
)
);
'help' => 'prefs-move_ham_after_report'
);
-// If moving a message to the Spam mailbox, should they be reported as spam?
-$_prefs['move_spam_report'] = array(
- 'value' => 0,
- 'advanced' => true,
- 'type' => 'checkbox',
- 'desc' => _("If moving a message to the Spam mailbox, should those messages be reported as spam?")
-);
-
// should we move messages to a trash folder instead of just marking
// them as deleted?
$_prefs['use_trash'] = array(
v5.0-git
--------
+[mms] Add post_spam hook called after reporting spam/ham (Request #6455).
[mms] Implement stationery support in DIMP.
[mms] Add preference to control displayed content for multipart/alternative
parts (Request #6711).
server.
[mms] Add preference to control if we check for recipient PGP public keys
when replying (Request #7962).
-[mms] Add preference to allow for automatic spam reporting when explicitly
- moving messages to the Spam mailbox (Request #6455).
[mms] Automatically determine view based on browser and 'dynamic_view'
preference (Request #9159).
[mms] Add preference to define default font family/size for the HTML compose
}
}
- /* Determine if report on move to Spam mailbox is active. */
- $spam_report =
- $prefs->getValue('move_spam_report') &&
- ($targetMbox == IMP::folderPref($prefs->getValue('spam_folder'), true));
-
$imap_move = false;
$return_value = true;
$opts['mailboxob']->isBuilt()) {
$opts['mailboxob']->removeMsgs(new IMP_Indices($mbox, $msgIndices));
}
-
- if ($spam_report) {
- IMP_Spam::reportSpam(new IMP_Indices($mbox, $msgIndices), 'spam', array('noaction' => true));
- }
} catch (Horde_Imap_Client_Exception $e) {
$error = $e->getMessage();
}
case 'delmove':
if ($pop3) {
$ui->suppress[] = 'move_ham_after_report';
- $ui->suppress[] = 'move_spam_report';
$ui->suppress[] = 'empty_spam_menu';
$ui->suppress[] = 'use_trash';
$ui->suppress[] = 'trashselect';
$ui->suppress[] = 'empty_trash_menu';
- } else {
- if ($prefs->isLocked('use_trash') ||
- !$prefs->getValue('use_trash')) {
- $ui->suppress[] = 'trashselect';
- $ui->suppress[] = 'empty_trash_menu';
- }
-
- if (!$prefs->getValue('spam_folder')) {
- $ui->suppress[] = 'move_spam_report';
- }
+ } elseif ($prefs->isLocked('use_trash') ||
+ !$prefs->getValue('use_trash')) {
+ $ui->suppress[] = 'trashselect';
+ $ui->suppress[] = 'empty_trash_menu';
}
break;
$mbox_args['mailboxob'] = $opts['mailboxob'];
}
+ /* Run post-reporting hook. */
+ try {
+ Horde::callHook('post_spam', array($action, $indices), 'imp');
+ } catch (Horde_Exception_HookNotSet $e) {}
+
/* Delete/move message after report. */
switch ($action) {
case 'spam':