diff options
author | Erik Fonnesbeck <efonnes@gmail.com> | 2010-07-27 22:29:14 -0600 |
---|---|---|
committer | Erik Fonnesbeck <efonnes@gmail.com> | 2010-07-28 15:23:24 -0600 |
commit | 062023a5d38b6b0fef4d48496137dd377157d2ec (patch) | |
tree | c31ad8e8e4ce0156feed21c90b9e3e3b5634d289 /etc | |
parent | 34834e7ef9817eca591b367fefe1a543a11cc315 (diff) | |
download | pfsense-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.inc | 11 |
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']) { |