summaryrefslogtreecommitdiffstats
path: root/usr/local/www/pkg_edit.php
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2010-04-27 00:06:03 -0400
committerScott Ullrich <sullrich@pfsense.org>2010-04-27 00:06:03 -0400
commit9f65abbfb6b2f82413fab9c51a3ba834ba72c4e0 (patch)
treebe08f7953dae3cf73f99f2f60698753a0248da81 /usr/local/www/pkg_edit.php
parente066fe071750a5901a110989ccac7d9c3d904678 (diff)
downloadpfsense-9f65abbfb6b2f82413fab9c51a3ba834ba72c4e0.zip
pfsense-9f65abbfb6b2f82413fab9c51a3ba834ba72c4e0.tar.gz
Allow mapping a select drop down to any area of config.xml
Diffstat (limited to 'usr/local/www/pkg_edit.php')
-rwxr-xr-xusr/local/www/pkg_edit.php34
1 files changed, 34 insertions, 0 deletions
diff --git a/usr/local/www/pkg_edit.php b/usr/local/www/pkg_edit.php
index 6c2fbde..054ec97 100755
--- a/usr/local/www/pkg_edit.php
+++ b/usr/local/www/pkg_edit.php
@@ -440,6 +440,40 @@ if ($pkg['tabs'] <> "") {
}
print("</select>\n<br />\n" . fixup_string($pkga['description']) . "\n");
+ } else if($pkga['type'] == "select_source") {
+ $fieldname = $pkga['fieldname'];
+ if (isset($pkga['multiple'])) {
+ $multiple = 'multiple="multiple"';
+ $items = explode(',', $value);
+ $fieldname .= "[]";
+ }
+ else {
+ $multiple = '';
+ $items = array($value);
+ }
+ $size = (isset($pkga['size']) ? "size=\"{$pkga['size']}\"" : '');
+ $onchange = (isset($pkga['onchange']) ? "onchange=\"{$pkga['onchange']}\"" : '');
+
+ print("<select id='" . $pkga['fieldname'] . "' $multiple $size $onchange id=\"$fieldname\" name=\"$fieldname\">\n");
+ $source_url = $pkga['source'];
+ eval("\$pkg_source_txt = &$source_url;");
+ foreach ($pkg_source_txt as $opt) {
+ $selected = '';
+ if($pkga['source_name']) {
+ $source_name = $opt[$pkga['source_name']];
+ } else {
+ $source_name = $opt[$pkga['name']];
+ }
+ if($pkga['source_value']) {
+ $source_value = $opt[$pkga['source_value']];
+ } else {
+ $source_value = $opt[$pkga['value']];
+ }
+ if (in_array($opt['value'], $items)) $selected = 'selected="selected"';
+ print("\t<option name=\"{$source_name}\" value=\"{$source_value}\" $selected>{$source_name}</option>\n");
+ }
+
+ print("</select>\n<br />\n" . fixup_string($pkga['description']) . "\n");
} else if($pkga['type'] == "vpn_selection") {
echo "<select id='" . $pkga['fieldname'] . "' name='" . $vpn['name'] . "'>\n";
foreach ($config['ipsec']['phase1'] as $vpn) {
OpenPOWER on IntegriCloud