From 224ed960a2833242f9d110c001ffdf389f4dc094 Mon Sep 17 00:00:00 2001 From: Flohw Date: Fri, 11 Jul 2025 13:43:22 +0200 Subject: [PATCH 1/5] Follow link to get preview --- Service/FileTypeService.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Service/FileTypeService.php b/Service/FileTypeService.php index b5a9948..2f4c5ab 100644 --- a/Service/FileTypeService.php +++ b/Service/FileTypeService.php @@ -51,6 +51,9 @@ public function preview(FileManager $fileManager, SplFileInfo $file) { 'folder' => ''.$file->getFilename().'', ]; } + if ('link' === $type) { + return $this->preview($fileManager, new SplFileInfo($file->getRealPath())); + } } public function accept($type): bool|string { From 694d3fe847ab2d5cda6f7cfdcfb576ccc0046aa0 Mon Sep 17 00:00:00 2001 From: Flohw Date: Fri, 11 Jul 2025 13:46:25 +0200 Subject: [PATCH 2/5] Make preview always return an array --- Service/FileTypeService.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Service/FileTypeService.php b/Service/FileTypeService.php index 2f4c5ab..198d344 100644 --- a/Service/FileTypeService.php +++ b/Service/FileTypeService.php @@ -19,7 +19,7 @@ class FileTypeService { public function __construct(private RouterInterface $router, private Environment $twig) { } - public function preview(FileManager $fileManager, SplFileInfo $file) { + public function preview(FileManager $fileManager, SplFileInfo $file): array { if ($fileManager->getImagePath()) { $filePath = $fileManager->getImagePath().rawurlencode($file->getFilename()); @@ -54,6 +54,8 @@ public function preview(FileManager $fileManager, SplFileInfo $file) { if ('link' === $type) { return $this->preview($fileManager, new SplFileInfo($file->getRealPath())); } + + return []; } public function accept($type): bool|string { From c1fced5b5f262833f120cc63f743f163be6db6c4 Mon Sep 17 00:00:00 2001 From: Flohw Date: Fri, 11 Jul 2025 13:49:14 +0200 Subject: [PATCH 3/5] Check if html index exists before using it --- Resources/views/views/_list.html.twig | 4 ++-- Resources/views/views/_thumbnail.html.twig | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Resources/views/views/_list.html.twig b/Resources/views/views/_list.html.twig index 57d5f3a..ffc3eb7 100644 --- a/Resources/views/views/_list.html.twig +++ b/Resources/views/views/_list.html.twig @@ -44,7 +44,7 @@ {% block file_preview %} - {{ fileEntity.preview ? fileEntity.preview.html|raw }} + {{ fileEntity.preview.html is defined ? fileEntity.preview.html|raw }} {% endblock %} @@ -125,4 +125,4 @@ {% endfor %} - \ No newline at end of file + diff --git a/Resources/views/views/_thumbnail.html.twig b/Resources/views/views/_thumbnail.html.twig index 53b417c..555c395 100644 --- a/Resources/views/views/_thumbnail.html.twig +++ b/Resources/views/views/_thumbnail.html.twig @@ -15,7 +15,7 @@ {% endblock %} {% block file_preview %}
- {{ fileEntity.preview ? fileEntity.preview.html|raw }} + {{ fileEntity.preview.html is defined ? fileEntity.preview.html|raw }}
{% endblock %}

From a3365a9efdb85b1cc51853eeeb93dc4b4e3ddeb1 Mon Sep 17 00:00:00 2001 From: Flohw Date: Fri, 11 Jul 2025 14:31:34 +0200 Subject: [PATCH 4/5] Return specific array to handle link file type --- Service/FileTypeService.php | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Service/FileTypeService.php b/Service/FileTypeService.php index 198d344..25222f2 100644 --- a/Service/FileTypeService.php +++ b/Service/FileTypeService.php @@ -37,7 +37,6 @@ public function preview(FileManager $fileManager, SplFileInfo $file): array { return $this->fileIcon($filePath, $extension, $size, true, $fileManager->getConfigurationParameter('twig_extension'), $fileManager->getConfigurationParameter('cachebreaker')); } if ('dir' === $type) { - $href = $this->router->generate( 'file_manager', array_merge( $fileManager->getQueryParameters(), @@ -52,7 +51,18 @@ public function preview(FileManager $fileManager, SplFileInfo $file): array { ]; } if ('link' === $type) { - return $this->preview($fileManager, new SplFileInfo($file->getRealPath())); + $href = $this->router->generate( + 'file_manager', array_merge( + $fileManager->getQueryParameters(), + ['route' => $fileManager->getRoute().'/'.$file->getFilename()], + ), + ); + + return [ + 'path' => $filePath, + 'html' => "", + 'folder' => ''.$file->getFilename().'', + ]; } return []; From c48cfdb23d1a9cfe5687d10ad10f8a71153df36b Mon Sep 17 00:00:00 2001 From: Flohw Date: Fri, 11 Jul 2025 14:41:02 +0200 Subject: [PATCH 5/5] Add info about target link --- Service/FileTypeService.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Service/FileTypeService.php b/Service/FileTypeService.php index 25222f2..138045d 100644 --- a/Service/FileTypeService.php +++ b/Service/FileTypeService.php @@ -61,7 +61,7 @@ public function preview(FileManager $fileManager, SplFileInfo $file): array { return [ 'path' => $filePath, 'html' => "", - 'folder' => ''.$file->getFilename().'', + 'folder' => ''.$file->getFilename().' → '.$file->getLinkTarget().'', ]; }