Skip to content

Commit a5e8afa

Browse files
authored
Update FileManagerService.php
1 parent 8b2ed9e commit a5e8afa

File tree

1 file changed

+23
-3
lines changed

1 file changed

+23
-3
lines changed

src/Service/FileManagerService.php

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -467,10 +467,30 @@ public static function getSliceDirs(string|array $dirs, int $slice, bool $implod
467467
return 'getSliceDirs';
468468
}
469469

470-
public function cleanDir(): void
470+
public function cleanDir(string $dir = ''): void
471471
{
472-
dd($this->getDefaultDirectory());
473-
}
472+
if (empty($dir)) {
473+
$dir = $this->getRelativeDirectory();
474+
}
475+
476+
// Définit le chemin du répertoire pour les méthodes getDirs et getFiles
477+
$this->setDefaultDirectory($dir);
478+
479+
// Récupère les sous-dossiers et fichiers
480+
$dirs = $this->getDirs();
481+
$files = $this->getFiles();
482+
483+
// Si aucun fichier et aucun sous-dossier trouvé, supprime le répertoire
484+
if (empty($files) && empty($dirs)) {
485+
$this->remove();
486+
487+
// Appelle récursivement la fonction sur le dossier parent
488+
$parentDir = dirname($dir);
489+
if ($parentDir !== $dir) { // Évite la récursion infinie
490+
$this->cleanDir($parentDir);
491+
}
492+
}
493+
}
474494

475495
/**
476496
* Récupère la liste des fichiers d'un répertoire donné.

0 commit comments

Comments
 (0)