Traits cannot have constants in php 8.1, fix #4

This commit is contained in:
Jean-Christian Paul Denis 2023-05-31 20:42:57 +02:00
parent ec3c438fee
commit d5475e2e87
Signed by: JcDenis
GPG Key ID: 1B5B8C5B90B6C951

View File

@ -22,8 +22,14 @@ use Dotclear\Helper\File\Path;
*/
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',
@ -36,6 +42,7 @@ trait DirTrait
'Thumbs.db',
'_disabled',
];
}
/**
* Get path structure.
@ -52,7 +59,7 @@ trait DirTrait
foreach ($paths as $path) {
$dirs = Files::scanDir($path);
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;
}
$stack[$k] = count(self::scanDir($path . DIRECTORY_SEPARATOR . $k));
@ -107,7 +114,7 @@ trait DirTrait
$files = Files::scandir($path);
foreach ($files as $file) {
if (in_array($file, self::EXCLUDED)) {
if (in_array($file, self::getExcluded())) {
continue;
}
if (is_dir($path . DIRECTORY_SEPARATOR . $file)) {