fis saving of disable flag of extensions

This commit is contained in:
Uwe Steinmann 2020-01-14 08:31:43 +01:00
parent 392a7e4a51
commit b59f906f27

View File

@ -716,9 +716,13 @@ class Settings { /* {{{ */
$extname = strval($tmp['name']); $extname = strval($tmp['name']);
if(isset($tmp['disable'])) if(isset($tmp['disable']))
$disabled = strval($tmp['disable']); $disabled = strval($tmp['disable']);
else
$disabled = 0;
$this->_extensions[$extname]['__disable__'] = $disabled=='1' || $disabled == 'true' ? true : false; $this->_extensions[$extname]['__disable__'] = $disabled=='1' || $disabled == 'true' ? true : false;
foreach($extension->children() as $parameter) { foreach($extension->children() as $parameter) {
$tmp2 = $parameter->attributes(); $tmp2 = $parameter->attributes();
/* 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); $this->_extensions[$extname][strval($tmp2['name'])] = strval($parameter);
} }
} }
@ -1058,7 +1062,7 @@ class Settings { /* {{{ */
* in configuration form. * in configuration form.
*/ */
foreach($extension as $fieldname=>$confvalue) { foreach($extension as $fieldname=>$confvalue) {
if($confvalue) { if($fieldname != '___disable__' && $confvalue) {
$parameter = $extnode->addChild('parameter'); $parameter = $extnode->addChild('parameter');
$parameter[0] = isset($extension[$fieldname]) ? (is_array($extension[$fieldname]) ? implode(',', $extension[$fieldname]) : $extension[$fieldname]) : ''; $parameter[0] = isset($extension[$fieldname]) ? (is_array($extension[$fieldname]) ? implode(',', $extension[$fieldname]) : $extension[$fieldname]) : '';
$this->setXMLAttributValue($parameter, 'name', $fieldname); $this->setXMLAttributValue($parameter, 'name', $fieldname);