Remove MailClient->MessageAppendStream() in favour of ImapClient->MessageAppendStream()

This commit is contained in:
the-djmaze 2023-03-03 22:40:57 +01:00
parent 234a335425
commit 17b6181b5d
4 changed files with 18 additions and 33 deletions

View file

@ -135,15 +135,19 @@ trait Messages
/** /**
* Appends message to specified folder * Appends message to specified folder
* *
* @param resource $rMessageAppendStream * @param resource $rMessageStream
* *
* @throws \InvalidArgumentException * @throws \InvalidArgumentException
* @throws \MailSo\RuntimeException * @throws \MailSo\RuntimeException
* @throws \MailSo\Net\Exceptions\* * @throws \MailSo\Net\Exceptions\*
* @throws \MailSo\Imap\Exceptions\* * @throws \MailSo\Imap\Exceptions\*
*/ */
public function MessageAppendStream(string $sFolderName, $rMessageAppendStream, int $iStreamSize, array $aFlagsList = null, int $iDateTime = 0) : ?int public function MessageAppendStream(string $sFolderName, $rMessageStream, int $iStreamSize, array $aFlagsList = null, int $iDateTime = 0) : ?int
{ {
if (!\is_resource($rMessageStream) || !\strlen($sFolderName) || 1 > $iStreamSize) {
throw new \InvalidArgumentException;
}
$aParams = array( $aParams = array(
$this->EscapeFolderName($sFolderName), $this->EscapeFolderName($sFolderName),
$aFlagsList $aFlagsList
@ -162,7 +166,7 @@ trait Messages
$this->SendRequestGetResponse('APPEND', $aParams); $this->SendRequestGetResponse('APPEND', $aParams);
return $this->writeMessageStream($rMessageAppendStream); return $this->writeMessageStream($rMessageStream);
} }
private function writeMessageStream($rMessageStream) : ?int private function writeMessageStream($rMessageStream) : ?int

View file

@ -258,23 +258,7 @@ class MailClient
return ($aFetchResponse && 1 === \count($aFetchResponse)); return ($aFetchResponse && 1 === \count($aFetchResponse));
} }
/** public function MessageAppendFile(string $sMessageFileName, string $sFolderToSave, array $aAppendFlags = null) : int
* @param resource $rMessageStream
*/
public function MessageAppendStream($rMessageStream, int $iMessageStreamSize, string $sFolderToSave, array $aAppendFlags = null, int &$iUid = null) : self
{
if (!\is_resource($rMessageStream) || !\strlen($sFolderToSave))
{
throw new \InvalidArgumentException;
}
$iUid = $this->oImapClient->MessageAppendStream(
$sFolderToSave, $rMessageStream, $iMessageStreamSize, $aAppendFlags);
return $this;
}
public function MessageAppendFile(string $sMessageFileName, string $sFolderToSave, array $aAppendFlags = null, int &$iUid = null) : self
{ {
if (!\is_file($sMessageFileName) || !\is_readable($sMessageFileName)) { if (!\is_file($sMessageFileName) || !\is_readable($sMessageFileName)) {
throw new \InvalidArgumentException; throw new \InvalidArgumentException;
@ -283,13 +267,11 @@ class MailClient
$iMessageStreamSize = \filesize($sMessageFileName); $iMessageStreamSize = \filesize($sMessageFileName);
$rMessageStream = \fopen($sMessageFileName, 'rb'); $rMessageStream = \fopen($sMessageFileName, 'rb');
$this->MessageAppendStream($rMessageStream, $iMessageStreamSize, $sFolderToSave, $aAppendFlags, $iUid); $iUid = $this->oImapClient->MessageAppendStream($sFolderToSave, $rMessageStream, $iMessageStreamSize, $aAppendFlags);
if (\is_resource($rMessageStream)) { \fclose($rMessageStream);
\fclose($rMessageStream);
}
return $this; return $iUid;
} }
/** /**

View file

@ -37,7 +37,7 @@ trait Folders
if ($this->FilesProvider()->MoveUploadedFile($oAccount, $sSavedName, $_FILES['appendFile']['tmp_name'])) { if ($this->FilesProvider()->MoveUploadedFile($oAccount, $sSavedName, $_FILES['appendFile']['tmp_name'])) {
$iMessageStreamSize = $this->FilesProvider()->FileSize($oAccount, $sSavedName); $iMessageStreamSize = $this->FilesProvider()->FileSize($oAccount, $sSavedName);
$rMessageStream = $this->FilesProvider()->GetFile($oAccount, $sSavedName); $rMessageStream = $this->FilesProvider()->GetFile($oAccount, $sSavedName);
$this->MailClient()->MessageAppendStream($rMessageStream, $iMessageStreamSize, $sFolderFullName); $this->ImapClient()->MessageAppendStream($sFolderFullName, $rMessageStream, $iMessageStreamSize);
$this->FilesProvider()->Clear($oAccount, $sSavedName); $this->FilesProvider()->Clear($oAccount, $sSavedName);
return $this->TrueResponse(); return $this->TrueResponse();
} }

View file

@ -122,9 +122,8 @@ trait Messages
\rewind($rMessageStream); \rewind($rMessageStream);
$iNewUid = 0; $iNewUid = $this->ImapClient()->MessageAppendStream(
$this->MailClient()->MessageAppendStream( $sDraftFolder, $rMessageStream, $iMessageStreamSize, array(MessageFlag::SEEN)
$rMessageStream, $iMessageStreamSize, $sDraftFolder, array(MessageFlag::SEEN), $iNewUid
); );
if (!empty($sMessageId) && (null === $iNewUid || 0 === $iNewUid)) { if (!empty($sMessageId) && (null === $iNewUid || 0 === $iNewUid)) {
@ -213,8 +212,8 @@ trait Messages
$this->Plugins()->RunHook('filter.send-message-stream', $this->Plugins()->RunHook('filter.send-message-stream',
array($oAccount, &$rMessageStream, &$iMessageStreamSize)); array($oAccount, &$rMessageStream, &$iMessageStreamSize));
$this->MailClient()->MessageAppendStream( $this->ImapClient()->MessageAppendStream(
$rMessageStream, $iMessageStreamSize, $sSentFolder, array(MessageFlag::SEEN) $sSentFolder, $rMessageStream, $iMessageStreamSize, array(MessageFlag::SEEN)
); );
} else { } else {
$rAppendMessageStream = \MailSo\Base\ResourceRegistry::CreateMemoryResource(); $rAppendMessageStream = \MailSo\Base\ResourceRegistry::CreateMemoryResource();
@ -225,8 +224,8 @@ trait Messages
$this->Plugins()->RunHook('filter.send-message-stream', $this->Plugins()->RunHook('filter.send-message-stream',
array($oAccount, &$rAppendMessageStream, &$iAppendMessageStreamSize)); array($oAccount, &$rAppendMessageStream, &$iAppendMessageStreamSize));
$this->MailClient()->MessageAppendStream( $this->ImapClient()->MessageAppendStream(
$rAppendMessageStream, $iAppendMessageStreamSize, $sSentFolder, array(MessageFlag::SEEN) $sSentFolder, $rAppendMessageStream, $iAppendMessageStreamSize, array(MessageFlag::SEEN)
); );
if (\is_resource($rAppendMessageStream)) { if (\is_resource($rAppendMessageStream)) {