mirror of
https://git.sekbaer.de/Friendica/friendica.git
synced 2025-06-07 15:54:26 +02:00
implement getVisibleEnablesAddons and getEnabledAddonsWithAdminSettings
This commit is contained in:
parent
93a171765a
commit
0599801b37
2 changed files with 62 additions and 2 deletions
|
@ -153,7 +153,14 @@ final class AddonManagerHelper implements AddonHelper
|
|||
*/
|
||||
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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -163,6 +170,17 @@ final class AddonManagerHelper implements AddonHelper
|
|||
*/
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -56,4 +56,46 @@ class AddonManagerHelperTest extends TestCase
|
|||
$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());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue