diff options
author | Scott Ullrich <sullrich@gmail.com> | 2012-04-06 10:14:23 -0700 |
---|---|---|
committer | Scott Ullrich <sullrich@gmail.com> | 2012-04-06 10:14:23 -0700 |
commit | 9d14f8089f453778084bdb50455e1cfffbe98221 (patch) | |
tree | 18dcc671e7a80db9b5e52d4dd92eef1f535f6a41 | |
parent | d34b186c1b229897fda755054ac1e54dd2ffd8d8 (diff) | |
parent | 05d908db3ad62e46eb22bb73e397ba8bf61cb36c (diff) | |
download | pfsense-9d14f8089f453778084bdb50455e1cfffbe98221.zip pfsense-9d14f8089f453778084bdb50455e1cfffbe98221.tar.gz |
Merge pull request #77 from Whizkidzz/RELENG_2_0
Releng 2 0
-rwxr-xr-x | usr/local/www/javascript/row_helper_dynamic.js | 13 | ||||
-rwxr-xr-x | usr/local/www/pkg_edit.php | 41 |
2 files changed, 43 insertions, 11 deletions
diff --git a/usr/local/www/javascript/row_helper_dynamic.js b/usr/local/www/javascript/row_helper_dynamic.js index 30312ba..07df2c1 100755 --- a/usr/local/www/javascript/row_helper_dynamic.js +++ b/usr/local/www/javascript/row_helper_dynamic.js @@ -24,27 +24,30 @@ var temp_streaming_text = ""; var addRowTo = (function() { return (function (tableId, objectSize) { - var d, tbody, tr, td, bgc, i, ii, j; + var d, tbody, tr, td, bgc, i, ii, j, size; d = document; tbody = d.getElementById(tableId).getElementsByTagName("tbody").item(0); tr = d.createElement("tr"); totalrows++; - if (!objectSize) - objectSize = rowsize[i]; + size = objectSize; for (i = 0; i < field_counter_js; i++) { + if (!objectSize) + size = rowsize[i]; td = d.createElement("td"); if(typeof(rowtype[i]) == 'function') { - td.innerHTML="<INPUT type='hidden' value='" + totalrows +"' name='" + rowname[i] + "_row-" + totalrows + "'></input>" + rowtype[i](rowname[i], objectSize, totalrows) + " "; + td.innerHTML="<INPUT type='hidden' value='" + totalrows +"' name='" + rowname[i] + "_row-" + totalrows + "'></input>" + rowtype[i](rowname[i], size, totalrows) + " "; } else if(rowtype[i] == 'textbox') { td.innerHTML="<INPUT type='hidden' value='" + totalrows +"' name='" + rowname[i] + "_row-" + totalrows + "'></input><input " + rowhelper_onChange + " size='" + rowsize[i] + "' name='" + rowname[i] + totalrows + "' id='" + rowname[i] + totalrows + "'></input> "; } else if(rowtype[i] == 'select') { td.innerHTML="<INPUT type='hidden' value='" + totalrows +"' name='" + rowname[i] + "_row-" + totalrows + "'></input><select " + rowhelper_onChange + " name='" + rowname[i] + totalrows + "' id='" + rowname[i] + totalrows + "'>" + newrow[i] + "</select> "; + } else if(rowtype[i] == 'interfaces_selection') { + td.innerHTML="<INPUT type='hidden' value='" + totalrows +"' name='" + rowname[i] + "_row-" + totalrows + "'></input><select " + rowhelper_onChange + " name='" + rowname[i] + totalrows + "' id='" + rowname[i] + totalrows + "'>" + newrow[i] + "</select> "; } else if(rowtype[i] == 'select_source') { td.innerHTML="<INPUT type='hidden' value='" + totalrows +"' name='" + rowname[i] + "_row-" + totalrows + "'></input><select " + rowhelper_onChange + " name='" + rowname[i] + totalrows + "' id='" + rowname[i] + totalrows + "'>" + newrow[i] + "</select> "; } else if(rowtype[i] == 'checkbox') { td.innerHTML="<INPUT type='hidden' value='" + totalrows +"' name='" + rowname[i] + "_row-" + totalrows + "'></input><input " + rowhelper_onChange + " type='checkbox'name='" + rowname[i] + totalrows + "' id='" + rowname[i] + totalrows + "'></input> "; } else if(rowtype[i] == 'input') { - td.innerHTML="<INPUT type='hidden' value='" + totalrows +"' name='" + rowname[i] + "_row-" + totalrows + "'></input><input " + rowhelper_onChange + " class='formfld unknown' size='" + objectSize + "' name='" + rowname[i] + totalrows + "' id='" + rowname[i] + totalrows + "'></input> "; + td.innerHTML="<INPUT type='hidden' value='" + totalrows +"' name='" + rowname[i] + "_row-" + totalrows + "'></input><input " + rowhelper_onChange + " class='formfld unknown' size='" + size + "' name='" + rowname[i] + totalrows + "' id='" + rowname[i] + totalrows + "'></input> "; } else if(rowtype[i] == 'password') { td.innerHTML="<INPUT type='hidden' value='" + totalrows +"' name='" + rowname[i] + "_row-" + totalrows + "'></input><input " + rowhelper_onChange + " class='formfld pwd' type='password' name='" + rowname[i] + totalrows + "' id='" + rowname[i] + totalrows + "'></input> "; } diff --git a/usr/local/www/pkg_edit.php b/usr/local/www/pkg_edit.php index 1fd8b3a..52b1923 100755 --- a/usr/local/www/pkg_edit.php +++ b/usr/local/www/pkg_edit.php @@ -503,7 +503,7 @@ if ($pkg['tabs'] <> "") { } else if($pkga['type'] == "select") { $fieldname = $pkga['fieldname']; if (isset($pkga['multiple'])) { - $multiple = 'multiple="multiple"'; + $multiple = 'multiple="multiple"'; $items = explode(',', $value); $fieldname .= "[]"; } else { @@ -653,6 +653,10 @@ if ($pkg['tabs'] <> "") { else $values = explode(',', $value); $ifaces["lo0"] = "loopback"; + if(isset($pkga['advancedfield']) && $adv_enabled) + $advanced .="<option><name></name><value></value></option>/n"; + else + echo "<option><name></name><value></value></option>/n"; foreach($ifaces as $ifname => $iface) { $selected = (in_array($ifname, $values) ? 'selected' : ''); if(isset($pkga['advancedfield']) && $adv_enabled) @@ -681,6 +685,7 @@ if ($pkg['tabs'] <> "") { foreach($pkga['rowhelper']['rowhelperfield'] as $rowhelper) { echo "rowname[" . $fieldcounter . "] = \"" . $rowhelper['fieldname'] . "\";\n"; echo "rowtype[" . $fieldcounter . "] = \"" . $rowhelper['type'] . "\";\n"; + echo "rowsize[" . $fieldcounter . "] = \"" . $rowhelper['size'] . "\";\n"; $fieldcounter++; } ?> @@ -747,9 +752,9 @@ if ($pkg['tabs'] <> "") { if($trc == 0) { /* * no records loaded. - * just show a generic line non-populated with saved data - */ - foreach($pkga['rowhelper']['rowhelperfield'] as $rowhelper) { + * just show a generic line non-populated with saved data + */ + foreach($pkga['rowhelper']['rowhelperfield'] as $rowhelper) { if($rowhelper['value'] <> "") $value = $rowhelper['value']; $fieldname = $rowhelper['fieldname']; $options = ""; @@ -892,10 +897,34 @@ function display_row($trc, $value, $fieldname, $type, $rowhelper, $size) { foreach($rowhelper['options']['option'] as $rowopt) { $selected = ""; if($rowopt['value'] == $value) $selected = " SELECTED"; - $text .= "<option value='" . $rowopt['value'] . "'" . $selected . ">" . $rowopt['name'] . "</option>"; + $text .= "<option value='" . $rowopt['value'] . ">" . $rowopt['name'] . "</option>"; echo "<option value='" . $rowopt['value'] . "'" . $selected . ">" . $rowopt['name'] . "</option>\n"; } echo "</select>\n"; + } else if($type == "interfaces_selection") { + $size = ($size ? "size=\"{$size}\"" : ''); + $multiple = ''; + if (isset($rowhelper['multiple'])) { + $fieldname .= '[]'; + $multiple = 'multiple'; + } + echo "<select id='" . $fieldname . $trc . "' name='" . $fieldname . $trc . "' $size $multiple>\n"; + $ifaces = get_configured_interface_with_descr(); + $additional_ifaces = $rowhelper['add_to_interfaces_selection']; + if (!empty($additional_ifaces)) + $ifaces = array_merge($ifaces, explode(',', $additional_ifaces)); + if(is_array($value)) + $values = $value; + else + $values = explode(',', $value); + $ifaces["lo0"] = "loopback"; + echo "<option><name></name><value></value></option>/n"; + foreach($ifaces as $ifname => $iface) { + $selected = (in_array($ifname, $values) ? 'selected' : ''); + $text .="<option value=\\\"$ifname\\\">$iface</option>"; + echo "<option value=\"$ifname\" $selected>$iface</option>\n"; + } + echo "</select>\n"; } else if($type == "select_source") { echo "<select id='" . $fieldname . $trc . "' name='" . $fieldname . $trc . "'>\n"; $source_url = $rowhelper['source']; @@ -914,7 +943,7 @@ function display_row($trc, $value, $fieldname, $type, $rowhelper, $size) { } if($source_value == $value) $selected = " SELECTED"; - $text .= "<option value='" . $source_value . "'" . $selected . ">" . $source_name . "</option>"; + $text .= "<option value='" . $source_value . "'" . ">" . $source_name . "</option>"; echo "<option value='" . $source_value . "'" . $selected . ">" . $source_name . "</option>\n"; } echo "</select>\n"; |