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)
{
// Vérifier si le chemin existe et est un dossier
if (is_dir($chemin)) {
// Ouvrir le dossier
if ($dh = opendir($chemin)) {
$items = isset($items) ? $items . '<ul class="folder">' : '<ul class ="folder">';
//$items = '<ul>';
// Parcourir les éléments du dossier
while (($element = readdir($dh)) !== false) {
// Exclure les éléments spéciaux
if ($element != '.' && $element != '..') {
// Construire le chemin complet de l'élément
$cheminComplet = $chemin . '/' . $element;
private function getFolderContent($chemin)
{
// Vérifier si le chemin existe et est un dossier
if (is_dir($chemin)) {
// Ouvrir le dossier
if ($dh = opendir($chemin)) {
$items = isset($items) ? $items . '<ul class="folder">' : '<ul class ="folder">';
// Parcourir les éléments du dossier
while (($element = readdir($dh)) !== false) {
// Exclure les éléments spéciaux
if ($element != '.' && $element != '..') {
// Construire le chemin complet de l'élément
$cheminComplet = $chemin . $element;
// Vérifier si c'est un dossier
if (is_dir($cheminComplet)) {
// Afficher le nom du dossier avec un élément details
$items .= "<li class='directory'><details><summary>$element</summary>";
// Appeler récursivement la fonction pour ce sous-dossier
$items .= $this->getFolderContent($cheminComplet);
$items .= '</details></li>';
} else {
// Afficher le nom du fichier comme un lien
$items .= "<li class='file'><a href='$cheminComplet' target='_blank'>$element</a></li>";
}
}
}
$items .= "</ul>";
// Vérifier si c'est un dossier
if (is_dir($cheminComplet)) {
// Afficher le nom du dossier avec un élément details
$items .= "<li class='directory'>$element<ul>";
// Appeler récursivement la fonction pour ce sous-dossier
$items .= $this->getFolderContent($cheminComplet);
$items .= '</ul></li>';
} else {
// Afficher le nom du fichier comme un lien
$items .= "<li class='file'><a href='$cheminComplet' target='_blank'>$element</a></li>";
}
}
}
$items .= "</ul>";
// Fermer le dossier
closedir($dh);
}
return $items;
}
}
// Fermer le dossier
closedir($dh);
}
return $items;
}
}

View File

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