Folder 1.0

This commit is contained in:
Fred Tempez 2024-03-27 10:37:01 +01:00
parent f4d04c3890
commit 1970c8a7fc
4 changed files with 47 additions and 21 deletions

View File

@ -17,7 +17,7 @@
class folder extends common
{
const VERSION = '0.1';
const VERSION = '1.0';
const REALNAME = 'Partage de dossier';
const DATADIRECTORY = ''; // Contenu localisé inclus par défaut (page.json et module.json)
@ -34,11 +34,17 @@ class folder extends common
];
public static $iconPack = [
'classic' => 'Classique',
'high-contrast' => 'Contraste élevé',
'square' => 'Carré',
'vivid' => 'Vivid'
'cla' => 'Classique',
'hct' => 'Contraste élevé',
'sqo' => 'Carré',
'viv' => 'Vivid'
];
public static $iconSize = [
'md' => 'Standard',
'lg' => 'Moyenne',
'xl' => 'Grande'
];
public function index()
{
@ -48,6 +54,8 @@ class folder extends common
$config['sort'] = $this->getData(['module', $this->getUrl(0), 'sort']);
$config['showdetails'] = $this->getData(['module', $this->getUrl(0), 'details']);
$config['initialfolderstate'] = $this->getData(['module', $this->getUrl(0), 'folderstate']);
$config['iconpack'] = $this->getData(['module', $this->getUrl(0), 'iconpack']);
$config['iconsize'] = $this->getData(['module', $this->getUrl(0), 'iconsize']);
// Générer l'affichage
self::$folders = $this->getFolderContent($this->getData(['module', $this->getUrl(0), 'path']), $config);
@ -79,6 +87,8 @@ class folder extends common
'folder' => $this->getInput('folderConfigFolder', helper::FILTER_BOOLEAN),
'details' => $this->getInput('folderConfigDetails', helper::FILTER_BOOLEAN),
'folderstate' => $this->getInput('folderConfigFolderState', helper::FILTER_BOOLEAN),
'iconpack' => $this->getInput('folderConfigiconPack'),
'iconsize' => $this->getInput('folderConfigIconSize'),
]
]);
@ -106,6 +116,8 @@ class folder extends common
$sort = isset ($config['sort']) ? $config['sort'] : true;
$showDetails = isset ($config['showdetails']) ? $config['showdetails'] : false;
$initialFolderState = isset ($config['initialfolderstate']) ? $config['initialfolderstate'] : 'collapsed';
$iconPack = isset ($config['iconpack']) || !empty($config['iconpack']) ? $config['iconpack'] : 'classic';
$iconSize = isset ($config['iconsize']) || !empty($config['iconsize']) ? $config['iconsize'] : 'md';
// Vérifier si le chemin existe et est un dossier
if (is_dir($chemin)) {
@ -152,7 +164,7 @@ class folder extends common
if ($initialFolderState == 'collapsed') {
$folderClass = 'collapsible';
}
$items .= '<li class="fiv-cla fiv-icon-folder ' . $folderClass . ' fiv-size-xl "><span class="toggle">' . $subDirectory . '</span><ul class="sub-items"';
$items .= '<li class="fiv-' . $iconPack . ' fiv-icon-folder ' . $folderClass . ' fiv-size-' . $iconSize . ' "><span class="toggle">' . $subDirectory . '</span><ul class="sub-items"';
if ($initialFolderState == 'collapsed') {
$items .= " style='display:none;'";
}
@ -174,7 +186,7 @@ class folder extends common
$fileSizeFormatted = $this->formatSizeUnits($fileSize);
$fileInfo = '<div class="file-info-container">' . date('d/m/Y H:i', filemtime($fileFullPath)) . ' - ' . $fileSizeFormatted . '</div>';
}
$items .= '<li class=" fiv-cla fiv-icon-' . $fileExtensionClass . ' fiv-size-xl "><div class="fileContainer"><div class="file-name">' . $file . '</div>' . $fileInfo . '</div></li>';
$items .= '<li class=" fiv-' . $iconPack . ' fiv-icon-' . $fileExtensionClass . ' fiv-size-' . $iconSize . ' "><div class="fileContainer"><div class="file-name">' . $file . '</div>' . $fileInfo . '</div></li>';
}
// Fermer la liste

View File

@ -34,22 +34,38 @@
</div>
</div>
<div class="row">
<div class="col3">
<div class="col6">
<?php echo template::select('folderConfigiconPack', $module::$iconPack, [
'label' => 'Thème des icônes',
'selected' => $this->getData(['module', $this->getUrl(0), 'iconpack'])
]); ?>
</div>
<div class="col6">
<?php echo template::select('folderConfigIconSize', $module::$iconSize, [
'label' => 'Taille',
'selected' => $this->getData(['module', $this->getUrl(0), 'iconsize'])
]); ?>
</div>
</div>
<div class="row">
<div class="col6">
<?php echo template::checkbox('folderConfigSort', true, 'Trier les dossiers et les fichiers', [
'checked' => $this->getData(['module', $this->getUrl(0), 'sort'])
]); ?>
</div>
<div class="col3">
<div class="col6">
<?php echo template::checkbox('folderConfigSubfolder', true, 'Descendre dans l\'arboresence', [
'checked' => $this->getData(['module', $this->getUrl(0), 'subfolder'])
]); ?>
</div>
<div class="col3">
</div>
<div class="row">
<div class="col6">
<?php echo template::checkbox('folderConfigDetails', true, 'Date et poids', [
'checked' => $this->getData(['module', $this->getUrl(0), 'details'])
]); ?>
</div>
<div class="col3">
<div class="col6">
<?php echo template::checkbox('folderConfigFolderState', true, 'Dossiers pliés', [
'checked' => $this->getData(['module', $this->getUrl(0), 'folderstate'])
]); ?>

View File

@ -5,10 +5,6 @@
*/
.fiv-hct:before {
content: '\00a0';
}
.fiv-hct.fiv-icon-3g2 {
background-image: url("icons/high-contrast/3g2.svg");
}
@ -1704,3 +1700,8 @@
.fiv-hct.fiv-icon-zsh {
background-image: url("icons/high-contrast/zsh.svg");
}
/*Image manquante */
.fiv-hct.fiv-icon-folder {
background-image: url("icons/square-o/folder.svg");
}

View File

@ -85,18 +85,15 @@ ul.sub-items {
.fiv-size-md {
background-size: 0.8em;
font-size: 0.8em;
background-size: 1.0em;
}
.fiv-size-lg {
background-size: 1.1em;
font-size: 1.1em;
background-size: 1.2em;
}
.fiv-size-xl {
background-size: 1.2em;
font-size: 1.2em;
background-size: 1.4em;
}