mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-13 03:27:39 +03:00
Improved namespacing
This commit is contained in:
parent
b9c18966ea
commit
8631e48e05
2 changed files with 44 additions and 52 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue