diff --git a/module/folder/folder.php b/module/folder/folder.php
index 5265d6c1..89b31f1e 100644
--- a/module/folder/folder.php
+++ b/module/folder/folder.php
@@ -46,9 +46,9 @@ class folder extends common
'xl' => 'Grande'
];
- public static $openingTarget = [
+ public static $target = [
'data-lity' => 'Images dans une lightbox (lity), sinon téléchargement',
- '_blank' => 'Nouvel onglet',
+ 'blank' => 'Nouvel onglet',
'download' => 'Téléchargement forcé',
];
@@ -88,6 +88,7 @@ class folder extends common
'folderstate' => $this->getInput('folderConfigFolderState', helper::FILTER_BOOLEAN),
'iconpack' => $this->getInput('folderConfigiconPack'),
'iconsize' => $this->getInput('folderConfigIconSize'),
+ 'target' => $this->getInput('folderConfigTarget'),
]
]);
@@ -117,6 +118,7 @@ class folder extends common
$initialFolderState = isset($config['folderstate']) ? $config['folderstate'] : 'collapsed';
$iconPack = isset($config['iconpack']) || !empty($config['iconpack']) ? $config['iconpack'] : 'classic';
$iconSize = isset($config['iconsize']) || !empty($config['iconsize']) ? $config['iconsize'] : 'md';
+ $target = isset($config['target']) || !empty($config['target']) ? $config['target'] : 'data-lity';
// Vérifier si le chemin existe et est un dossier
if (is_dir($chemin)) {
@@ -185,7 +187,20 @@ class folder extends common
$fileSizeFormatted = $this->formatSizeUnits($fileSize);
$fileInfo = '
' . date('d/m/Y H:i', filemtime($fileFullPath)) . ' - ' . $fileSizeFormatted . '
';
}
- $target = in_array($fileExtension, ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'tiff', 'svg', 'ico', 'webp', 'avif']) ? 'data-lity' : 'download';
+
+ // Redirige la cible vers un téléchargement lorsque le format n'est pas supporté par Lity pour éviter unefenêtre Lity vide.
+ // Génére l'attribut _blank
+ switch ($target) {
+ case 'data-lity':
+ $target = in_array($fileExtension, ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'tiff', 'svg', 'ico', 'webp', 'avif'])
+ ? 'data-lity'
+ : 'download';
+ break;
+ case 'blank':
+ $target = 'target="_blank"';
+ break;
+ }
+
// Ajouter des balises d'ancrage autour du nom de fichier pour le rendre cliquable
$items .= '' . $file . '
' . $fileInfo . '
';
}
@@ -201,9 +216,6 @@ class folder extends common
}
-
-
-
private function formatSizeUnits($bytes)
{
$units = array('octets', 'Ko', 'Mo', 'Go', 'To');
@@ -217,12 +229,6 @@ class folder extends common
-
-
-
-
-
-
/**
* Liste les dossier contenus dans RFM
*/
diff --git a/module/folder/view/config/config.php b/module/folder/view/config/config.php
index 45e8adaa..bad3fd22 100644
--- a/module/folder/view/config/config.php
+++ b/module/folder/view/config/config.php
@@ -34,18 +34,24 @@
-
+
'Thème des icônes',
'selected' => $this->getData(['module', $this->getUrl(0), 'iconpack'])
]); ?>
-
+
'Taille',
+ 'label' => 'Tailledes icones',
'selected' => $this->getData(['module', $this->getUrl(0), 'iconsize'])
]); ?>
+
+ 'Cible des liens',
+ 'selected' => $this->getData(['module', $this->getUrl(0), 'target'])
+ ]); ?>
+