Traits cannot have constants in php 8.1, fix #4

master
Jean-Christian Paul Denis 2023-05-31 20:42:57 +02:00
parent ec3c438fee
commit d5475e2e87
Signed by: JcDenis
GPG Key ID: 1B5B8C5B90B6C951
1 changed files with 23 additions and 16 deletions

View File

@ -22,8 +22,14 @@ use Dotclear\Helper\File\Path;
*/ */
trait DirTrait trait DirTrait
{ {
/** @var array<int,string> The excluded files */ /**
public const EXCLUDED = [ * Get excuded files.
*
* @param array<int,string> The excluded files
*/
public static function getExcluded(): array
{
return [
'.', '.',
'..', '..',
'__MACOSX', '__MACOSX',
@ -36,6 +42,7 @@ trait DirTrait
'Thumbs.db', 'Thumbs.db',
'_disabled', '_disabled',
]; ];
}
/** /**
* Get path structure. * Get path structure.
@ -52,7 +59,7 @@ trait DirTrait
foreach ($paths as $path) { foreach ($paths as $path) {
$dirs = Files::scanDir($path); $dirs = Files::scanDir($path);
foreach ($dirs as $k) { foreach ($dirs as $k) {
if (!is_string($k) || in_array($k, self::EXCLUDED) || !is_dir($path . DIRECTORY_SEPARATOR . $k)) { if (!is_string($k) || in_array($k, self::getExcluded()) || !is_dir($path . DIRECTORY_SEPARATOR . $k)) {
continue; continue;
} }
$stack[$k] = count(self::scanDir($path . DIRECTORY_SEPARATOR . $k)); $stack[$k] = count(self::scanDir($path . DIRECTORY_SEPARATOR . $k));
@ -107,7 +114,7 @@ trait DirTrait
$files = Files::scandir($path); $files = Files::scandir($path);
foreach ($files as $file) { foreach ($files as $file) {
if (in_array($file, self::EXCLUDED)) { if (in_array($file, self::getExcluded())) {
continue; continue;
} }
if (is_dir($path . DIRECTORY_SEPARATOR . $file)) { if (is_dir($path . DIRECTORY_SEPARATOR . $file)) {