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;
if (1 < $iMessageRealCount)
{
$aRequestIndexes = \array_slice(\array_reverse(\range(1, $iMessageRealCount)), $oParams->iOffset, $oParams->iLimit);
}
else
{
$aRequestIndexes = \array_slice(array(1), $oParams->iOffset, $oParams->iLimit);
if (1 < $iMessageRealCount) {
$end = \max(1, $oInfo->MESSAGES - $oParams->iOffset);
$start = \max(1, $end - $oParams->iLimit + 1);
$aRequestIndexes = \range($start, $end);
} else {
$aRequestIndexes = \array_slice([1], $oParams->iOffset, 1);
}
$this->MessageListByRequestIndexOrUids($oMessageCollection, new SequenceSet($aRequestIndexes, false));