- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/lib/V2/Integration/UI/EntitySelector/RecentProvider.php
- Класс: BitrixImV2IntegrationUIEntitySelectorRecentProvider
- Вызов: RecentProvider::getSortedLimitedBlankItems
private function getSortedLimitedBlankItems(): array
{
[$ids, $datesUpdate, $datesCreate] = $this->getDialogIdsWithDates();
$items = $this->getBlankItems($ids, $datesUpdate, $datesCreate);
usort($items, function(Item $a, Item $b) {
if ($b->getSort() === $a->getSort())
{
if (!$this->isChatId($b->getId()) && !$this->isChatId($a->getId()))
{
$bUser = User::getInstance($b->getId());
$aUser = User::getInstance($a->getId());
if ($aUser->isExtranet() === $bUser->isExtranet())
{
return $bUser->getId() <=> $aUser->getId();
}
return $aUser->isExtranet() <=> $bUser->isExtranet();
}
return (int)$b->getCustomData()->get('dateCreateTs') <=> (int)$a->getCustomData()->get('dateCreateTs');
}
return $b->getSort() <=> $a->getSort();
});
return array_slice($items, 0, self::LIMIT);
}