This commit is contained in:
Fred Tempez 2024-03-27 12:00:55 +01:00
parent 14831c5425
commit 49a106b783
1 changed files with 20 additions and 19 deletions

View File

@ -112,13 +112,13 @@ class folder extends common
private function getFolderContent($chemin, $config = []) private function getFolderContent($chemin, $config = [])
{ {
$showSubFolder = isset ($config['showsubfolder']) ? $config['showsubfolder'] : true; $showSubFolder = isset($config['showsubfolder']) ? $config['showsubfolder'] : true;
$sort = isset ($config['sort']) ? $config['sort'] : true; $sort = isset($config['sort']) ? $config['sort'] : true;
$showDetails = isset ($config['showdetails']) ? $config['showdetails'] : false; $showDetails = isset($config['showdetails']) ? $config['showdetails'] : false;
$initialFolderState = isset ($config['initialfolderstate']) ? $config['initialfolderstate'] : 'collapsed'; $initialFolderState = isset($config['initialfolderstate']) ? $config['initialfolderstate'] : 'collapsed';
$iconPack = isset ($config['iconpack']) || !empty($config['iconpack']) ? $config['iconpack'] : 'classic'; $iconPack = isset($config['iconpack']) || !empty($config['iconpack']) ? $config['iconpack'] : 'classic';
$iconSize = isset ($config['iconsize']) || !empty($config['iconsize']) ? $config['iconsize'] : 'md'; $iconSize = isset($config['iconsize']) || !empty($config['iconsize']) ? $config['iconsize'] : 'md';
// Vérifier si le chemin existe et est un dossier // Vérifier si le chemin existe et est un dossier
if (is_dir($chemin)) { if (is_dir($chemin)) {
// Ouvrir le dossier // Ouvrir le dossier
@ -126,14 +126,14 @@ class folder extends common
// Initialiser les tableaux pour les sous-dossiers et les fichiers // Initialiser les tableaux pour les sous-dossiers et les fichiers
$subDirectories = []; $subDirectories = [];
$files = []; $files = [];
// Parcourir les éléments du dossier // Parcourir les éléments du dossier
while (($element = readdir($dh)) !== false) { while (($element = readdir($dh)) !== false) {
// Exclure les éléments spéciaux // Exclure les éléments spéciaux
if ($element != '.' && $element != '..') { if ($element != '.' && $element != '..') {
// Construire le chemin complet de l'élément // Construire le chemin complet de l'élément
$cheminComplet = $chemin . '/' . $element; $cheminComplet = $chemin . '/' . $element;
// Vérifier si c'est un dossier // Vérifier si c'est un dossier
if (is_dir($cheminComplet)) { if (is_dir($cheminComplet)) {
// Ajouter le dossier au tableau des sous-dossiers // Ajouter le dossier au tableau des sous-dossiers
@ -144,19 +144,19 @@ class folder extends common
} }
} }
} }
// Fermer le dossier // Fermer le dossier
closedir($dh); closedir($dh);
// Trier les sous-dossiers et les fichiers si nécessaire // Trier les sous-dossiers et les fichiers si nécessaire
if ($sort) { if ($sort) {
sort($subDirectories); sort($subDirectories);
sort($files); sort($files);
} }
// Initialiser la liste des éléments // Initialiser la liste des éléments
$items = '<ul>'; $items = '<ul>';
// Ajouter les sous-dossiers à la liste si configuré pour les afficher // Ajouter les sous-dossiers à la liste si configuré pour les afficher
if ($showSubFolder) { if ($showSubFolder) {
foreach ($subDirectories as $subDirectory) { foreach ($subDirectories as $subDirectory) {
@ -174,7 +174,7 @@ class folder extends common
$items .= '</ul></li>'; $items .= '</ul></li>';
} }
} }
// Ajouter les fichiers à la liste // Ajouter les fichiers à la liste
foreach ($files as $file) { foreach ($files as $file) {
$fileFullPath = $chemin . '/' . $file; $fileFullPath = $chemin . '/' . $file;
@ -186,19 +186,20 @@ class folder extends common
$fileSizeFormatted = $this->formatSizeUnits($fileSize); $fileSizeFormatted = $this->formatSizeUnits($fileSize);
$fileInfo = '<div class="file-info-container">' . date('d/m/Y H:i', filemtime($fileFullPath)) . ' - ' . $fileSizeFormatted . '</div>'; $fileInfo = '<div class="file-info-container">' . date('d/m/Y H:i', filemtime($fileFullPath)) . ' - ' . $fileSizeFormatted . '</div>';
} }
$items .= '<li class=" fiv-' . $iconPack . ' fiv-icon-' . $fileExtensionClass . ' fiv-size-' . $iconSize . ' "><div class="fileContainer"><div class="file-name">' . $file . '</div>' . $fileInfo . '</div></li>'; // 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 . '" data-lity><div class="fileContainer"><div class="file-name">' . $file . '</div>' . $fileInfo . '</div></a></li>';
} }
// Fermer la liste // Fermer la liste
$items .= '</ul>'; $items .= '</ul>';
return $items; return $items;
} }
} }
return ''; return '';
} }