From 82a38bdfb68c81011f4be7b3ad6c3efec5360c17 Mon Sep 17 00:00:00 2001 From: Teranode Date: Wed, 28 Nov 2018 12:08:39 -0500 Subject: [PATCH] Add ability to delete asset files (#3933) Fixes: #3925. Credit to @Teranode --- modules/cms/classes/Asset.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/modules/cms/classes/Asset.php b/modules/cms/classes/Asset.php index d64ed9956..57c64627c 100644 --- a/modules/cms/classes/Asset.php +++ b/modules/cms/classes/Asset.php @@ -3,6 +3,7 @@ use File; use Lang; use Config; +use Request; use Cms\Helpers\File as FileHelper; use October\Rain\Extension\Extendable; use ApplicationException; @@ -207,6 +208,23 @@ class Asset extends Extendable $this->originalFileName = $this->fileName; $this->exists = true; } + + public function delete() + { + $fileName = Request::input('fileName'); + $fullPath = $this->getFilePath($fileName); + + $this->validateFileName($fileName); + + if (File::exists($fullPath)) { + if (!@File::delete($fullPath)) { + throw new ApplicationException(Lang::get( + 'cms::lang.asset.error_deleting_file', + ['name' => $fileName] + )); + } + } + } /** * Validate the supplied filename, extension and path.