• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/zipnginx/archive.php
  • Класс: BitrixDiskZipNginxArchive
  • Вызов: Archive::createByObjects
static function createByObjects(string $name, ObjectCollection $objectCollection, int $userId): static
{
	$archive = new static($name . '.zip');
	foreach ($objectCollection as $object)
	{
		if ($object instanceof Folder)
		{
			$securityContext = $object->getStorage()?->getSecurityContext($userId);
			if (!$securityContext)
			{
				continue;
			}
			$archive->collectDescendants($object, $securityContext, $object->getName() . '/');
		}
		if ($object instanceof File)
		{
			$archive->addEntry(ArchiveEntry::createFromFileModel($object));
		}
	}

	return $archive;
}