path select WIP

This commit is contained in:
Fred Tempez 2023-03-22 17:46:08 +01:00
parent 95c8b7a975
commit 39e27d5082
2 changed files with 130 additions and 90 deletions

View File

@ -56,6 +56,10 @@ class user extends common
public static $languagesInstalled = []; public static $languagesInstalled = [];
public static $sharePath = [
'/site/file/source/'
];
/** /**
* Ajout * Ajout
*/ */
@ -494,6 +498,9 @@ class user extends common
]); ]);
} }
self::$sharePath = $this->getSubdirectories('./site/file/source');
self::$sharePath = array_flip(self::$sharePath);
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'title' => helper::translate('Editer groupe'), 'title' => helper::translate('Editer groupe'),
@ -618,7 +625,7 @@ class user extends common
} }
// Cas 3 le délai de bloquage court // Cas 3 le délai de bloquage court
if ($this->getData(['user', $userId, 'connectTimeout']) + $this->getData(['config', 'connect', 'timeout']) > time()) { if ($this->getData(['user', $userId, 'connectTimeout']) + $this->getData(['config', 'connect', 'timeout']) > time()) {
$notification = sprintf(helper::translate('Accès bloqué %d minutes', ($this->getData(['config', 'connect', 'timeout']) / 60))); $notification = sprintf(helper::translate('Accès bloqué %d minutes'), ($this->getData(['config', 'connect', 'timeout']) / 60));
} }
// Valeurs en sortie // Valeurs en sortie
@ -878,4 +885,35 @@ class user extends common
exit(); exit();
} }
/**
* Liste les dossier contenus dans RFM
*/
function getSubdirectories($dir, $basePath = '') {
$subdirs = array();
// Ouvrez le répertoire spécifié
$dh = opendir($dir);
// Parcourez tous les fichiers et répertoires dans le répertoire
while (($file = readdir($dh)) !== false) {
// Ignorer les entrées de répertoire parent et actuel
if ($file == '.' || $file == '..') {
continue;
}
// Construisez le chemin complet du fichier ou du répertoire
$path = $dir . '/' . $file;
// Vérifiez si c'est un répertoire
if (is_dir($path)) {
// Construisez la clé et la valeur pour le tableau associatif
$key = $basePath . '/' . $file;
$value = $path . '/';
// Ajouter la clé et la valeur au tableau associatif
$subdirs[$key] = $value;
// Appeler la fonction récursivement pour ajouter les sous-répertoires
$subdirs = array_merge($subdirs, $this->getSubdirectories($path, $key));
}
}
// Fermez le gestionnaire de dossier
closedir($dh);
return $subdirs;
}
} }

View File

@ -17,8 +17,6 @@
<h4> <h4>
<?php echo helper::translate('Opérations sur les fichiers'); ?> <?php echo helper::translate('Opérations sur les fichiers'); ?>
</h4> </h4>
<div class="row">
<div class="col12">
<div class="row"> <div class="row">
<div class="col2"> <div class="col2">
<?php echo template::checkbox('groupEditDownload', true, 'Téléchargement', [ <?php echo template::checkbox('groupEditDownload', true, 'Téléchargement', [
@ -80,8 +78,6 @@
</div> </div>
</div> </div>
</div> </div>
</div>
</div>
</div> </div>
<div class="row"> <div class="row">
<div class="col12"> <div class="col12">
@ -90,8 +86,7 @@
<?php echo helper::translate('Opérations sur les dossiers'); ?> <?php echo helper::translate('Opérations sur les dossiers'); ?>
</h4> </h4>
<div class="row"> <div class="row">
<div class="col12">
<div class="row">
<div class="col2"> <div class="col2">
<?php echo template::checkbox('groupEditFolderCreate', true, 'Création', [ <?php echo template::checkbox('groupEditFolderCreate', true, 'Création', [
'checked' => $this->getData(['group', $this->getUrl(2), 'folder', 'create']) 'checked' => $this->getData(['group', $this->getUrl(2), 'folder', 'create'])
@ -117,7 +112,14 @@
'checked' => $this->getData(['group', $this->getUrl(2), 'folder', 'permission']) 'checked' => $this->getData(['group', $this->getUrl(2), 'folder', 'permission'])
]); ?> ]); ?>
</div> </div>
</div> </div>
<div class="row">
<div class="col6">
<?php echo template::select('connectAttempt', $module::$sharePath, [
'label' => 'Racinde du dossier partagé',
'selected' => $this->getData(['group', $this->getUrl(2), 'path'])
]); ?>
</div> </div>
</div> </div>
</div> </div>