X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FCore%2FAddon.php;h=06f6a129675985e1d2feb433fa8292ac041f0e31;hb=dc9658f532a067adaf96d753a34f3ee99ff8587b;hp=be3e70a540415754c5d912d7f4845ec5fd01821d;hpb=13b234d279a7de89c718c446a85238bff7d873ca;p=friendica.git diff --git a/src/Core/Addon.php b/src/Core/Addon.php index be3e70a540..06f6a12967 100644 --- a/src/Core/Addon.php +++ b/src/Core/Addon.php @@ -51,7 +51,7 @@ class Addon * @return array * @throws \Exception */ - public static function getAvailableList() + public static function getAvailableList(): array { $addons = []; $files = glob('addon/*/'); @@ -81,10 +81,12 @@ class Addon * @return array * @throws \Exception */ - public static function getAdminList() + public static function getAdminList(): array { $addons_admin = []; - $addons = DI::config()->get('addons'); + $addons = array_filter(DI::config()->get('addons') ?? []); + + ksort($addons); foreach ($addons as $name => $data) { if (empty($data['admin'])) { continue; @@ -115,7 +117,7 @@ class Addon */ public static function loadAddons() { - self::$addons = array_keys(DI::config()->get('addons') ?? []); + self::$addons = array_keys(array_filter(DI::config()->get('addons') ?? [])); } /** @@ -169,7 +171,7 @@ class Addon $func(DI::app()); } - DI::config()->set('addons', $addon,[ + DI::config()->set('addons', $addon, [ 'last_update' => $t, 'admin' => function_exists($addon . '_addon_admin'), ]); @@ -185,10 +187,12 @@ class Addon * reload all updated addons * * @return void + * @throws \Exception + * */ public static function reload() { - $addons = DI::config()->get('addons'); + $addons = array_filter(DI::config()->get('addons') ?? []); foreach ($addons as $name => $data) { $addonname = Strings::sanitizeFilePathItem(trim($name)); @@ -311,7 +315,8 @@ class Addon public static function getVisibleList(): array { $visible_addons = []; - $addons = DI::config()->get('addons'); + $addons = array_filter(DI::config()->get('addons') ?? []); + foreach ($addons as $name => $data) { $visible_addons[] = $name; }