From b59f906f273859097a2c2a2605421543b7c1674b Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 14 Jan 2020 08:31:43 +0100 Subject: [PATCH] fis saving of disable flag of extensions --- inc/inc.ClassSettings.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/inc/inc.ClassSettings.php b/inc/inc.ClassSettings.php index e63d0202b..26206d127 100644 --- a/inc/inc.ClassSettings.php +++ b/inc/inc.ClassSettings.php @@ -716,10 +716,14 @@ class Settings { /* {{{ */ $extname = strval($tmp['name']); if(isset($tmp['disable'])) $disabled = strval($tmp['disable']); + else + $disabled = 0; $this->_extensions[$extname]['__disable__'] = $disabled=='1' || $disabled == 'true' ? true : false; foreach($extension->children() as $parameter) { $tmp2 = $parameter->attributes(); - $this->_extensions[$extname][strval($tmp2['name'])] = strval($parameter); + /* Do not read a parameter with the same name. Just a pre caution */ + if(strval($tmp2['name']) != '__disable__') + $this->_extensions[$extname][strval($tmp2['name'])] = strval($parameter); } } @@ -1058,7 +1062,7 @@ class Settings { /* {{{ */ * in configuration form. */ foreach($extension as $fieldname=>$confvalue) { - if($confvalue) { + if($fieldname != '___disable__' && $confvalue) { $parameter = $extnode->addChild('parameter'); $parameter[0] = isset($extension[$fieldname]) ? (is_array($extension[$fieldname]) ? implode(',', $extension[$fieldname]) : $extension[$fieldname]) : ''; $this->setXMLAttributValue($parameter, 'name', $fieldname);