Project

General

Profile

« Previous | Next » 

Revision d6e8dfa1

Added by Scott Ullrich almost 16 years ago

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

View differences:

etc/rc.filter_synchronize
89 89
        if (is_array($config_copy['nat']['advancedoutbound']['rule']))
90 90
        for ($x = 0; $x < count($config_copy['nat']['advancedoutbound']['rule']); $x++) {
91 91
                $config_copy['nat']['advancedoutbound']['rule'][$x]['descr'] = remove_special_characters($config_copy['nat']['advancedoutbound']['rule'][$x]['descr']);
92
                if (isset ($config_copy['nat']['advancedoutbound']['rule'][$x]['nosync']))
93
                        unset ($config_copy['nat']['advancedoutbound']['rule'][$x]);
92
                if (isset ($config_copy['nat']['advancedoutbound']['rule'][$x]['nosync'])) {
93
                	array_splice($config_copy['nat']['advancedoutbound']['rule'],$x,1);
94
                	$x--;
95
				}
94 96
        }
95 97
        if (is_array($config_copy['nat']['rule']))
96 98
        for ($x = 0; $x < count($config_copy['nat']['rule']); $x++) {
97 99
                $config_copy['nat']['rule'][$x]['descr'] = remove_special_characters($config_copy['nat']['rule'][$x]['descr']);
98
                if (isset ($config_copy['nat']['rule'][$x]['nosync']))
99
                        unset ($config_copy['nat']['rule'][$x]);
100
                if (isset ($config_copy['nat']['rule'][$x]['nosync'])) {
101
                	array_splice($config_copy['nat']['rule'],$x,1);
102
                	$x--;
103
				}
100 104
        }
101 105
        if (is_array($config_copy['filter']['rule']))
102 106
        for ($x = 0; $x < count($config_copy['filter']['rule']); $x++) {
103 107
                $config_copy['filter']['rule'][$x]['descr'] = remove_special_characters($config_copy['filter']['rule'][$x]['descr']);
104
                if (isset ($config_copy['filter']['rule'][$x]['nosync']))
105
                        unset ($config_copy['filter']['rule'][$x]);
108
                if (isset ($config_copy['filter']['rule'][$x]['nosync'])) {
109
                	array_splice($config_copy['filter']['rule'],$x,1);
110
                	$x--;
111
				}
106 112
        }
107 113
        if (is_array($config_copy['aliases']['alias']))
108 114
        for ($x = 0; $x < count($config_copy['aliases']['alias']); $x++) {
109 115
                $config_copy['aliases']['alias'][$x]['descr'] = remove_special_characters($config_copy['aliases']['alias'][$x]['descr']);
110
                if (isset ($config_copy['aliases']['alias'][$x]['nosync']))
111
                        unset ($config_copy['aliases']['alias'][$x]);
116
                if (isset ($config_copy['aliases']['alias'][$x]['nosync'])) {
117
                	array_splice($config_copy['aliases']['alias'],$x,1);
118
                	$x--;
119
				}
112 120
        }
113 121
        if (is_array($config_copy['dnsmasq']['hosts']))
114 122
        for ($x = 0; $x < count($config_copy['dnsmasq']['hosts']); $x++) {
115 123
                $config_copy['dnsmasq']['hosts'][$x]['descr'] = remove_special_characters($config_copy['dnsmasq']['hosts'][$x]['descr']);
116
                if (isset ($config_copy['dnsmasq']['hosts'][$x]['nosync']))
117
                        unset ($config_copy['dnsmasq']['hosts'][$x]);
124
                if (isset ($config_copy['dnsmasq']['hosts'][$x]['nosync'])) {
125
                	array_splice($config_copy['dnsmasq']['hosts'],$x,1);
126
                	$x--;
127
				}
118 128
        }
119 129
        if (is_array($config_copy['virtualip']['vip']))
120 130
        for ($x = 0; $x < count($config_copy['virtualip']['vip']); $x++) {
121 131
                $config_copy['virtualip']['vip'][$x]['descr'] = remove_special_characters($config_copy['virtualip']['vip'][$x]['descr']);
122
                if (isset ($config_copy['virtualip']['vip'][$x]['nosync']) or $config_copy['virtualip']['vip'][$x]['mode'] == "proxyarp")
123
                        unset ($config_copy['virtualip']['vip'][$x]);
132
                if (isset ($config_copy['virtualip']['vip'][$x]['nosync']) or $config_copy['virtualip']['vip'][$x]['mode'] == "proxyarp") {
133
                	array_splice($config_copy['virtualip']['vip'],$x,1);
134
                	$x--;
135
				}
124 136
        }
125 137
        if (is_array($config_copy['ipsec']['tunnel']))
126 138
        for ($x = 0; $x < count($config_copy['ipsec']['tunnel']); $x++) {
127 139
                $config_copy['ipsec']['tunnel'][$x]['descr'] = remove_special_characters($config_copy['ipsec']['tunnel'][$x]['descr']);
128
                if (isset ($config_copy['ipsec']['tunnel'][$x]['nosync']))
129
                        unset ($config_copy['ipsec']['tunnel'][$x]);
140
                if (isset ($config_copy['ipsec']['tunnel'][$x]['nosync'])) {
141
                	array_splice($config_copy['ipsec']['tunnel'],$x,1);
142
                	$x--;
143
				}
130 144
        }
131 145

  
132 146
        foreach ($sections as $section) {

Also available in: Unified diff