// The id comes from task management and it is - of course - *not* the extension's name!
} elseif ((isFormSent('change')) && (ifPostContainsSelections()) && (!isDemoModeActive())) {
// De-/activate extensions
- foreach (postRequestParameter('sel') as $taskId => $active) {
+ foreach (postRequestParameter('sel') as $taskId => $ext_active) {
// Shall we keep the extension always active?
- if ((isset($GLOBALS['cache_array']['always_active'][getExtensionName($taskId)])) && ($GLOBALS['cache_array']['always_active'][getExtensionName($taskId)] == 'Y') && ($active == 'Y')) {
+ if ((isset($GLOBALS['cache_array']['always_active'][getExtensionName($taskId)])) && ($GLOBALS['cache_array']['always_active'][getExtensionName($taskId)] == 'Y') && ($ext_active == 'Y')) {
// Keep this extension active!
loadTemplate('admin_settings_saved', false, getMaskedMessage('ADMIN_EXTENSION_ALWAYS_ACTIVE', getExtensionName($taskId)));
} else {
- // De/activate extension
- $active = 'N'; setExtensionMode('deactivate');
- if ($active != 'Y') {
+ // Deactivation is default
+ $active = 'N';
+ setExtensionMode('deactivate');
+
+ // Is the extension deactivated?
+ if ($ext_active != 'Y') {
+ // Then we can activate it
$active = 'Y';
setExtensionMode('activate');
} // END - if
// Update database
SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_extensions` SET `ext_active`='%s' WHERE `id`=%s AND `ext_active`='%s' LIMIT 1",
- array($active, bigintval($taskId), $active), __FILE__, __LINE__);
+ array($active, bigintval($taskId), $ext_active), __FILE__, __LINE__);
// Run embeded SQL commands
doExtensionSqls($taskId, getExtensionMode());