summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorErik Fonnesbeck <efonnes@gmail.com>2010-07-27 22:29:14 -0600
committerErik Fonnesbeck <efonnes@gmail.com>2010-07-28 15:23:24 -0600
commit062023a5d38b6b0fef4d48496137dd377157d2ec (patch)
treec31ad8e8e4ce0156feed21c90b9e3e3b5634d289 /etc
parent34834e7ef9817eca591b367fefe1a543a11cc315 (diff)
downloadpfsense-062023a5d38b6b0fef4d48496137dd377157d2ec.zip
pfsense-062023a5d38b6b0fef4d48496137dd377157d2ec.tar.gz
Add a central location that shared wireless settings will sync to/from.
Diffstat (limited to 'etc')
-rw-r--r--etc/inc/interfaces.inc11
1 files changed, 11 insertions, 0 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc
index 9a231ae..388b47d 100644
--- a/etc/inc/interfaces.inc
+++ b/etc/inc/interfaces.inc
@@ -1824,6 +1824,7 @@ function interface_sync_wireless_clones(&$ifcfg, $sync_changes = false) {
$baseif = interface_get_wireless_base($ifcfg['if']);
+ // Sync shared settings for assigned clones
$iflist = get_configured_interface_list(false, true);
foreach ($iflist as $if) {
if ($baseif == interface_get_wireless_base($config['interfaces'][$if]['if']) && $ifcfg['if'] != $config['interfaces'][$if]['if']) {
@@ -1841,6 +1842,16 @@ function interface_sync_wireless_clones(&$ifcfg, $sync_changes = false) {
}
}
+ // Read or write settings at shared area
+ foreach ($shared_settings as $setting) {
+ if ($sync_changes) {
+ $config['wireless']['interfaces'][$baseif][$setting] = $ifcfg['wireless'][$setting];
+ } else if (isset($config['wireless']['interfaces'][$baseif][$setting])) {
+ $ifcfg['wireless'][$setting] = $config['wireless']['interfaces'][$baseif][$setting];
+ }
+ }
+
+ // Sync the mode on the clone creation page with the configured mode on the interface
if (interface_is_wireless_clone($ifcfg['if'])) {
foreach ($config['wireless']['clone'] as &$clone) {
if ($clone['cloneif'] == $ifcfg['if']) {
OpenPOWER on IntegriCloud