• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/recentlyusedmanager.php
  • Класс: BitrixDiskRecentlyUsedManager
  • Вызов: RecentlyUsedManager::getFileModelListByUser
public function getFileModelListByUser($user, array $filter = array())
{
	$userId = User::resolveUserId($user);
	if(!$userId)
	{
		$this->errorCollection->addOne(new Error('Could not get user id.'));
		return array();
	}

	$driver = Driver::getInstance();
	$storage = $driver->getStorageByUserId($userId);
	if(!$storage)
	{
		$this->errorCollection->addOne(new Error('Could not get storage by user id.'));
		return array();
	}

	if($this->isFirstRun($userId))
	{
		if(!$this->hasData($userId))
		{
			$this->fixColdStart($userId);
		}
		$this->saveFirstRun($userId);
	}

	$securityContext = $storage->getCurrentUserSecurityContext();
	$parameters = array(
		'filter' => array(
			'RECENTLY_USED.USER_ID' => $userId,
			'DELETED_TYPE' => ObjectTable::DELETED_TYPE_NONE,
			'TYPE' => ObjectTable::TYPE_FILE,
		),
		'order' => array('RECENTLY_USED.CREATE_TIME' => 'DESC'),
		'limit' => RecentlyUsedTable::MAX_COUNT_FOR_USER,
	);

	if($filter)
	{
		$parameters['filter'] = array_merge($parameters['filter'], $filter);
	}

	$parameters = $driver->getRightsManager()->addRightsCheck(
		$securityContext,
		$parameters,
		array('ID', 'CREATED_BY')
	);

	return File::getModelList($parameters);
}