mirror of
https://git.friendi.ca/friendica/friendica.git
synced 2025-06-07 18:44: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
|
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
|
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->assertSame(['helloaddon'], $addonManagerHelper->getEnabledAddons());
|
||||||
$this->assertTrue($addonManagerHelper->isAddonEnabled('helloaddon'));
|
$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