Fix folder and icons

This commit is contained in:
Fred Tempez 2024-03-14 14:30:49 +01:00
parent 68d0aaff84
commit f86f38d8b0
2 changed files with 47 additions and 47 deletions

View File

@ -75,42 +75,42 @@ class folder extends common
} }
private function getFolderContent($chemin) private function getFolderContent($chemin)
{ {
// 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
if ($dh = opendir($chemin)) { if ($dh = opendir($chemin)) {
$items = isset($items) ? $items . '<ul class="folder">' : '<ul class ="folder">'; $items = isset($items) ? $items . '<ul class="folder">' : '<ul class ="folder">';
//$items = '<ul>'; // 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)) { // Afficher le nom du dossier avec un élément details
// Afficher le nom du dossier avec un élément details $items .= "<li class='directory'>$element<ul>";
$items .= "<li class='directory'><details><summary>$element</summary>"; // Appeler récursivement la fonction pour ce sous-dossier
// Appeler récursivement la fonction pour ce sous-dossier $items .= $this->getFolderContent($cheminComplet);
$items .= $this->getFolderContent($cheminComplet); $items .= '</ul></li>';
$items .= '</details></li>'; } else {
} else { // Afficher le nom du fichier comme un lien
// Afficher le nom du fichier comme un lien $items .= "<li class='file'><a href='$cheminComplet' target='_blank'>$element</a></li>";
$items .= "<li class='file'><a href='$cheminComplet' target='_blank'>$element</a></li>"; }
} }
} }
} $items .= "</ul>";
$items .= "</ul>";
// Fermer le dossier
// Fermer le dossier closedir($dh);
closedir($dh); }
} return $items;
return $items; }
} }
}

View File

@ -21,20 +21,20 @@
cursor: pointer; cursor: pointer;
} }
#dirindex ul { #dirindex {
list-style: none; list-style: none;
} }
.directory { #dirindex .directory {
background: url('data:image/svg+xml;base64,PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9jdXNhYmxlPSJmYWxzZSIgZGF0YS1wcmVmaXg9ImZhcyIgZGF0YS1pY29uPSJmb2xkZXIiIGNsYXNzPSJzdmctaW5saW5lLS1mYSBmYS1mb2xkZXIgZmEtdy0xNiIgcm9sZT0iaW1nIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik00NjQgMTI4SDI3MmwtNjQtNjRINDhDMjEuNDkgNjQgMCA4NS40OSAwIDExMnYyODhjMCAyNi41MSAyMS40OSA0OCA0OCA0OGg0MTZjMjYuNTEgMCA0OC0yMS40OSA0OC00OFYxNzZjMC0yNi41MS0yMS40OS00OC00OC00OHoiPjwvcGF0aD48L3N2Zz4=') no-repeat left top; list-style-type: "\1F4C1";
height: 20px;
padding-top: 7px;
padding-left: 30px;
} }
.file{ #dirindex .file {
background: url('data:image/svg+xml;base64,PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9jdXNhYmxlPSJmYWxzZSIgZGF0YS1wcmVmaXg9ImZhbCIgZGF0YS1pY29uPSJmaWxlIiByb2xlPSJpbWciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDM4NCA1MTIiIGNsYXNzPSJzdmctaW5saW5lLS1mYSBmYS1maWxlIGZhLXctMTIgZmEtM3giPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTM2OS45IDk3LjlMMjg2IDE0QzI3NyA1IDI2NC44LS4xIDI1Mi4xLS4xSDQ4QzIxLjUgMCAwIDIxLjUgMCA0OHY0MTZjMCAyNi41IDIxLjUgNDggNDggNDhoMjg4YzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjEzMS45YzAtMTIuNy01LjEtMjUtMTQuMS0zNHptLTIyLjYgMjIuN2MyLjEgMi4xIDMuNSA0LjYgNC4yIDcuNEgyNTZWMzIuNWMyLjguNyA1LjMgMi4xIDcuNCA0LjJsODMuOSA4My45ek0zMzYgNDgwSDQ4Yy04LjggMC0xNi03LjItMTYtMTZWNDhjMC04LjggNy4yLTE2IDE2LTE2aDE3NnYxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRoMTA0djMwNGMwIDguOC03LjIgMTYtMTYgMTZ6IiBjbGFzcz0iIj48L3BhdGg+PC9zdmc+') no-repeat left top; list-style-type: "\1F4C4";
height: 20px;
padding-top: 7px;
padding-left: 30px;
} }
#dirindex ul li {
margin-top: 5px;
}