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 @@
diff --git a/Service/FileTypeService.php b/Service/FileTypeService.php index b5a9948..138045d 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()); @@ -37,7 +37,6 @@ public function preview(FileManager $fileManager, SplFileInfo $file) { 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(), @@ -51,6 +50,22 @@ public function preview(FileManager $fileManager, SplFileInfo $file) { 'folder' => ''.$file->getFilename().'', ]; } + if ('link' === $type) { + $href = $this->router->generate( + 'file_manager', array_merge( + $fileManager->getQueryParameters(), + ['route' => $fileManager->getRoute().'/'.$file->getFilename()], + ), + ); + + return [ + 'path' => $filePath, + 'html' => "", + 'folder' => ''.$file->getFilename().' → '.$file->getLinkTarget().'', + ]; + } + + return []; } public function accept($type): bool|string {