baseUrn . '?storage=' . $parameters['folder']->getStorage()->getUid() . '&identifier=' . urlencode('/' . ltrim($parameters['folder']->getIdentifier(), '/')); } /** * Get a folder object inside the array data from the string * * @param array $data with the "folder" property containing a Folder object */ public function resolveHandlerData(array $data): array { $combinedIdentifier = ($data['storage'] ?? '0') . ':' . $data['identifier']; try { $folder = $this->getResourceFactory()->getFolderObjectFromCombinedIdentifier($combinedIdentifier); } catch (FolderDoesNotExistException|InsufficientFolderAccessPermissionsException $e) { $folder = null; } return ['folder' => $folder]; } /** * Initializes the resource factory (only once) */ protected function getResourceFactory(): ResourceFactory { if (!$this->resourceFactory) { $this->resourceFactory = GeneralUtility::makeInstance(ResourceFactory::class); } return $this->resourceFactory; } }