]> git.mxchange.org Git - friendica.git/blobdiff - src/Core/Addon.php
Merge remote-tracking branch 'upstream/develop' into user-defined-channels
[friendica.git] / src / Core / Addon.php
index 419fb4bd9bd9c109d37e6a9bd9dc832c956bde4d..06f6a129675985e1d2feb433fa8292ac041f0e31 100644 (file)
@@ -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;
                }