config options

This commit is contained in:
Fred Tempez 2024-03-15 20:13:58 +01:00
parent f61c2a977a
commit 75203d6e8e
3 changed files with 30 additions and 25 deletions

View File

@ -54,7 +54,12 @@ class folder extends common
$this->getUser('permission', __CLASS__, __FUNCTION__) === true && $this->getUser('permission', __CLASS__, __FUNCTION__) === true &&
$this->isPost() $this->isPost()
) { ) {
$this->setData(['module', $this->getUrl(0), 'path', preg_replace('/^\\./', '', $this->getInput('folderEditPath')) ]); $this->setData(['module',
$this->getUrl(0),[
'path'=> preg_replace('/^\\./', '', $this->getInput('folderConfigPath')),
'title' => $this->getInput('folderConfigTitle')
]]);
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
@ -75,13 +80,10 @@ class folder extends common
} }
private function getFolderContent($chemin, $config = []) private function getFolderContent($chemin)
{ {
$showSubFolder = isset($config['showsubfolder']) ? $config['showsubfolder'] : true;
$sort = isset($config['sort']) ? $config['sort'] : true;
// Vérifier si le chemin existe et est un dossier // Vérifier si le chemin existe et est un dossier
if (!is_null($chemin) && is_dir($chemin)) { if (is_dir($chemin)) {
// Ouvrir le dossier // Ouvrir le dossier
if ($dh = opendir($chemin)) { if ($dh = opendir($chemin)) {
// Initialiser les tableaux pour les sous-dossiers et les fichiers // Initialiser les tableaux pour les sous-dossiers et les fichiers
@ -109,23 +111,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
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
if ($showSubFolder) { foreach ($subDirectories as $subDirectory) {
foreach ($subDirectories as $subDirectory) { $items .= "<li class='directory'>$subDirectory";
$items .= "<li class='directory'>$subDirectory"; // Appeler récursivement la fonction pour ce sous-dossier
// Appeler récursivement la fonction pour ce sous-dossier $items .= $this->getFolderContent($chemin . '/' . $subDirectory);
$items .= $this->getFolderContent($chemin . '/' . $subDirectory, $config); $items .= '</li>';
$items .= '</li>';
}
} }
// Ajouter les fichiers à la liste // Ajouter les fichiers à la liste

View File

@ -17,12 +17,19 @@
<h4><?php echo helper::translate('Paramètres'); ?></h4> <h4><?php echo helper::translate('Paramètres'); ?></h4>
<div class="row"> <div class="row">
<div class="col6"> <div class="col6">
<?php echo template::select('folderEditPath', $module::$sharePath, [ <?php echo template::select('folderConfigPath', $module::$sharePath, [
'label' => 'Dossier', 'label' => 'Dossier',
'class' => 'filemanager', 'class' => 'filemanager',
'selected' => $this->getData(['module', $this->getUrl(0), 'path']) 'selected' => $this->getData(['module', $this->getUrl(0), 'path'])
]); ?> ]); ?>
</div> </div>
<div class="col6">
<?php echo template::text('folderConfigTitle', [
'label' => 'Titre',
'placeholder' => 'Répertoire',
'value' => empty($this->getData(['module', $this->getUrl(0), 'title'])) ? 'Répertoire' : $this->getData(['module', $this->getUrl(0), 'title'])
]); ?>
</div>
</div> </div>
</div> </div>
</div> </div>

View File

@ -1,6 +1,6 @@
<div id="dirindex"> <div id="dirindex">
<article> <article>
<h1>Répertoire</h1> <h1><?php echo $this->getData(['module', $this->getUrl(0), 'title']);?></h1>
<?php echo $module::$folders; ?> <?php echo $module::$folders; ?>
</article> </article>
</div> </div>