/** * Get file object * * @param string $identifier Identifier * * @return \TYPO3\CMS\Core\Resource\File|\TYPO3\CMS\Core\Resource\FileInterface|\TYPO3\CMS\Core\Resource\Folder * @throws \TYPO3\CMS\Core\Resource\Exception\InsufficientFileAccessPermissionsException * @throws \TYPO3\CMS\Core\Resource\Exception\InvalidFileException */ protected function getFileObject($identifier) { $object = $this->fileFactory->retrieveFileOrFolderObject($identifier); if (!is_object($object)) { throw new \TYPO3\CMS\Core\Resource\Exception\InvalidFileException('The item ' . $identifier . ' was not a file or directory!!', 1320122453); } // early escape for fe_users path if (strpos($identifier, $this->fileService->getUploadFolder()) === 0 || strpos($identifier, $this->fileService->getTempFolder()) === 0) { return $object; } // continue like the original one.... if ($object->getStorage()->getUid() === 0) { throw new \TYPO3\CMS\Core\Resource\Exception\InsufficientFileAccessPermissionsException('You are not allowed to access files outside your storages', 1375889830); } return $object; }