mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-13 03:27:39 +03:00
Cleanup Collections
This commit is contained in:
parent
7afbc05d18
commit
9218cc4785
6 changed files with 47 additions and 126 deletions
|
|
@ -34,17 +34,6 @@ class AttachmentCollection extends \MailSo\Base\Collection
|
||||||
return $iCount;
|
return $iCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function NonInlineCount() : int
|
|
||||||
{
|
|
||||||
$iCount = 0;
|
|
||||||
foreach ($this as $oAttachment) {
|
|
||||||
if ($oAttachment && !$oAttachment->IsInline()) {
|
|
||||||
++$iCount;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $iCount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function SpecData() : array
|
public function SpecData() : array
|
||||||
{
|
{
|
||||||
$aResult = array();
|
$aResult = array();
|
||||||
|
|
|
||||||
|
|
@ -678,7 +678,7 @@ class Message implements \JsonSerializable
|
||||||
'UnsubsribeLinks' => $this->aUnsubsribeLinks,
|
'UnsubsribeLinks' => $this->aUnsubsribeLinks,
|
||||||
'ReadReceipt' => '',
|
'ReadReceipt' => '',
|
||||||
|
|
||||||
'HasAttachments' => $this->oAttachments && 0 < $this->oAttachments->Count(),
|
'HasAttachments' => $this->oAttachments && 0 < $this->oAttachments->count(),
|
||||||
'AttachmentsSpecData' => $this->oAttachments ? $this->oAttachments->SpecData() : array(),
|
'AttachmentsSpecData' => $this->oAttachments ? $this->oAttachments->SpecData() : array(),
|
||||||
|
|
||||||
// Flags
|
// Flags
|
||||||
|
|
|
||||||
|
|
@ -20,69 +20,62 @@ class MessageCollection extends \MailSo\Base\Collection
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
public $FolderHash;
|
public $FolderHash = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int
|
||||||
*/
|
*/
|
||||||
public $MessageCount;
|
public $MessageCount = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int
|
||||||
*/
|
*/
|
||||||
public $MessageUnseenCount;
|
public $MessageUnseenCount = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int
|
||||||
*/
|
*/
|
||||||
public $MessageResultCount;
|
public $MessageResultCount = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
public $FolderName;
|
public $FolderName = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int
|
||||||
*/
|
*/
|
||||||
public $Offset;
|
public $Offset = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int
|
||||||
*/
|
*/
|
||||||
public $Limit;
|
public $Limit = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
public $Search;
|
public $Search = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int
|
||||||
*/
|
*/
|
||||||
public $UidNext;
|
public $UidNext = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int
|
||||||
*/
|
*/
|
||||||
public $ThreadUid;
|
public $ThreadUid = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
public $NewMessages;
|
public $NewMessages = array();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var bool
|
* @var bool
|
||||||
*/
|
*/
|
||||||
public $Filtered;
|
public $Filtered = false;
|
||||||
|
|
||||||
function __construct()
|
|
||||||
{
|
|
||||||
parent::__construct();
|
|
||||||
|
|
||||||
$this->Clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
public function append($oMessage, bool $bToTop = false) : void
|
public function append($oMessage, bool $bToTop = false) : void
|
||||||
{
|
{
|
||||||
|
|
@ -92,23 +85,7 @@ class MessageCollection extends \MailSo\Base\Collection
|
||||||
|
|
||||||
public function Clear() : void
|
public function Clear() : void
|
||||||
{
|
{
|
||||||
parent::Clear();
|
throw new \BadMethodCallException('disallowed');
|
||||||
|
|
||||||
$this->FolderHash = '';
|
|
||||||
|
|
||||||
$this->MessageCount = 0;
|
|
||||||
$this->MessageUnseenCount = 0;
|
|
||||||
$this->MessageResultCount = 0;
|
|
||||||
|
|
||||||
$this->FolderName = '';
|
|
||||||
$this->Offset = 0;
|
|
||||||
$this->Limit = 0;
|
|
||||||
$this->Search = '';
|
|
||||||
$this->UidNext = 0;
|
|
||||||
$this->ThreadUid = 0;
|
|
||||||
$this->NewMessages = array();
|
|
||||||
|
|
||||||
$this->Filtered = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function jsonSerialize()
|
public function jsonSerialize()
|
||||||
|
|
|
||||||
|
|
@ -22,35 +22,4 @@ class AttachmentCollection extends \MailSo\Base\Collection
|
||||||
assert($oAttachment instanceof Attachment);
|
assert($oAttachment instanceof Attachment);
|
||||||
parent::append($oAttachment, $bToTop);
|
parent::append($oAttachment, $bToTop);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function LinkedAttachments() : array
|
|
||||||
{
|
|
||||||
$aResult = array();
|
|
||||||
foreach ($this as $oAttachment) {
|
|
||||||
if ($oAttachment->IsLinked()) {
|
|
||||||
$aResult[] = $oAttachment;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $aResult;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function UnlinkedAttachments() : array
|
|
||||||
{
|
|
||||||
$aResult = array();
|
|
||||||
foreach ($this as $oAttachment) {
|
|
||||||
if (!$oAttachment->IsLinked()) {
|
|
||||||
$aResult[] = $oAttachment;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $aResult;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function SizeOfAttachments() : int
|
|
||||||
{
|
|
||||||
$iResult = 0;
|
|
||||||
foreach ($this as $oAttachment) {
|
|
||||||
$iResult += $oAttachment->FileSize();
|
|
||||||
}
|
|
||||||
return $iResult;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -593,11 +593,10 @@ class Message
|
||||||
{
|
{
|
||||||
$oResultPart = null;
|
$oResultPart = null;
|
||||||
|
|
||||||
$aAttachments = $this->oAttachmentCollection->LinkedAttachments();
|
foreach ($this->oAttachmentCollection as $oAttachment) {
|
||||||
if (\count($aAttachments))
|
if ($oAttachment->IsLinked()) {
|
||||||
{
|
if (!$oResultPart) {
|
||||||
$oResultPart = new Part;
|
$oResultPart = new Part;
|
||||||
|
|
||||||
$oResultPart->Headers->append(
|
$oResultPart->Headers->append(
|
||||||
new Header(Enumerations\Header::CONTENT_TYPE,
|
new Header(Enumerations\Header::CONTENT_TYPE,
|
||||||
Enumerations\MimeType::MULTIPART_RELATED.'; '.
|
Enumerations\MimeType::MULTIPART_RELATED.'; '.
|
||||||
|
|
@ -608,31 +607,24 @@ class Message
|
||||||
)->ToString()
|
)->ToString()
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
$oResultPart->SubParts->append($oIncPart);
|
$oResultPart->SubParts->append($oIncPart);
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($aAttachments as $oAttachment)
|
|
||||||
{
|
|
||||||
$oResultPart->SubParts->append($this->createNewMessageAttachmentBody($oAttachment));
|
$oResultPart->SubParts->append($this->createNewMessageAttachmentBody($oAttachment));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
$oResultPart = $oIncPart;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $oResultPart;
|
return $oResultPart ?: $oIncPart;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function createNewMessageMixedBody(Part $oIncPart) : Part
|
private function createNewMessageMixedBody(Part $oIncPart) : Part
|
||||||
{
|
{
|
||||||
$oResultPart = null;
|
$oResultPart = null;
|
||||||
|
|
||||||
$aAttachments = $this->oAttachmentCollection->UnlinkedAttachments();
|
foreach ($this->oAttachmentCollection as $oAttachment) {
|
||||||
if (\count($aAttachments))
|
if (!$oAttachment->IsLinked()) {
|
||||||
{
|
if (!$oResultPart) {
|
||||||
$oResultPart = new Part;
|
$oResultPart = new Part;
|
||||||
|
|
||||||
$oResultPart->Headers->AddByName(Enumerations\Header::CONTENT_TYPE,
|
$oResultPart->Headers->AddByName(Enumerations\Header::CONTENT_TYPE,
|
||||||
Enumerations\MimeType::MULTIPART_MIXED.'; '.
|
Enumerations\MimeType::MULTIPART_MIXED.'; '.
|
||||||
(new ParameterCollection)->Add(
|
(new ParameterCollection)->Add(
|
||||||
|
|
@ -641,20 +633,14 @@ class Message
|
||||||
$this->generateNewBoundary())
|
$this->generateNewBoundary())
|
||||||
)->ToString()
|
)->ToString()
|
||||||
);
|
);
|
||||||
|
|
||||||
$oResultPart->SubParts->append($oIncPart);
|
$oResultPart->SubParts->append($oIncPart);
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($aAttachments as $oAttachment)
|
|
||||||
{
|
|
||||||
$oResultPart->SubParts->append($this->createNewMessageAttachmentBody($oAttachment));
|
$oResultPart->SubParts->append($this->createNewMessageAttachmentBody($oAttachment));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
$oResultPart = $oIncPart;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $oResultPart;
|
return $oResultPart ?: $oIncPart;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function setDefaultHeaders(Part $oIncPart, bool $bWithoutBcc = false) : Part
|
private function setDefaultHeaders(Part $oIncPart, bool $bWithoutBcc = false) : Part
|
||||||
|
|
|
||||||
|
|
@ -221,7 +221,7 @@ trait Response
|
||||||
$aContentLocationUrls = array();
|
$aContentLocationUrls = array();
|
||||||
$mFoundedContentLocationUrls = array();
|
$mFoundedContentLocationUrls = array();
|
||||||
|
|
||||||
if ($oAttachments && 0 < $oAttachments->Count())
|
if ($oAttachments && 0 < $oAttachments->count())
|
||||||
{
|
{
|
||||||
foreach ($oAttachments as /* @var \MailSo\Mail\Attachment */ $oAttachment)
|
foreach ($oAttachments as /* @var \MailSo\Mail\Attachment */ $oAttachment)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue