X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FCore%2FAddon.php;h=06f6a129675985e1d2feb433fa8292ac041f0e31;hb=f609e38600f54fe8465d1194008d823103f41baa;hp=419fb4bd9bd9c109d37e6a9bd9dc832c956bde4d;hpb=01403d15c4ac402ba8b0b5eb084573331275c092;p=friendica.git diff --git a/src/Core/Addon.php b/src/Core/Addon.php index 419fb4bd9b..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,11 @@ 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'])) { @@ -116,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') ?? [])); } /** @@ -170,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'), ]); @@ -186,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)); @@ -312,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; }