From d68b32430f37ab9828481d8c014847c7ceb43c37 Mon Sep 17 00:00:00 2001 From: RainLoop Team Date: Fri, 20 Feb 2015 21:47:00 +0400 Subject: [PATCH] Allow BBS for "Sent" messages (Closes #454) --- .../0.0.0/app/libraries/RainLoop/Actions.php | 42 +++++++++++++++---- 1 file changed, 34 insertions(+), 8 deletions(-) diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php b/rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php index e2fb5886a..532e4b534 100644 --- a/rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php +++ b/rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php @@ -5961,16 +5961,42 @@ class Actions { try { - if (\is_resource($rMessageStream)) + if (!$oMessage->GetBcc()) { - \rewind($rMessageStream); - } + if (\is_resource($rMessageStream)) + { + \rewind($rMessageStream); + } - $this->MailClient()->MessageAppendStream( - $rMessageStream, $iMessageStreamSize, $sSentFolder, array( - \MailSo\Imap\Enumerations\MessageFlag::SEEN - ) - ); + $this->Plugins()->RunHook('filter.sent-message-stream', + array($oAccount, &$rMessageStream, &$iMessageStreamSize)); + + $this->MailClient()->MessageAppendStream( + $rMessageStream, $iMessageStreamSize, $sSentFolder, array( + \MailSo\Imap\Enumerations\MessageFlag::SEEN + ) + ); + } + else + { + $rAppendMessageStream = \MailSo\Base\ResourceRegistry::CreateMemoryResource(); + + $iAppendMessageStreamSize = \MailSo\Base\Utils::MultipleStreamWriter( + $oMessage->ToStream(false), array($rAppendMessageStream), 8192, true, true, true); + + $this->Plugins()->RunHook('filter.sent-message-stream', + array($oAccount, &$rAppendMessageStream, &$iAppendMessageStreamSize)); + + $this->MailClient()->MessageAppendStream( + $rAppendMessageStream, $iAppendMessageStreamSize, $sSentFolder, array( + \MailSo\Imap\Enumerations\MessageFlag::SEEN + )); + + if (\is_resource($rAppendMessageStream)) + { + @fclose($rAppendMessageStream); + } + } } catch (\Exception $oException) {