Use array_splice() to unset items that should not be sync'd (nosync) Resolves #38

This commit is contained in:
Scott Ullrich 2009-08-24 20:54:55 -04:00
parent 0b2c35ef67
commit 86fa7e0e9c

View File

@ -3131,39 +3131,53 @@ function carp_sync_xml($url, $password, $sections, $port = 80, $method = 'pfsens
/* strip out nosync items */
for ($x = 0; $x < count($config_copy['nat']['advancedoutbound']['rule']); $x++) {
$config_copy['nat']['advancedoutbound']['rule'][$x]['descr'] = remove_special_characters($config_copy['nat']['advancedoutbound']['rule'][$x]['descr']);
if (isset ($config_copy['nat']['advancedoutbound']['rule'][$x]['nosync']))
unset ($config_copy['nat']['advancedoutbound']['rule'][$x]);
$config_copy['nat']['advancedoutbound']['rule'][$x]['descr'] = remove_special_characters($config_copy['nat']['advancedoutbound']['rule'][$x]['descr']);
if (isset ($config_copy['nat']['advancedoutbound']['rule'][$x]['nosync'])) {
array_splice($config_copy['nat']['advancedoutbound']['rule'],$x,1);
$x--;
}
}
for ($x = 0; $x < count($config_copy['nat']['rule']); $x++) {
$config_copy['nat']['rule'][$x]['descr'] = remove_special_characters($config_copy['nat']['rule'][$x]['descr']);
if (isset ($config_copy['nat']['rule'][$x]['nosync']))
unset ($config_copy['nat']['rule'][$x]);
if (isset ($config_copy['nat']['rule'][$x]['nosync'])) {
array_splice($config_copy['nat']['rule'],$x,1);
$x--;
}
}
for ($x = 0; $x < count($config_copy['filter']['rule']); $x++) {
$config_copy['filter']['rule'][$x]['descr'] = remove_special_characters($config_copy['filter']['rule'][$x]['descr']);
if (isset ($config_copy['filter']['rule'][$x]['nosync']))
unset ($config_copy['filter']['rule'][$x]);
$config_copy['filter']['rule'][$x]['descr'] = remove_special_characters($config_copy['filter']['rule'][$x]['descr']);
if (isset ($config_copy['filter']['rule'][$x]['nosync'])) {
array_splice($config_copy['filter']['rule'],$x,1);
$x--;
}
}
for ($x = 0; $x < count($config_copy['aliases']['alias']); $x++) {
$config_copy['aliases']['alias'][$x]['descr'] = remove_special_characters($config_copy['aliases']['alias'][$x]['descr']);
if (isset ($config_copy['aliases']['alias'][$x]['nosync']))
unset ($config_copy['aliases']['alias'][$x]);
if (isset ($config_copy['aliases']['alias'][$x]['nosync'])) {
array_splice($config_copy['aliases']['alias'],$x,1);
$x--;
}
}
for ($x = 0; $x < count($config_copy['dnsmasq']['hosts']); $x++) {
$config_copy['dnsmasq']['hosts'][$x]['descr'] = remove_special_characters($config_copy['dnsmasq']['hosts'][$x]['descr']);
if (isset ($config_copy['dnsmasq']['hosts'][$x]['nosync']))
unset ($config_copy['dnsmasq']['hosts'][$x]);
if (isset ($config_copy['dnsmasq']['hosts'][$x]['nosync'])) {
array_splice($config_copy['dnsmasq']['hosts'],$x,1);
$x--;
}
}
for ($x = 0; $x < count($config_copy['virtualip']['vip']); $x++) {
$config_copy['virtualip']['vip'][$x]['descr'] = remove_special_characters($config_copy['virtualip']['vip'][$x]['descr']);
if (isset ($config_copy['virtualip']['vip'][$x]['nosync']) or $config_copy['virtualip']['vip'][$x]['mode'] == "proxyarp")
unset ($config_copy['virtualip']['vip'][$x]);
if (isset ($config_copy['virtualip']['vip'][$x]['nosync']) or $config_copy['virtualip']['vip'][$x]['mode'] == "proxyarp") {
array_splice($config_copy['virtualip']['vip'],$x,1);
$x--;
}
}
for ($x = 0; $x < count($config_copy['ipsec']['tunnel']); $x++) {
$config_copy['ipsec']['tunnel'][$x]['descr'] = remove_special_characters($config_copy['ipsec']['tunnel'][$x]['descr']);
if (isset ($config_copy['ipsec']['tunnel'][$x]['nosync']))
unset ($config_copy['ipsec']['tunnel'][$x]);
if (isset ($config_copy['ipsec']['tunnel'][$x]['nosync'])) {
array_splice($config_copy['ipsec']['tunnel'],$x,1);
$x--;
}
}
foreach($sections as $section) {