From 9078815c87ea13c803d336b55794627162fc1ac3 Mon Sep 17 00:00:00 2001 From: Andy Miller Date: Wed, 18 Jul 2018 05:25:20 -0600 Subject: [PATCH] Fix for grav#2100 - deleting @2x media files --- CHANGELOG.md | 6 ++++++ classes/admincontroller.php | 8 +++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 30e57f58..252620fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +# v1.8.7 +## mm/dd/2018 + +1. [](#bugfix) + * Fix for deleting 'extra' media files [grav#2100](https://githubcom/getgrav/grav/issues/2100) + # v1.8.6 ## 07/13/2018 diff --git a/classes/admincontroller.php b/classes/admincontroller.php index fcd0256b..0b3943e2 100644 --- a/classes/admincontroller.php +++ b/classes/admincontroller.php @@ -1826,7 +1826,13 @@ class AdminController extends AdminBaseController // Remove Extra Files foreach (scandir($media->path(), SCANDIR_SORT_NONE) as $file) { if (preg_match("/{$fileParts['filename']}@\d+x\.{$fileParts['extension']}(?:\.meta\.yaml)?$|{$filename}\.meta\.yaml$/", $file)) { - $result = unlink($media->path() . '/' . $file); + + $targetPath = $media->path() . '/' . $file; + if ($locator->isStream($targetPath)) { + $targetPath = $locator->findResource($targetPath, true, true); + } + + $result = unlink($targetPath); if (!$result) { $this->admin->json_response = [