Folder 1.02 target
This commit is contained in:
parent
95e1f738fb
commit
0d9990a1c1
|
@ -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 = '<div class="file-info-container">' . date('d/m/Y H:i', filemtime($fileFullPath)) . ' - ' . $fileSizeFormatted . '</div>';
|
||||
}
|
||||
$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 .= '<li class=" fiv-' . $iconPack . ' fiv-icon-' . $fileExtensionClass . ' fiv-size-' . $iconSize . ' "><a href="' . $fileFullPath . '" ' . $target . ' ><div class="fileContainer"><div class="file-name">' . $file . '</div>' . $fileInfo . '</div></a></li>';
|
||||
}
|
||||
|
@ -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
|
||||
*/
|
||||
|
|
|
@ -34,18 +34,24 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col6">
|
||||
<div class="col4">
|
||||
<?php echo template::select('folderConfigiconPack', $module::$iconPack, [
|
||||
'label' => 'Thème des icônes',
|
||||
'selected' => $this->getData(['module', $this->getUrl(0), 'iconpack'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col6">
|
||||
<div class="col4">
|
||||
<?php echo template::select('folderConfigIconSize', $module::$iconSize, [
|
||||
'label' => 'Taille',
|
||||
'label' => 'Tailledes icones',
|
||||
'selected' => $this->getData(['module', $this->getUrl(0), 'iconsize'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::select('folderConfigTarget', $module::$target, [
|
||||
'label' => 'Cible des liens',
|
||||
'selected' => $this->getData(['module', $this->getUrl(0), 'target'])
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col6">
|
||||
|
|
Loading…
Reference in New Issue