Replace glob() with stream safe alternative scandir()

This commit is contained in:
Art4 2025-05-14 09:52:33 +00:00
parent 5f7de9d028
commit 88dcd755a9

View file

@ -62,21 +62,29 @@ final class AddonManagerHelper implements AddonHelper
*/ */
public function getAvailableAddons(): array public function getAvailableAddons(): array
{ {
$files = glob($this->getAddonPath() . '/*/'); $dirs = scandir($this->getAddonPath());
if (!is_array($files)) { if (!is_array($dirs)) {
return []; return [];
} }
$files = [];
foreach ($dirs as $dirname) {
if (in_array($dirname, ['.', '..'])) {
continue;
}
if (!is_dir($this->getAddonPath() . '/' . $dirname)) {
continue;
}
$files[] = $dirname;
}
$addons = []; $addons = [];
foreach ($files as $file) { foreach ($files as $addonId) {
if (!is_dir($file)) {
continue;
}
$addonId = basename($file);
$addonInfo = $this->getAddonInfo($addonId); $addonInfo = $this->getAddonInfo($addonId);
if ( if (