From f9ce811c4984bc10d8154c0680f1cca226e2469d Mon Sep 17 00:00:00 2001 From: Cameron <e107inc@gmail.com> Date: Sat, 9 Dec 2017 15:06:10 -0800 Subject: [PATCH] Fixes #802 - Deleting physical files from media-manager. --- e107_admin/image.php | 14 ++++++++++++++ e107_handlers/file_class.php | 27 ++++++++++++++++++++++++++- 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/e107_admin/image.php b/e107_admin/image.php index 8b638d599..b61395a85 100644 --- a/e107_admin/image.php +++ b/e107_admin/image.php @@ -2551,6 +2551,20 @@ class media_admin_ui extends e_admin_ui function afterDelete($deleted_data, $id) // call after 'delete' is successfully executed. - delete the file with the db record (optional pref) { + if(!empty($deleted_data['media_url'])) + { + $status = e107::getFile()->delete($deleted_data['media_url']); + + $message = ($status !== false) ? LAN_UI_FILE_DELETED : LAN_UI_FILE_DELETED_FAILED; + + $mes = e107::getParser()->lanVars($message,$deleted_data['media_url'], true); + + $errType = ($status) ? E_MESSAGE_SUCCESS : E_MESSAGE_ERROR; + + e107::getMessage()->add($mes, $errType); + + } + } function getPath($mime) diff --git a/e107_handlers/file_class.php b/e107_handlers/file_class.php index f8a9d43ba..dd5b9788c 100644 --- a/e107_handlers/file_class.php +++ b/e107_handlers/file_class.php @@ -1152,7 +1152,32 @@ class e_file { return $newFile; } - } + } + + + /** + * Delete a file. + * @param $file + * @return bool + */ + public function delete($file) + { + if(empty($file)) + { + return false; + } + + $file = e107::getParser()->replaceConstants($file); + + if(file_exists($file)) + { + return unlink($file); + } + + return false; + + } + /**