Update installer to handle chan-sccp parsable fields
chan-sccp has parsable fields where two values are separated by a |. Parse these fields and their associated values and create two fields. Remove the unparsed field if it exists.
This commit is contained in:
parent
fea6d88aa5
commit
8b06495938
33
install.php
33
install.php
|
@ -978,13 +978,36 @@ function cleanUpSccpSettings() {
|
||||||
if ($valueArray['Flags'][0] == 'Obsolete' || $valueArray['Flags'][0] == 'Deprecated') {
|
if ($valueArray['Flags'][0] == 'Obsolete' || $valueArray['Flags'][0] == 'Deprecated') {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$sysConfiguration[$valueArray['Name']] = $valueArray;
|
|
||||||
if (array_key_exists($valueArray['Name'],$settingsFromDb)) {
|
// 2 special cases deny|permit & disallow|allow where need to parse on |.
|
||||||
if (!empty($sysConfiguration[$valueArray['Name']]['DefaultValue'])) {
|
$newKeyword = explode("|", $valueArray['Name'], 2);
|
||||||
$settingsFromDb[$valueArray['Name']]['systemdefault'] = $sysConfiguration[$valueArray['Name']]['DefaultValue'];
|
if (isset($newKeyword[1])) {
|
||||||
|
dbug('',$newKeyword);
|
||||||
|
$newSysDef = explode("|", $valueArray['DefaultValue'], 2);
|
||||||
|
$i = 0;
|
||||||
|
foreach ($newKeyword as $dummy) {
|
||||||
|
if (array_key_exists($newKeyword[$i],$settingsFromDb)) {
|
||||||
|
if (!empty($newSysDef[$i])) {
|
||||||
|
$settingsFromDb[$newKeyword[$i]]['systemdefault'] = $newSysDef[$i];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$settingsFromDb[$newKeyword[$i]] = array('keyword' => $newKeyword[$i], 'seq' => 0, 'type' => 0, 'data' => '', 'systemdefault' => $newSysDef[$i]);
|
||||||
|
}
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
if (array_key_exists($valueArray['Name'],$settingsFromDb)){
|
||||||
|
unset($settingsFromDb[$valueArray['Name']]);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$settingsFromDb[$valueArray['Name']] = array('keyword' => $valueArray['Name'], 'seq' => 0, 'type' => 0, 'data' => '', 'systemdefault' => $sysConfiguration[$valueArray['Name']]['DefaultValue']);
|
$sysConfiguration[$valueArray['Name']] = $valueArray;
|
||||||
|
if (array_key_exists($valueArray['Name'],$settingsFromDb)) {
|
||||||
|
if (!empty($sysConfiguration[$valueArray['Name']]['DefaultValue'])) {
|
||||||
|
$settingsFromDb[$valueArray['Name']]['systemdefault'] = $sysConfiguration[$valueArray['Name']]['DefaultValue'];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
|
||||||
|
$settingsFromDb[$valueArray['Name']] = array('keyword' => $valueArray['Name'], 'seq' => 0, 'type' => 0, 'data' => '', 'systemdefault' => $sysConfiguration[$valueArray['Name']]['DefaultValue']);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
unset($sysConfiguration[$key]);
|
unset($sysConfiguration[$key]);
|
||||||
}
|
}
|
||||||
|
|
|
@ -286,24 +286,22 @@ class xmlinterface
|
||||||
$xml_work->$key = time();
|
$xml_work->$key = time();
|
||||||
break;
|
break;
|
||||||
case 'loadinformation':
|
case 'loadinformation':
|
||||||
// Set Path Image ????
|
if (isset($dev_config["tftp_firmware"])) {
|
||||||
if (isset($dev_config["tftp_firmware"])) {
|
$xml_work->$key = (isset($dev_config["loadimage"])) ? $dev_config["tftp_firmware"] . $dev_config["loadimage"] : '';
|
||||||
$xml_work->$key = (isset($dev_config["loadimage"])) ? $dev_config["tftp_firmware"] . $dev_config["loadimage"] : '';
|
} else {
|
||||||
} else {
|
$xml_work->$key = (isset($dev_config["loadimage"])) ? $dev_config["loadimage"] : '';
|
||||||
$xml_work->$key = (isset($dev_config["loadimage"])) ? $dev_config["loadimage"] : '';
|
}
|
||||||
}
|
if (!empty($dev_config['addon'])) {
|
||||||
if (!empty($dev_config['addon'])) {
|
$xnode = $xml_work->addChild('addOnModules');
|
||||||
$xnode = $xml_work->addChild('addOnModules');
|
$ti = 1;
|
||||||
$ti = 1;
|
$hw_addon = explode(';', $dev_config['addon']);
|
||||||
$hw_addon = explode(';', $dev_config['addon']);
|
foreach ($hw_addon as $add_key) {
|
||||||
foreach ($hw_addon as $add_key) {
|
if (!empty($dev_config['addon_info'][$dev_config['addon']])) {
|
||||||
if (!empty($dev_config['addon_info'][$dev_config['addon']])) {
|
$add_val = $dev_config['addon_info'][$dev_config['addon']];
|
||||||
$add_val = $dev_config['addon_info'][$dev_config['addon']];
|
$xnode_obj = $xnode->addChild('addOnModule');
|
||||||
$xnode_obj = $xnode->addChild('addOnModule');
|
$xnode_obj->addAttribute('idx', $ti);
|
||||||
$xnode_obj->addAttribute('idx', $ti);
|
$xnode_obj->addChild('loadInformation', $add_val);
|
||||||
$xnode_obj->addChild('loadInformation', $add_val);
|
$ti++;
|
||||||
$ti++;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue