diff --git a/src/init.php b/src/init.php index 74d8a88..ae1b6e2 100644 --- a/src/init.php +++ b/src/init.php @@ -458,9 +458,12 @@ function logAndDie($userText, $errText = null) function loadExtensions() { $a = Config::get('extensions') ?: null; - if (!$a || !array_is_list($a)) { + if (!$a || !is_array($a)) { return; } + if (!array_is_list($a)) { + $a = array_values($a); + } foreach ($a as $ext) { if (is_string($ext)) { try { diff --git a/src/settings.php b/src/settings.php index b6b1941..67c0bce 100644 --- a/src/settings.php +++ b/src/settings.php @@ -92,12 +92,12 @@ else if (isset($_POST['activate'])) logAndDie($e->getMessage()); } } - else $a = array_diff($a, [$ext]); + else $a = array_values(array_diff($a, [$ext])); Config::set('extensions', $a); Config::save(); } else if (!$activate && in_array($ext, $a)) { - $a = array_diff($a, [$ext]); + $a = array_values(array_diff($a, [$ext])); Config::set('extensions', $a); Config::save(); } @@ -196,7 +196,8 @@ function listExtensions() { $extBundles = MTTExtensionLoader::bundles(); $activatedExts = Config::get('extensions'); - if (!is_array($activatedExts)) $activatedExts = []; + if (!is_array($activatedExts)) + $activatedExts = []; $a = []; foreach ($extBundles as $ext => $meta) { $out = htmlspecialchars($meta['name']. ' v'. $meta['version']). ' ';