mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-29 03:59:21 +03:00
Small MailSo cleanup
This commit is contained in:
parent
f89a1cd3f9
commit
6982b57289
4 changed files with 18 additions and 19 deletions
|
|
@ -544,14 +544,14 @@ class ImapClient extends \MailSo\Net\NetClient
|
|||
return $oResult;
|
||||
}
|
||||
|
||||
// public function yieldUntaggedResponses(string $sEndTag = null) : \Generator
|
||||
public function yieldUntaggedResponses(string $sEndTag = null) : iterable
|
||||
// public function yieldUntaggedResponses() : \Generator
|
||||
public function yieldUntaggedResponses() : iterable
|
||||
{
|
||||
try {
|
||||
$oResult = new ResponseCollection;
|
||||
|
||||
if (\is_resource($this->ConnectionResource())) {
|
||||
$sEndTag = $sEndTag ?: $this->getCurrentTag();
|
||||
$sEndTag = $this->getCurrentTag();
|
||||
|
||||
while (true) {
|
||||
$oResponse = $this->partialParseResponse();
|
||||
|
|
|
|||
|
|
@ -82,9 +82,9 @@ trait ResponseParser
|
|||
$bIsGotoDefault = false;
|
||||
|
||||
$sAtomBuilder = $bTreatAsAtom ? '' : null;
|
||||
$aList = array();
|
||||
$aResponseList = array();
|
||||
if ($bRoot) {
|
||||
$aList =& $oImapResponse->ResponseList;
|
||||
$aResponseList =& $oImapResponse->ResponseList;
|
||||
}
|
||||
|
||||
while (true) {
|
||||
|
|
@ -143,7 +143,7 @@ trait ResponseParser
|
|||
if ($bTreatAsAtom) {
|
||||
$sAtomBuilder .= $sChar . $mResult . ('[' === $sChar ? ']' : ')');
|
||||
} else {
|
||||
$aList[] = $mResult;
|
||||
$aResponseList[] = $mResult;
|
||||
if ($bRoot && $oImapResponse->IsStatusResponse) {
|
||||
$oImapResponse->OptionalResponse = $mResult;
|
||||
$bIsGotoDefault = true;
|
||||
|
|
@ -164,13 +164,13 @@ trait ResponseParser
|
|||
|
||||
if ($this->partialResponseLiteralCallbacks($sParentToken, $sPreviousAtomUpperCase, $iLiteralLen)) {
|
||||
if (!$bTreatAsAtom) {
|
||||
$aList[] = '';
|
||||
$aResponseList[] = '';
|
||||
}
|
||||
} else {
|
||||
$sLiteral = $this->partialResponseLiteral($iLiteralLen);
|
||||
if (null !== $sLiteral) {
|
||||
if (!$bTreatAsAtom) {
|
||||
$aList[] = $sLiteral;
|
||||
$aResponseList[] = $sLiteral;
|
||||
// $this->writeLog('{'.$iLiteralLen.'} '.$sLiteral, \LOG_INFO);
|
||||
} else {
|
||||
\SnappyMail\Log::notice('IMAP', 'Literal treated as atom and skipped');
|
||||
|
|
@ -220,7 +220,7 @@ trait ResponseParser
|
|||
if ($bTreatAsAtom) {
|
||||
$sAtomBuilder .= \stripslashes(\substr($this->sResponseBuffer, $iPos, $iOffset + $iLength - $iPos + 1));
|
||||
} else {
|
||||
$aList[] = \stripslashes(\substr($this->sResponseBuffer, $iPos + 1, $iOffset + $iLength - $iPos - 1));
|
||||
$aResponseList[] = \stripslashes(\substr($this->sResponseBuffer, $iPos + 1, $iOffset + $iLength - $iPos - 1));
|
||||
}
|
||||
$iPos = $iOffset + $iLength + 1;
|
||||
break 2;
|
||||
|
|
@ -286,28 +286,28 @@ trait ResponseParser
|
|||
if ($iPos > $iCharBlockStartPos || null !== $sAtomBuilder) {
|
||||
$sLastCharBlock = \substr($this->sResponseBuffer, $iCharBlockStartPos, $iPos - $iCharBlockStartPos);
|
||||
if (null === $sAtomBuilder) {
|
||||
$aList[] = 'NIL' === $sLastCharBlock ? null : $sLastCharBlock;
|
||||
$aResponseList[] = 'NIL' === $sLastCharBlock ? null : $sLastCharBlock;
|
||||
$sPreviousAtomUpperCase = \strtoupper($sLastCharBlock);
|
||||
} else {
|
||||
$sAtomBuilder .= $sLastCharBlock;
|
||||
|
||||
if (!$bTreatAsAtom) {
|
||||
$aList[] = $sAtomBuilder;
|
||||
$aResponseList[] = $sAtomBuilder;
|
||||
$sPreviousAtomUpperCase = \strtoupper($sAtomBuilder);
|
||||
$sAtomBuilder = null;
|
||||
}
|
||||
}
|
||||
|
||||
if ($bRoot) {
|
||||
if (!isset($oImapResponse->Tag) && 1 === \count($aList)) {
|
||||
$oImapResponse->setTag($aList[0]);
|
||||
if (!isset($oImapResponse->Tag) && 1 === \count($aResponseList)) {
|
||||
$oImapResponse->setTag($aResponseList[0]);
|
||||
if ($this->getCurrentTag() === $oImapResponse->Tag) {
|
||||
$oImapResponse->ResponseType = ResponseType::TAGGED;
|
||||
}
|
||||
}
|
||||
else if (!isset($oImapResponse->StatusOrIndex) && 2 === \count($aList))
|
||||
else if (!isset($oImapResponse->StatusOrIndex) && 2 === \count($aResponseList))
|
||||
{
|
||||
$oImapResponse->setStatus($aList[1]);
|
||||
$oImapResponse->setStatus($aResponseList[1]);
|
||||
}
|
||||
else if (ResponseType::CONTINUATION === $oImapResponse->ResponseType
|
||||
|| $oImapResponse->IsStatusResponse)
|
||||
|
|
@ -321,7 +321,7 @@ trait ResponseParser
|
|||
|
||||
$this->iResponseBufParsedPos = $iPos;
|
||||
|
||||
return $bTreatAsAtom ? $sAtomBuilder : $aList;
|
||||
return $bTreatAsAtom ? $sAtomBuilder : $aResponseList;
|
||||
}
|
||||
|
||||
private function partialResponseLiteral($iLiteralLen) : ?string
|
||||
|
|
|
|||
|
|
@ -314,7 +314,7 @@ class MailClient
|
|||
))
|
||||
), $iPrevUidNext.':*', true);
|
||||
|
||||
foreach ($aFetchResponse as /* @var $oFetchResponse \MailSo\Imap\FetchResponse */ $oFetchResponse) {
|
||||
foreach ($aFetchResponse as $oFetchResponse) {
|
||||
$aFlags = \array_map('strtolower', $oFetchResponse->GetFetchValue(FetchType::FLAGS));
|
||||
|
||||
if (!\in_array(\strtolower(MessageFlag::SEEN), $aFlags)) {
|
||||
|
|
@ -502,7 +502,7 @@ class MailClient
|
|||
$aFetchIterator = $this->oImapClient->FetchIterate($aFetchItems, (string) $oRange, $oRange->UID);
|
||||
// FETCH does not respond in the id order of the SequenceSet, so we prefill $aCollection for the right sort order.
|
||||
$aCollection = \array_fill_keys($oRange->getArrayCopy(), null);
|
||||
foreach ($aFetchIterator as /* @var $oFetchResponseItem \MailSo\Imap\FetchResponse */ $oFetchResponseItem) {
|
||||
foreach ($aFetchIterator as $oFetchResponseItem) {
|
||||
$id = $oRange->UID
|
||||
? $oFetchResponseItem->GetFetchValue(FetchType::UID)
|
||||
: $oFetchResponseItem->oImapResponse->ResponseList[1];
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ namespace SnappyMail\Imap;
|
|||
|
||||
use MailSo\Imap\Enumerations\FetchType;
|
||||
use MailSo\Imap\Enumerations\MessageFlag;
|
||||
use MailSo\Imap\FetchResponse;
|
||||
use MailSo\Mime\Enumerations\Header;
|
||||
|
||||
class Sync
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue