Fixed onAdminAfterDelMedia event always pointing to home page [#1905]

This commit is contained in:
Matias Griese
2021-02-10 12:57:43 +02:00
parent 6328489170
commit 725ed07ad9
2 changed files with 13 additions and 13 deletions

View File

@@ -2364,8 +2364,9 @@ class AdminController extends AdminBaseController
return false;
}
$media = $this->getMedia();
if (!$media) {
$page = $this->admin->page($this->route);
$media = $page ? $this->getMedia($page) : null;
if (null === $media) {
$this->admin->json_response = [
'status' => 'error',
'message' => $this->admin::translate('PLUGIN_ADMIN.NO_PAGE_FOUND')
@@ -2446,11 +2447,8 @@ class AdminController extends AdminBaseController
return false;
}
$page = $this->admin->page(true);
if ($page) {
// DEPRECATED: page
$this->grav->fireEvent('onAdminAfterDelMedia', new Event(['object' => $page, 'page' => $page, 'media' => $media, 'filename' => $filename]));
}
// DEPRECATED: page
$this->grav->fireEvent('onAdminAfterDelMedia', new Event(['object' => $page, 'page' => $page, 'media' => $media, 'filename' => $filename]));
$this->admin->json_response = [
'status' => 'success',
@@ -2639,14 +2637,20 @@ class AdminController extends AdminBaseController
/**
* Get page media.
*
* @param PageInterface|null $page
* @return Media|null
*/
public function getMedia()
public function getMedia(PageInterface $page = null)
{
if ($this->view !== 'media') {
return null;
}
$page = $page ?? $this->admin->page($this->route);
if (!$page) {
return null;
}
$this->uri = $this->uri ?? $this->grav['uri'];
$field = (string)$this->uri->post('field', '');
@@ -2655,11 +2659,6 @@ class AdminController extends AdminBaseController
$order = array_map('trim', explode(',', $order));
}
$page = $this->admin->page($this->route);
if (!$page) {
return null;
}
$blueprints = $page->blueprints();
$settings = $this->getMediaFieldSettings($blueprints, $field);
$path = $settings['destination'] ?? $page->path();