From d00fc89a59fdf6c723dbc94a05d28392c86ac074 Mon Sep 17 00:00:00 2001 From: Art4 Date: Thu, 15 May 2025 14:06:36 +0000 Subject: [PATCH] Do not use AddonHelper in StrategiesFileManager to avoid circular dependendy with strategies ans cache --- src/Core/Hooks/Util/StrategiesFileManager.php | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/Core/Hooks/Util/StrategiesFileManager.php b/src/Core/Hooks/Util/StrategiesFileManager.php index 9c3041c0a5..e4144722dd 100644 --- a/src/Core/Hooks/Util/StrategiesFileManager.php +++ b/src/Core/Hooks/Util/StrategiesFileManager.php @@ -30,15 +30,15 @@ class StrategiesFileManager const STATIC_DIR = 'static'; const CONFIG_NAME = 'strategies'; - private AddonHelper $addonHelper; + private IManageConfigValues $configuration; protected array $config = []; /** @var string */ protected $basePath; - public function __construct(string $basePath, AddonHelper $addonHelper) + public function __construct(string $basePath, IManageConfigValues $configuration) { - $this->basePath = $basePath; - $this->addonHelper = $addonHelper; + $this->basePath = $basePath; + $this->configuration = $configuration; } /** @@ -96,15 +96,13 @@ class StrategiesFileManager */ private function getActiveAddonConfig(string $configName): array { - $this->addonHelper->loadAddons(); - - $addons = $this->addonHelper->getEnabledAddons(); + $addons = array_keys(array_filter($this->configuration->get('addons') ?? [])); $returnConfig = []; foreach ($addons as $addon) { $addonName = Strings::sanitizeFilePathItem(trim($addon)); - $configFile = $this->addonHelper->getAddonPath() . '/' . $addonName . '/' . static::STATIC_DIR . '/' . $configName . '.config.php'; + $configFile = $this->basePath . '/addon/' . $addonName . '/' . static::STATIC_DIR . '/' . $configName . '.config.php'; if (!file_exists($configFile)) { // Addon unmodified, skipping