• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/bitrix24disk/subscribermanager.php
  • Класс: BitrixDiskBitrix24DiskSubscriberManager
  • Вызов: SubscriberManager::getSubscribresByStorages
protected function getSubscribresByStorages(array $storagesId)
{
	$subscribers = [];
	$storagesId = array_filter($storagesId);

	foreach ($storagesId as $k => $id)
	{
		if (Storage::isLoaded($id))
		{
			$probablyUserStorage = Storage::loadById($id);
			if ($probablyUserStorage && $probablyUserStorage->getProxyType() instanceof ProxyTypeUser)
			{
				$subscribers[$id] = $probablyUserStorage->getEntityId();
			}
			unset($storagesId[$k]);
		}
	}

	if (!$storagesId)
	{
		return $subscribers;
	}

	$storages = Storage::getList([
		'select' => ['ID', 'ENTITY_ID'],
		'filter' => [
			'=ENTITY_TYPE' => ProxyTypeUser::class,
			'@ID' => $storagesId,
		]
	]);


	foreach ($storages as $storage)
	{
		$subscribers[$storage['ID']] = $storage['ENTITY_ID'];
	}

	return $subscribers;
}