[prev in list] [next in list] [prev in thread] [next in thread]
List: squirrelmail-cvs
Subject: [SM-CVS] SF.net SVN: squirrelmail: [13065]
From: pdontthink () users ! sourceforge ! net
Date: 2008-04-25 22:01:46
Message-ID: E1JpVzG-0006Rg-Rd () sc8-pr-svn2 ! sourceforge ! net
[Download RAW message or body]
Revision: 13065
http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=13065&view=rev
Author: pdontthink
Date: 2008-04-25 15:01:46 -0700 (Fri, 25 Apr 2008)
Log Message:
-----------
Don't open multiple IMAP connections when building reply headers during send
Modified Paths:
--------------
branches/SM-1_4-STABLE/squirrelmail/class/deliver/Deliver.class.php
branches/SM-1_4-STABLE/squirrelmail/src/compose.php
Modified: branches/SM-1_4-STABLE/squirrelmail/class/deliver/Deliver.class.php
===================================================================
--- branches/SM-1_4-STABLE/squirrelmail/class/deliver/Deliver.class.php 2008-04-25 \
21:59:00 UTC (rev 13064)
+++ branches/SM-1_4-STABLE/squirrelmail/class/deliver/Deliver.class.php 2008-04-25 \
22:01:46 UTC (rev 13065) @@ -56,13 +56,24 @@
* can be passed in here and used in
* an overloaded version of this method
* if needed.
+ * @param resource $imap_stream If there is an open IMAP stream in
+ * the caller's context, it should be
+ * passed in here. This is OPTIONAL,
+ * as one will be created if not given,
+ * but as some IMAP servers may baulk
+ * at opening more than one connection
+ * at a time, the caller should always
+ * abide if possible. Currently, this
+ * stream is only used when $reply_id
+ * is also non-zero, but that is subject
+ * to change.
*
* @return integer The number of bytes written (or that would have been
* written) to the output stream.
*
*/
function mail(&$message, $stream=false, $reply_id=0, $reply_ent_id=0,
- $extra=NULL) {
+ $extra=NULL, $imap_stream=NULL) {
$rfc822_header = &$message->rfc822_header;
@@ -81,13 +92,28 @@
global $imapConnection, $username, $key, $imapServerAddress,
$imapPort, $mailbox;
- if (!is_resource($imapConnection))
- $imapConnection = sqimap_login($username, $key,
+ // try our best to use an existing IMAP handle
+ //
+ $close_imap_stream = FALSE;
+ if (is_resource($imap_stream)) {
+ $my_imap_stream = $imap_stream;
+
+ } else if (is_resource($imapConnection)) {
+ $my_imap_stream = $imapConnection;
+
+ } else {
+ $close_imap_stream = TRUE;
+ $my_imap_stream = sqimap_login($username, $key,
$imapServerAddress, $imapPort, 0);
+ }
- sqimap_mailbox_select($imapConnection, $mailbox);
- $reply_message = sqimap_get_message($imapConnection, $reply_id, \
$mailbox); + sqimap_mailbox_select($my_imap_stream, $mailbox);
+ $reply_message = sqimap_get_message($my_imap_stream, $reply_id, \
$mailbox);
+ if ($close_imap_stream) {
+ sqimap_logout($my_imap_stream);
+ }
+
if ($reply_ent_id) {
/* redefine the messsage in case of message/rfc822 */
$reply_message = $message->getEntity($reply_ent_id);
Modified: branches/SM-1_4-STABLE/squirrelmail/src/compose.php
===================================================================
--- branches/SM-1_4-STABLE/squirrelmail/src/compose.php 2008-04-25 21:59:00 UTC (rev \
13064)
+++ branches/SM-1_4-STABLE/squirrelmail/src/compose.php 2008-04-25 22:01:46 UTC (rev \
13065) @@ -1652,7 +1652,7 @@
if (($fld_sent && $svr_allow_sent && !$lcl_allow_sent) || ($fld_sent && \
$lcl_allow_sent)) {
require_once(SM_PATH . 'class/deliver/Deliver_IMAP.class.php');
$imap_deliver = new Deliver_IMAP();
- $imap_deliver->mail($composeMessage, $imap_stream, $reply_id, \
$reply_ent_id, $sent_folder); + $imap_deliver->mail($composeMessage, \
$imap_stream, $reply_id, $reply_ent_id, $sent_folder, $imap_stream); unset \
($imap_deliver); }
$composeMessage->purgeAttachments();
This was sent by the SourceForge.net collaborative development platform, the world's \
largest Open Source development site.
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
-----
squirrelmail-cvs mailing list
List address: squirrelmail-cvs@lists.sourceforge.net
List info (subscribe/unsubscribe/change options): \
https://lists.sourceforge.net/lists/listinfo/squirrelmail-cvs
Repository: http://squirrelmail.org/svn
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic