Improved namespacing

This commit is contained in:
djmaze 2022-01-07 15:15:31 +01:00
parent b9c18966ea
commit 8631e48e05
2 changed files with 44 additions and 52 deletions

View file

@ -18,7 +18,7 @@ use MailSo\Imap\ResponseCollection;
use MailSo\Imap\SequenceSet; use MailSo\Imap\SequenceSet;
use MailSo\Imap\Enumerations\ResponseType; use MailSo\Imap\Enumerations\ResponseType;
use MailSo\Log\Enumerations\Type as LogType; use MailSo\Log\Enumerations\Type as LogType;
use \MailSo\Base\Exceptions\InvalidArgumentException; use MailSo\Base\Exceptions\InvalidArgumentException;
/** /**
* @category MailSo * @category MailSo

View file

@ -15,7 +15,9 @@ use MailSo\Imap\Enumerations\FolderResponseStatus;
use MailSo\Imap\Enumerations\MessageFlag; use MailSo\Imap\Enumerations\MessageFlag;
use MailSo\Imap\Enumerations\StoreAction; use MailSo\Imap\Enumerations\StoreAction;
use MailSo\Imap\SequenceSet; use MailSo\Imap\SequenceSet;
use MailSo\Imap\Enumerations\FetchType;
use MailSo\Mime\Enumerations\Header as MimeHeader; use MailSo\Mime\Enumerations\Header as MimeHeader;
use MailSo\Mime\Enumerations\Parameter as MimeParameter;
/** /**
* @category MailSo * @category MailSo
@ -74,10 +76,10 @@ class MailClient
{ {
if (\MailSo\Config::$MessageAllHeaders) if (\MailSo\Config::$MessageAllHeaders)
{ {
return \MailSo\Imap\Enumerations\FetchType::BODY_HEADER_PEEK; return FetchType::BODY_HEADER_PEEK;
} }
return \MailSo\Imap\Enumerations\FetchType::BuildBodyCustomHeaderRequest(array( return FetchType::BuildBodyCustomHeaderRequest(array(
MimeHeader::RETURN_PATH, MimeHeader::RETURN_PATH,
MimeHeader::RECEIVED, MimeHeader::RECEIVED,
MimeHeader::MIME_VERSION, MimeHeader::MIME_VERSION,
@ -115,7 +117,7 @@ class MailClient
MimeHeader::X_VIRUS_STATUS MimeHeader::X_VIRUS_STATUS
), true); ), true);
// //
// return \MailSo\Imap\Enumerations\FetchType::ENVELOPE; // return FetchType::ENVELOPE;
} }
/** /**
@ -155,15 +157,15 @@ class MailClient
$oMessage = null; $oMessage = null;
$aFetchItems = array( $aFetchItems = array(
\MailSo\Imap\Enumerations\FetchType::INDEX, FetchType::INDEX,
\MailSo\Imap\Enumerations\FetchType::UID, FetchType::UID,
\MailSo\Imap\Enumerations\FetchType::RFC822_SIZE, FetchType::RFC822_SIZE,
\MailSo\Imap\Enumerations\FetchType::INTERNALDATE, FetchType::INTERNALDATE,
\MailSo\Imap\Enumerations\FetchType::FLAGS, FetchType::FLAGS,
$this->getEnvelopeOrHeadersRequestString() $this->getEnvelopeOrHeadersRequestString()
); );
$aFetchResponse = $this->oImapClient->Fetch(array(\MailSo\Imap\Enumerations\FetchType::BODYSTRUCTURE), $iIndex, $bIndexIsUid); $aFetchResponse = $this->oImapClient->Fetch(array(FetchType::BODYSTRUCTURE), $iIndex, $bIndexIsUid);
if (\count($aFetchResponse) && isset($aFetchResponse[0])) if (\count($aFetchResponse) && isset($aFetchResponse[0]))
{ {
$oBodyStructure = $aFetchResponse[0]->GetFetchBodyStructure(); $oBodyStructure = $aFetchResponse[0]->GetFetchBodyStructure();
@ -171,7 +173,7 @@ class MailClient
{ {
foreach ($oBodyStructure->SearchHtmlOrPlainParts() as $oPart) foreach ($oBodyStructure->SearchHtmlOrPlainParts() as $oPart)
{ {
$sLine = \MailSo\Imap\Enumerations\FetchType::BODY_PEEK.'['.$oPart->PartID().']'; $sLine = FetchType::BODY_PEEK.'['.$oPart->PartID().']';
if (0 < $iBodyTextLimit && $iBodyTextLimit < $oPart->Size()) if (0 < $iBodyTextLimit && $iBodyTextLimit < $oPart->Size())
{ {
$sLine .= "<0.{$iBodyTextLimit}>"; $sLine .= "<0.{$iBodyTextLimit}>";
@ -181,11 +183,11 @@ class MailClient
} }
$aSignatureParts = $oBodyStructure->SearchByContentType('application/pgp-signature'); $aSignatureParts = $oBodyStructure->SearchByContentType('application/pgp-signature');
if (is_array($aSignatureParts) && \count($aSignatureParts)) if (\is_array($aSignatureParts) && \count($aSignatureParts))
{ {
foreach ($aSignatureParts as $oPart) foreach ($aSignatureParts as $oPart)
{ {
$aFetchItems[] = \MailSo\Imap\Enumerations\FetchType::BODY_PEEK.'['.$oPart->PartID().']'; $aFetchItems[] = FetchType::BODY_PEEK.'['.$oPart->PartID().']';
} }
} }
} }
@ -193,7 +195,7 @@ class MailClient
if (!$oBodyStructure) if (!$oBodyStructure)
{ {
$aFetchItems[] = \MailSo\Imap\Enumerations\FetchType::BODYSTRUCTURE; $aFetchItems[] = FetchType::BODYSTRUCTURE;
} }
$aFetchResponse = $this->oImapClient->Fetch($aFetchItems, $iIndex, $bIndexIsUid); $aFetchResponse = $this->oImapClient->Fetch($aFetchItems, $iIndex, $bIndexIsUid);
@ -229,16 +231,16 @@ class MailClient
$sMimeIndex = trim($sMimeIndex); $sMimeIndex = trim($sMimeIndex);
$aFetchResponse = $this->oImapClient->Fetch(array( $aFetchResponse = $this->oImapClient->Fetch(array(
\strlen($sMimeIndex) \strlen($sMimeIndex)
? \MailSo\Imap\Enumerations\FetchType::BODY_PEEK.'['.$sMimeIndex.'.MIME]' ? FetchType::BODY_PEEK.'['.$sMimeIndex.'.MIME]'
: \MailSo\Imap\Enumerations\FetchType::BODY_HEADER_PEEK), : FetchType::BODY_HEADER_PEEK),
$iIndex, $bIndexIsUid); $iIndex, $bIndexIsUid);
if (\count($aFetchResponse)) if (\count($aFetchResponse))
{ {
$sMime = $aFetchResponse[0]->GetFetchValue( $sMime = $aFetchResponse[0]->GetFetchValue(
\strlen($sMimeIndex) \strlen($sMimeIndex)
? \MailSo\Imap\Enumerations\FetchType::BODY.'['.$sMimeIndex.'.MIME]' ? FetchType::BODY.'['.$sMimeIndex.'.MIME]'
: \MailSo\Imap\Enumerations\FetchType::BODY_HEADER : FetchType::BODY_HEADER
); );
if (\strlen($sMime)) if (\strlen($sMime))
@ -247,22 +249,16 @@ class MailClient
if (\strlen($sMimeIndex)) if (\strlen($sMimeIndex))
{ {
$sFileName = $oHeaders->ParameterValue( $sFileName = $oHeaders->ParameterValue(MimeHeader::CONTENT_DISPOSITION, MimeParameter::FILENAME);
MimeHeader::CONTENT_DISPOSITION,
\MailSo\Mime\Enumerations\Parameter::FILENAME);
if (!\strlen($sFileName)) if (!\strlen($sFileName))
{ {
$sFileName = $oHeaders->ParameterValue( $sFileName = $oHeaders->ParameterValue(MimeHeader::CONTENT_TYPE, MimeParameter::NAME);
MimeHeader::CONTENT_TYPE,
\MailSo\Mime\Enumerations\Parameter::NAME);
} }
$sMailEncodingName = $oHeaders->ValueByName( $sMailEncodingName = $oHeaders->ValueByName(MimeHeader::CONTENT_TRANSFER_ENCODING);
MimeHeader::CONTENT_TRANSFER_ENCODING);
$sContentType = $oHeaders->ValueByName( $sContentType = $oHeaders->ValueByName(MimeHeader::CONTENT_TYPE);
MimeHeader::CONTENT_TYPE);
} }
else else
{ {
@ -279,7 +275,7 @@ class MailClient
$aFetchResponse = $this->oImapClient->Fetch(array( $aFetchResponse = $this->oImapClient->Fetch(array(
// Push in the aFetchCallbacks array and then called by \MailSo\Imap\Traits\ResponseParser::partialResponseLiteralCallbackCallable // Push in the aFetchCallbacks array and then called by \MailSo\Imap\Traits\ResponseParser::partialResponseLiteralCallbackCallable
array( array(
\MailSo\Imap\Enumerations\FetchType::BODY_PEEK.'['.$sMimeIndex.']', FetchType::BODY_PEEK.'['.$sMimeIndex.']',
function ($sParent, $sLiteralAtomUpperCase, $rImapLiteralStream) use ($mCallback, $sMimeIndex, $sMailEncodingName, $sContentType, $sFileName) function ($sParent, $sLiteralAtomUpperCase, $rImapLiteralStream) use ($mCallback, $sMimeIndex, $sMailEncodingName, $sContentType, $sFileName)
{ {
if (\strlen($sLiteralAtomUpperCase) && \is_resource($rImapLiteralStream) && 'FETCH' === $sParent) if (\strlen($sLiteralAtomUpperCase) && \is_resource($rImapLiteralStream) && 'FETCH' === $sParent)
@ -487,10 +483,10 @@ class MailClient
$this->oImapClient->FolderExamine($sFolderName); $this->oImapClient->FolderExamine($sFolderName);
$aFetchResponse = $this->oImapClient->Fetch(array( $aFetchResponse = $this->oImapClient->Fetch(array(
\MailSo\Imap\Enumerations\FetchType::INDEX, FetchType::INDEX,
\MailSo\Imap\Enumerations\FetchType::UID, FetchType::UID,
\MailSo\Imap\Enumerations\FetchType::FLAGS, FetchType::FLAGS,
\MailSo\Imap\Enumerations\FetchType::BuildBodyCustomHeaderRequest(array( FetchType::BuildBodyCustomHeaderRequest(array(
MimeHeader::FROM_, MimeHeader::FROM_,
MimeHeader::SUBJECT, MimeHeader::SUBJECT,
MimeHeader::CONTENT_TYPE MimeHeader::CONTENT_TYPE
@ -499,20 +495,16 @@ class MailClient
foreach ($aFetchResponse as /* @var $oFetchResponse \MailSo\Imap\FetchResponse */ $oFetchResponse) foreach ($aFetchResponse as /* @var $oFetchResponse \MailSo\Imap\FetchResponse */ $oFetchResponse)
{ {
$aFlags = \array_map('strtolower', $oFetchResponse->GetFetchValue( $aFlags = \array_map('strtolower', $oFetchResponse->GetFetchValue(FetchType::FLAGS));
\MailSo\Imap\Enumerations\FetchType::FLAGS));
if (!\in_array(\strtolower(MessageFlag::SEEN), $aFlags)) if (!\in_array(\strtolower(MessageFlag::SEEN), $aFlags))
{ {
$iUid = (int) $oFetchResponse->GetFetchValue(\MailSo\Imap\Enumerations\FetchType::UID); $iUid = (int) $oFetchResponse->GetFetchValue(FetchType::UID);
$sHeaders = $oFetchResponse->GetHeaderFieldsValue(); $sHeaders = $oFetchResponse->GetHeaderFieldsValue();
$oHeaders = new \MailSo\Mime\HeaderCollection($sHeaders); $oHeaders = new \MailSo\Mime\HeaderCollection($sHeaders);
$sContentTypeCharset = $oHeaders->ParameterValue( $sContentTypeCharset = $oHeaders->ParameterValue(MimeHeader::CONTENT_TYPE, MimeParameter::CHARSET);
MimeHeader::CONTENT_TYPE,
\MailSo\Mime\Enumerations\Parameter::CHARSET
);
if ($sContentTypeCharset) { if ($sContentTypeCharset) {
$oHeaders->SetParentCharset($sContentTypeCharset); $oHeaders->SetParentCharset($sContentTypeCharset);
@ -547,15 +539,15 @@ class MailClient
$this->oImapClient->FolderExamine($sFolderName); $this->oImapClient->FolderExamine($sFolderName);
$aFetchResponse = $this->oImapClient->Fetch(array( $aFetchResponse = $this->oImapClient->Fetch(array(
\MailSo\Imap\Enumerations\FetchType::INDEX, FetchType::INDEX,
\MailSo\Imap\Enumerations\FetchType::UID, FetchType::UID,
\MailSo\Imap\Enumerations\FetchType::FLAGS FetchType::FLAGS
), (string) $oRange, $oRange->UID); ), (string) $oRange, $oRange->UID);
foreach ($aFetchResponse as $oFetchResponse) foreach ($aFetchResponse as $oFetchResponse)
{ {
$iUid = (int) $oFetchResponse->GetFetchValue(\MailSo\Imap\Enumerations\FetchType::UID); $iUid = (int) $oFetchResponse->GetFetchValue(FetchType::UID);
$aLowerFlags = \array_map('strtolower', $oFetchResponse->GetFetchValue(\MailSo\Imap\Enumerations\FetchType::FLAGS)); $aLowerFlags = \array_map('strtolower', $oFetchResponse->GetFetchValue(FetchType::FLAGS));
$aFlags[] = array( $aFlags[] = array(
'Uid' => $iUid, 'Uid' => $iUid,
'Flags' => $aLowerFlags 'Flags' => $aLowerFlags
@ -681,19 +673,19 @@ class MailClient
if (\count($oRange)) if (\count($oRange))
{ {
$aFetchResponse = $this->oImapClient->Fetch(array( $aFetchResponse = $this->oImapClient->Fetch(array(
\MailSo\Imap\Enumerations\FetchType::INDEX, FetchType::INDEX,
\MailSo\Imap\Enumerations\FetchType::UID, FetchType::UID,
\MailSo\Imap\Enumerations\FetchType::RFC822_SIZE, FetchType::RFC822_SIZE,
\MailSo\Imap\Enumerations\FetchType::INTERNALDATE, FetchType::INTERNALDATE,
\MailSo\Imap\Enumerations\FetchType::FLAGS, FetchType::FLAGS,
\MailSo\Imap\Enumerations\FetchType::BODYSTRUCTURE, FetchType::BODYSTRUCTURE,
$this->getEnvelopeOrHeadersRequestString() $this->getEnvelopeOrHeadersRequestString()
), (string) $oRange, $oRange->UID); ), (string) $oRange, $oRange->UID);
if (\count($aFetchResponse)) if (\count($aFetchResponse))
{ {
$aCollection = \array_fill_keys($oRange->getArrayCopy(), null); $aCollection = \array_fill_keys($oRange->getArrayCopy(), null);
$sFetchType = $oRange->UID ? \MailSo\Imap\Enumerations\FetchType::UID : \MailSo\Imap\Enumerations\FetchType::INDEX; $sFetchType = $oRange->UID ? FetchType::UID : FetchType::INDEX;
foreach ($aFetchResponse as /* @var $oFetchResponseItem \MailSo\Imap\FetchResponse */ $oFetchResponseItem) { foreach ($aFetchResponse as /* @var $oFetchResponseItem \MailSo\Imap\FetchResponse */ $oFetchResponseItem) {
$id = $oFetchResponseItem->GetFetchValue($sFetchType); $id = $oFetchResponseItem->GetFetchValue($sFetchType);
$aCollection[$id] = Message::NewFetchResponseInstance($oMessageCollection->FolderName, $oFetchResponseItem); $aCollection[$id] = Message::NewFetchResponseInstance($oMessageCollection->FolderName, $oFetchResponseItem);