No need to generate 1000's of ID's for MessageListByRequestIndexOrUids()

This commit is contained in:
the-djmaze 2022-12-05 10:03:11 +01:00
parent c9294619e9
commit 4a5bd9033f

View file

@ -958,13 +958,12 @@ class MailClient
{ {
$oMessageCollection->MessageResultCount = $iMessageRealCount; $oMessageCollection->MessageResultCount = $iMessageRealCount;
if (1 < $iMessageRealCount) if (1 < $iMessageRealCount) {
{ $end = \max(1, $oInfo->MESSAGES - $oParams->iOffset);
$aRequestIndexes = \array_slice(\array_reverse(\range(1, $iMessageRealCount)), $oParams->iOffset, $oParams->iLimit); $start = \max(1, $end - $oParams->iLimit + 1);
} $aRequestIndexes = \range($start, $end);
else } else {
{ $aRequestIndexes = \array_slice([1], $oParams->iOffset, 1);
$aRequestIndexes = \array_slice(array(1), $oParams->iOffset, $oParams->iLimit);
} }
$this->MessageListByRequestIndexOrUids($oMessageCollection, new SequenceSet($aRequestIndexes, false)); $this->MessageListByRequestIndexOrUids($oMessageCollection, new SequenceSet($aRequestIndexes, false));