Improve parsing of firewall rules

This commit is contained in:
steve-lad 2021-07-30 14:05:00 +02:00
parent 1338336dd9
commit e8cabfbd1a
4 changed files with 19 additions and 19 deletions

View file

@ -218,7 +218,7 @@ and open the template in the editor. Base Version before all crash :-)
<label>Device Connect Address / Name </label>
<name>ccm_address</name>
<cbutton field="internal" value="internal">Internal</cbutton>
<default>0.0.0.0/2000</default>
<default>0.0.0.0:2000</default>
<input value="NONE" field="ip" nameseparator=":">
<options placeholder="0.0.0.0 / pbx.org"/>
<class></class>

View file

@ -1,7 +1,7 @@
<module>
<rawname>sccp_manager</rawname>
<name>SCCP Manager</name>
<version>14.3.0.1</version>
<version>14.3.0.0</version>
<type>setup</type>
<category>SCCP Connectivity</category>
<publisher>Steve Lad, Alex GP</publisher>

View file

@ -213,7 +213,6 @@ class formcreate
}
if (empty($res_value)) {
$res_value = array((string) $child->default);
// $res_value = explode('/', (string) $child->default);
}
?>
<div class="element-container">
@ -280,17 +279,19 @@ class formcreate
?>
<div class = "<?php echo $res_id;?> form-group form-inline" data-nextid=<?php echo $i+1;?> >
<?php
$res_vf = explode('/', $dat_v);
//$res_vf = explode('/', $dat_v);
$i2 = 0;
foreach ($child->xpath('input') as $value) {
$res_n = $res_id.'['.$i.']['.$value['field'].']';
$fields_id = (string)$value['field'];
$opt_at[$fields_id]['nameseparator']=(string)$value['nameseparator'];
//$opt_at[$fields_id]['nameseparator']=(string)$value['nameseparator'];
if (!empty($value->class)) {
$opt_at[$fields_id]['class']='form-control ' .(string)$value->class;
}
$opt_at[$fields_id]['nameseparator']=(string)$value['nameseparator'];
//$opt_at[$fields_id]['nameseparator']=(string)$value['nameseparator'];
if (!empty((string)$value['nameseparator'])) {
$res_vf = explode((string)$value['nameseparator'], $dat_v);
}
echo '<input type="text" name="'. $res_n.'" class="'.$opt_at[$fields_id]['class'].'" value="'.$res_vf[$i2].'"';
if (isset($value->options)) {
foreach ($value->options ->attributes() as $optkey => $optval) {

View file

@ -415,6 +415,7 @@ trait ajaxHelper {
}
function handleSubmit($request, $validateonly = false) {
dbug($request);
$hdr_prefix = 'sccp_';
$hdr_arprefix = 'sccp-ar_';
$save_settings = array();
@ -477,29 +478,27 @@ trait ajaxHelper {
$arr_data = '';
if (!empty($this->sccpvalues[$key])) {
foreach ($value as $vkey => $vval) {
$tmp_data = '';
//$tmp_data = '';
foreach ($vval as $vkey => $vval) {
switch ($vkey) {
case 'inherit':
case 'internal':
if ($vval == 'on') {
$tmp_data .= 'internal;';
$arr_data .= 'internal;';
}
break;
case 'port':
$arr_data .= ":{$vval}";
break;
case 'mask':
$arr_data .= "/{$vval}";
break;
default:
$tmp_data .= $vval . '/';
$arr_data .= $vval;
break;
}
}
if (strlen($tmp_data) > 2) {
while (substr($tmp_data, -1) == '/') {
$tmp_data = substr($tmp_data, 0, -1);
}
$arr_data .= $tmp_data . ';';
}
}
while (substr($arr_data, -1) == ';') {
$arr_data = substr($arr_data, 0, -1);
//$arr_data .= $tmp_data;
}
if (!($this->sccpvalues[$key]['data'] == $arr_data)) {
$save_settings[$key] = array(