*/
public function getVisibleEnabledAddons(): array
{
- return $this->proxy->getVisibleEnabledAddons();
+ $visible_addons = [];
+ $addons = array_filter($this->config->get('addons') ?? []);
+
+ foreach ($addons as $name => $data) {
+ $visible_addons[] = $name;
+ }
+
+ return $visible_addons;
}
/**
*/
public function getEnabledAddonsWithAdminSettings(): array
{
- return $this->proxy->getEnabledAddonsWithAdminSettings();
+ $addons_admin = [];
+ $addons = array_filter($this->config->get('addons') ?? []);
+
+ ksort($addons);
+
+ foreach ($addons as $name => $data) {
+ if (array_key_exists('admin', $data) && $data['admin'] === true) {
+ $addons_admin[] = $name;
+ }
+ }
+
+ return $addons_admin;
}
}
$this->assertSame(['helloaddon'], $addonManagerHelper->getEnabledAddons());
$this->assertTrue($addonManagerHelper->isAddonEnabled('helloaddon'));
}
+
+ public function testGetVisibleEnabledAddons(): void
+ {
+ $config = $this->createStub(IManageConfigValues::class);
+ $config->method('get')->willReturn([
+ 'helloaddon' => [
+ 'last_update' => 1738760499,
+ 'admin' => false,
+ ],
+ ]);
+
+ $addonManagerHelper = new AddonManagerHelper(
+ __DIR__ . '/../../../Util/addons',
+ $config,
+ $this->createStub(Profiler::class)
+ );
+
+ $this->assertSame(['helloaddon'], $addonManagerHelper->getVisibleEnabledAddons());
+ }
+
+ public function testGetEnabledAddonsWithAdminSettings(): void
+ {
+ $config = $this->createStub(IManageConfigValues::class);
+ $config->method('get')->willReturn([
+ 'helloaddon' => [
+ 'last_update' => 1738760499,
+ 'admin' => false,
+ ],
+ 'addonwithadminsettings' => [
+ 'last_update' => 1738760499,
+ 'admin' => true,
+ ],
+ ]);
+
+ $addonManagerHelper = new AddonManagerHelper(
+ __DIR__ . '/../../../Util/addons',
+ $config,
+ $this->createStub(Profiler::class)
+ );
+
+ $this->assertSame(['addonwithadminsettings'], $addonManagerHelper->getEnabledAddonsWithAdminSettings());
+ }
}