From 2d6619a5dade52f0aecf8317a0268e5a1c778114 Mon Sep 17 00:00:00 2001 From: Andy Miller Date: Mon, 24 Jun 2019 16:36:17 -0600 Subject: [PATCH] Smarter handling of symlinks in parent field --- CHANGELOG.md | 2 ++ classes/plugin/AdminController.php | 10 ++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4abc97f8..dc81981a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ # v1.10.0-beta.3 ## mm/dd/2019 +1. [](#improved) + * Smarter handling of symlinks in parent field 1. [](#bugfix) * Fixed issue with windows paths in `parent` field [#1699](https://github.com/getgrav/grav-plugin-admin/issues/1699) diff --git a/classes/plugin/AdminController.php b/classes/plugin/AdminController.php index adb48b2b..ef0881bc 100644 --- a/classes/plugin/AdminController.php +++ b/classes/plugin/AdminController.php @@ -2247,7 +2247,6 @@ class AdminController extends AdminBaseController // Valid types are dir|file|link $default_filters = ['type'=> ['root', 'dir'], 'name' => null, 'extension' => null]; - $page_instances = Grav::instance()['pages']->instances(); $is_page = $data['page'] ?? true; @@ -2354,13 +2353,16 @@ class AdminController extends AdminBaseController 'extension' => $type === 'dir' ? '' : $fileInfo->getExtension(), 'type' => $type, 'modified' => $fileInfo->getMTime(), - 'size' => $fileInfo->getSize() + 'size' => $fileInfo->getSize(), + 'symlink' => false ]; } // Fix for symlink - if ($payload['type'] === 'link' && $payload['extension'] === '') { - $payload['type'] = 'dir'; + if ($payload['type'] === 'link') { + $payload['symlink'] = true; + $physical_path = $fileInfo->getRealPath(); + $payload['type'] = is_dir($physical_path) ? 'dir' : 'file'; } // filter types