/** * {@inheritdoc} */ public function delete($id, $checkSecurity = false) { $mediaEntity = $this->getEntityById($id); if ($checkSecurity) { $this->securityChecker->checkPermission(new SecurityCondition('sulu.media.collections', null, Collection::class, $mediaEntity->getCollection()->getId()), PermissionTypes::DELETE); } /** @var File $file */ foreach ($mediaEntity->getFiles() as $file) { /** @var FileVersion $fileVersion */ foreach ($file->getFileVersions() as $fileVersion) { $this->formatManager->purge($mediaEntity->getId(), $fileVersion->getName(), $fileVersion->getStorageOptions()); $this->storage->remove($fileVersion->getStorageOptions()); } } $this->em->remove($mediaEntity); $this->em->flush(); }