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);