• Модуль: 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);
}