|
From: Rudi B. <ru...@us...> - 2004-11-22 21:52:10
|
Update of /cvsroot/jawmail/mail In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1875 Modified Files: mailbox.php read.php Log Message: A little feature that allows simple plugins to handle things such as Spam reports, Spam/Ham feeding, ... Index: mailbox.php =================================================================== RCS file: /cvsroot/jawmail/mail/mailbox.php,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- mailbox.php 11 Aug 2004 11:37:33 -0000 1.8 +++ mailbox.php 22 Nov 2004 21:51:59 -0000 1.9 @@ -3,12 +3,12 @@ require_once 'lib/base.php'; require_once 'lib/mailbox.php'; - $JAW->plugins->hook('mail.index.after_init'); $_['page']['js'][] = 'js/index.js'; -require_once('lib/imap_utils.php'); +require_once 'lib/imap_utils.php'; +require_once 'lib/message_action.php'; if (!empty($_REQUEST['mailbox'])) { $uniq = $_REQUEST['mailbox']; @@ -31,6 +31,16 @@ $_['page']['title'] = $Mailbox->title; +$msg_actions_mng = new Mail_Message_Actions_Manager; + +$msg_actions_mng->page = 'mailbox.php'; + +$JAW->plugins->hook('mail_message_actions_load', + array('manager' => &$msg_actions_mng) + ); + + + $selected_messages = $_POST['msg']; /* select the entire folder? */ if ($_POST['_select_folder'] == '1') { @@ -38,73 +48,87 @@ } switch (utils::fetch_var('action')) { - case MAIL_ACTION_EMPTY_TRASH: - $i = IMAP_Utils::Empty_Folder($JAW->prefs->get('folder_trash', 'mail')); - - if ($i > 0) { - $JAW->message( - _("Trash folder was successfully emptied!") . ' ' . - sprintf( - ngettext("%d message was deleted!", "%d messages were deleted!", $i), - $i - ), - JAW_SUCCESS - ); - } - - break; - - case MAIL_ACTION_DELETE: - imap_utils::delete($selected_messages); - - break; - case MAIL_ACTION_MOVE: - if (empty($_POST['dest_mbox'])) { - break; - } - - imap_utils::move($selected_messages, $_POST['dest_mbox']); - - $JAW->message( - sprintf(ngettext("%d message was moved into the folder %s!", "%d messages were moved into the folder %s!", count($selected_messages)), - count($_POST['msg']), imap_utils::folder_name_display($_POST['dest_mbox']) - ), - - JAW_SUCCESS - ); - - break; - case MAIL_ACTION_COPY: - if (empty($_POST['dest_mbox'])) { - break; - } - - imap_utils::copy($selected_messages, $_POST['dest_mbox']); - - $JAW->message( - sprintf(ngettext("%d message was copied into the folder %s!", "%d messages were copied into the folder %s!", count($selected_messages)), - count($selected_messages), imap_utils::folder_name_display($_POST['dest_mbox']) - ), - - JAW_SUCCESS - ); - - break; - case MAIL_ACTION_SEARCH_FORM_SUBMIT: - - foreach (array('subject', 'body', 'to', 'from', 'cc') as $v) { - if (!empty($_POST[$v])) { - $Mailbox->setSearchCriteria($v, $_POST[$v]); - } - } + case MAIL_ACTION_EMPTY_TRASH: + $i = IMAP_Utils::Empty_Folder($JAW->prefs->get('folder_trash', 'mail')); + + if ($i > 0) { + $JAW->message( + _("Trash folder was successfully emptied!") . ' ' . + sprintf( + ngettext("%d message was deleted!", "%d messages were deleted!", $i), + $i + ), + JAW_SUCCESS + ); + } + + break; - foreach (array('personal', 'seen', 'answered', 'deleted') as $v) { - $Mailbox->setSearchCriteria('flags.' . $v, $_POST[$v]); - } + case MAIL_ACTION_DELETE: + imap_utils::delete($selected_messages); + + break; + case MAIL_ACTION_MOVE: + if (empty($_POST['dest_mbox'])) { + break; + } - $Mailbox->title = sprintf(__("Search results in %s"), $Mailbox->title); + imap_utils::move($selected_messages, $_POST['dest_mbox']); + + $JAW->message( + sprintf(ngettext("%d message was moved into the folder %s!", "%d messages were moved into the folder %s!", count($selected_messages)), + count($_POST['msg']), imap_utils::folder_name_display($_POST['dest_mbox']) + ), + + JAW_SUCCESS + ); + + break; + case MAIL_ACTION_COPY: + if (empty($_POST['dest_mbox'])) { + break; + } + + imap_utils::copy($selected_messages, $_POST['dest_mbox']); + + $JAW->message( + sprintf(ngettext("%d message was copied into the folder %s!", "%d messages were copied into the folder %s!", count($selected_messages)), + count($selected_messages), imap_utils::folder_name_display($_POST['dest_mbox']) + ), + + JAW_SUCCESS + ); + + break; + case MAIL_ACTION_SEARCH_FORM_SUBMIT: - break; + foreach (array('subject', 'body', 'to', 'from', 'cc') as $v) { + if (!empty($_POST[$v])) { + $Mailbox->setSearchCriteria($v, $_POST[$v]); + } + } + + foreach (array('personal', 'seen', 'answered', 'deleted') as $v) { + $Mailbox->setSearchCriteria('flags.' . $v, $_POST[$v]); + } + + $Mailbox->title = sprintf(__("Search results in %s"), $Mailbox->title); + + break; + + + + default: + /* message action manager */ + + $msg_actions_mng->handle(utils::fetch_var('action'), + $selected_messages + ); + + + + + break; } Index: read.php =================================================================== RCS file: /cvsroot/jawmail/mail/read.php,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- read.php 11 Aug 2004 11:37:33 -0000 1.15 +++ read.php 22 Nov 2004 21:51:59 -0000 1.16 @@ -72,6 +72,7 @@ require_once JAW_ROOT . 'lib/mime/renderer.php'; require_once JAW_ROOT . 'lib/html/list.php'; +require_once 'lib/message_action.php'; if (!empty($_REQUEST['mailbox'])) { $uniq = $_REQUEST['mailbox']; @@ -96,6 +97,17 @@ exit(); } + +$msg_actions_mng = new Mail_Message_Actions_Manager; +$msg_actions_mng->page = 'read.php'; +$JAW->plugins->hook('mail_message_actions_load', + array('manager' => &$msg_actions_mng) + ); + + + + + /* ============================================================================================= */ /* parse actions */ @@ -150,6 +162,13 @@ break; default: + + /* message action manager */ + + $msg_actions_mng->handle($_REQUEST['action'], + $_GET['muid'] + ); + break; } |