diff --git a/src/settings.php b/src/settings.php
index d46eae8..19e2650 100644
--- a/src/settings.php
+++ b/src/settings.php
@@ -72,9 +72,10 @@ else if (isset($_POST['activate']))
$ext = _post('ext');
$exts = MTTExtensionLoader::bundles();
+ $a = Config::get('extensions');
+ if (!is_array($a)) $a = [];
+
if (in_array($ext, $exts)) {
- $a = Config::get('extensions');
- if (!is_array($a)) $a = [];
if ($activate) {
try {
MTTExtensionLoader::loadExtension($ext);
@@ -89,6 +90,11 @@ else if (isset($_POST['activate']))
Config::set('extensions', $a);
Config::save();
}
+ else if (!$activate && in_array($ext, $a)) {
+ $a = array_diff($a, [$ext]);
+ Config::set('extensions', $a);
+ Config::save();
+ }
$t['saved'] = 1;
jsonExit($t);
}
@@ -193,12 +199,18 @@ function listExtensions()
if ($instance instanceof MTTExtensionSettingsInterface) {
$out .= " ". __('a_settings', true). "";
}
+ $activatedExts = array_diff($activatedExts, [$ext]);
}
else {
$out .= "". __('set_activate', true). '';
}
$a[] = $out;
}
+ // removed and not deactivated
+ foreach ($activatedExts as $ext) {
+ $out = "$ext <not found> "."". __('set_deactivate', true). '';
+ $a[] = $out;
+ }
print( implode("
\n", $a) );
}