/** * Deletes a folder * * @param Folder $folder Folder */ public function delete(Folder $folder) { $event = new FolderEvent($folder); $this->eventDispatcher->dispatch(Events::FOLDER_BEFORE_DELETE, $event); foreach ($this->findSubFolders($folder) as $childFolder) { $this->delete($childFolder); } foreach ($this->findFiles($folder) as $file) { $this->fileRepository->delete($file); } $this->backend->deleteFolder($folder); $event = new FolderEvent($folder); $this->eventDispatcher->dispatch(Events::FOLDER_AFTER_DELETE, $event); return true; }