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.