Allow BBS for "Sent" messages (Closes #454)

This commit is contained in:
RainLoop Team 2015-02-20 21:47:00 +04:00
parent 66d8fe1b96
commit d68b32430f

View file

@ -5960,18 +5960,44 @@ class Actions
if (0 < \strlen($sSentFolder)) if (0 < \strlen($sSentFolder))
{ {
try try
{
if (!$oMessage->GetBcc())
{ {
if (\is_resource($rMessageStream)) if (\is_resource($rMessageStream))
{ {
\rewind($rMessageStream); \rewind($rMessageStream);
} }
$this->Plugins()->RunHook('filter.sent-message-stream',
array($oAccount, &$rMessageStream, &$iMessageStreamSize));
$this->MailClient()->MessageAppendStream( $this->MailClient()->MessageAppendStream(
$rMessageStream, $iMessageStreamSize, $sSentFolder, array( $rMessageStream, $iMessageStreamSize, $sSentFolder, array(
\MailSo\Imap\Enumerations\MessageFlag::SEEN \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) catch (\Exception $oException)
{ {
throw new \RainLoop\Exceptions\ClientException(\RainLoop\Notifications::CantSaveMessage, $oException); throw new \RainLoop\Exceptions\ClientException(\RainLoop\Notifications::CantSaveMessage, $oException);