1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- <?php
- declare(strict_types=1);
- /**
- * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
- namespace OCP\Files\Events;
- use OCP\EventDispatcher\Event;
- use OCP\Files\Folder;
- /**
- * This event is triggered before a archive is created when a user requested
- * downloading a folder or multiple files.
- *
- * By setting `successful` to false the tar creation can be aborted and the download denied.
- *
- * @since 25.0.0
- */
- class BeforeZipCreatedEvent extends Event {
- private string $directory;
- private bool $successful = true;
- private ?string $errorMessage = null;
- private ?Folder $folder = null;
- /**
- * @param list<string> $files
- * @since 25.0.0
- * @since 31.0.0 support `OCP\Files\Folder` as `$directory` parameter - passing a string is deprecated now
- */
- public function __construct(
- string|Folder $directory,
- private array $files,
- ) {
- parent::__construct();
- if ($directory instanceof Folder) {
- $this->directory = $directory->getPath();
- $this->folder = $directory;
- } else {
- $this->directory = $directory;
- }
- }
- /**
- * @since 31.0.0
- */
- public function getFolder(): ?Folder {
- return $this->folder;
- }
- /**
- * @since 25.0.0
- */
- public function getDirectory(): string {
- return $this->directory;
- }
- /**
- * @since 25.0.0
- */
- public function getFiles(): array {
- return $this->files;
- }
- /**
- * @since 25.0.0
- */
- public function isSuccessful(): bool {
- return $this->successful;
- }
- /**
- * Set if the event was successful
- *
- * @since 25.0.0
- */
- public function setSuccessful(bool $successful): void {
- $this->successful = $successful;
- }
- /**
- * Get the error message, if any
- * @since 25.0.0
- */
- public function getErrorMessage(): ?string {
- return $this->errorMessage;
- }
- /**
- * @since 25.0.0
- */
- public function setErrorMessage(string $errorMessage): void {
- $this->errorMessage = $errorMessage;
- }
- }
|