Skip to content
Snippets Groups Projects
Commit ce9dff7d authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Gestion des sous-dossiers pour le code

parent c53abc66
Branches
Tags 6.1.3
No related merge requests found
Pipeline #30734 passed
......@@ -24,6 +24,8 @@ class Controller extends AbstractActionController
$viewModel->setTemplate('unicaen-code/index');
}
$viewName = str_replace('.', '/', $viewName);
$viewModel->setVariables([
'controller' => $this,
'container' => Util::getContainer(),
......
......@@ -35,22 +35,34 @@ class CollectorService implements CollectorInterface
$viewDirs = $this->getServiceConfig()->getViewDirs();
$viewFiles = [];
foreach ($viewDirs as $viewDir) {
$files = scandir($viewDir, SCANDIR_SORT_ASCENDING);
foreach ($files as $file) {
$files = new \RecursiveDirectoryIterator(
$viewDir,
\RecursiveDirectoryIterator::SKIP_DOTS
);
$rFiles = new \RecursiveIteratorIterator($files);
foreach ($rFiles as $file) {
$file = $file->getPathname();
if (str_starts_with($file, $viewDir)) {
$file = substr($file, strlen($viewDir));
if (str_starts_with($file, '/')) {
$file = substr($file, 1);
}
if (!str_starts_with($file, 'generator') && !str_starts_with($file, 'template')) {
$viewFiles[] = $file;
}
}
}
}
$viewFiles = array_unique($viewFiles);
sort($viewFiles);
$items = [];
foreach ($viewFiles as $viewFile) {
if ($viewFile != '.' && $viewFile != '..') {
if (false !== strrpos($viewFile, '.php')) {
$name = substr($viewFile, 0, strrpos($viewFile, '.php'));
$url = $this->urlVH->__invoke('unicaen-code', ['view' => $name]);
$url = $this->urlVH->__invoke('unicaen-code', ['view' => str_replace('/', '.', $name)]);
$items[$name] = $url;
}
}
}
return $items;
}
......@@ -67,6 +79,8 @@ class CollectorService implements CollectorInterface
return $items;
}
/**
* {@inheritDoc}
*/
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment