diff options
author | Warren Baker <warren@decoy.co.za> | 2010-09-08 22:06:09 +0200 |
---|---|---|
committer | Warren Baker <warren@decoy.co.za> | 2010-09-08 22:06:09 +0200 |
commit | e11aa16151b7be7acb36ff975961353a496cb00c (patch) | |
tree | 06653563194757470652173a7cb7560c3ba23f0e /usr/local/www/pkg_edit.php | |
parent | 6dcd80af70f34396861e7ee02732bed518945d8e (diff) | |
download | pfsense-e11aa16151b7be7acb36ff975961353a496cb00c.zip pfsense-e11aa16151b7be7acb36ff975961353a496cb00c.tar.gz |
Converted all print() statements to echo() and also added 2 new XML tags for packages to create an 'Advanced Features' section.
Tags are <advanced_options/> and <advancedfield/> which when enabled will add the advanced field into the new advanced section and also gives it a shiny new 'Advanced' button to click.
Diffstat (limited to 'usr/local/www/pkg_edit.php')
-rwxr-xr-x | usr/local/www/pkg_edit.php | 431 |
1 files changed, 283 insertions, 148 deletions
diff --git a/usr/local/www/pkg_edit.php b/usr/local/www/pkg_edit.php index cd9af8a..7285732 100755 --- a/usr/local/www/pkg_edit.php +++ b/usr/local/www/pkg_edit.php @@ -241,9 +241,9 @@ if ($_POST) { pfSenseHeader("pkg.php?xml=" . $xml); } exit; - } - else + } else { $get_from_post = true; + } } if($pkg['title'] <> "") { @@ -269,51 +269,51 @@ function enablechange() { <?php foreach ($pkg['fields']['field'] as $field) { if (isset($field['enablefields']) or isset($field['checkenablefields'])) { - print("\tif (document.iform.elements[\"{$field['fieldname']}\"].checked == false) {\n"); + echo "\tif (document.iform.elements[\"{$field['fieldname']}\"].checked == false) {\n"; if (isset($field['enablefields'])) { foreach (explode(',', $field['enablefields']) as $enablefield) { - print("\t\tif(document.iform.elements[\"$enablefield\"]){\n"); - print("\t\t\tdocument.iform.elements[\"$enablefield\"].disabled = 1;\n"); - print("\t\t}else{\n"); - print("\t\t\tdocument.iform.elements[\"$enablefield".'[]'."\"].disabled = 1;\n"); - print("\t\t}\n"); + echo "\t\tif(document.iform.elements[\"$enablefield\"]){\n"; + echo "\t\t\tdocument.iform.elements[\"$enablefield\"].disabled = 1;\n"; + echo "\t\t}else{\n"; + echo "\t\t\tdocument.iform.elements[\"$enablefield".'[]'."\"].disabled = 1;\n"; + echo "\t\t}\n"; } } if (isset($field['checkenablefields'])) { foreach (explode(',', $field['checkenablefields']) as $checkenablefield) { - print("\t\tif(document.iform.elements[\"$checkenablefield\"]){\n"); - print("\t\t\tdocument.iform.elements[\"$checkenablefield\"].checked = 0;\n"); - print("\t\t}else{\n"); - print("\t\t\tdocument.iform.elements[\"$checkenablefield".'[]'."\"].checked = 0;\n"); - print("\t\t}\n"); + echo "\t\tif(document.iform.elements[\"$checkenablefield\"]){\n"; + echo "\t\t\tdocument.iform.elements[\"$checkenablefield\"].checked = 0;\n"; + echo "\t\t}else{\n"; + echo "\t\t\tdocument.iform.elements[\"$checkenablefield".'[]'."\"].checked = 0;\n"; + echo "\t\t}\n"; } } - print("\t}\n\telse {\n"); + echo "\t}\n\telse {\n"; if (isset($field['enablefields'])) { foreach (explode(',', $field['enablefields']) as $enablefield) { - print("\t\tif(document.iform.elements[\"$enablefield\"]){\n"); - print("\t\t\tdocument.iform.elements[\"$enablefield\"].disabled = 0;\n"); - print("\t\t}else{\n"); - print("\t\t\tdocument.iform.elements[\"$enablefield".'[]'."\"].disabled = 0;\n"); - print("\t\t}\n"); + echo "\t\tif(document.iform.elements[\"$enablefield\"]){\n"; + echo "t\t\tdocument.iform.elements[\"$enablefield\"].disabled = 0;\n"; + echo "t\t}else{\n"; + echo "t\t\tdocument.iform.elements[\"$enablefield".'[]'."\"].disabled = 0;\n"; + echo "t\t}\n"; } } if (isset($field['checkenablefields'])) { foreach(explode(',', $field['checkenablefields']) as $checkenablefield) { - print("\t\tif(document.iform.elements[\"$checkenablefield\"]){\n"); - print("\t\t\tdocument.iform.elements[\"$checkenablefield\"].checked = 1;\n"); - print("\t\t}else{\n"); - print("\t\t\tdocument.iform.elements[\"$checkenablefield".'[]'."\"].checked = 1;\n"); - print("\t\t}\n"); + echo "t\tif(document.iform.elements[\"$checkenablefield\"]){\n"; + echo "t\t\tdocument.iform.elements[\"$checkenablefield\"].checked = 1;\n"; + echo "t\t}else{\n"; + echo "t\t\tdocument.iform.elements[\"$checkenablefield".'[]'."\"].checked = 1;\n"; + echo "t\t}\n"; } } - print("\t}\n"); + echo "\t}\n"; } } ?> @@ -332,8 +332,8 @@ foreach ($pkg['fields']['field'] as $field) { <table width="100%" border="0" cellpadding="0" cellspacing="0"> <?php if ($pkg['tabs'] <> "") { - $tab_array = array(); - foreach($pkg['tabs']['tab'] as $tab) { + $tab_array = array(); + foreach($pkg['tabs']['tab'] as $tab) { if($tab['tab_level']) $tab_level = $tab['tab_level']; else @@ -363,7 +363,7 @@ if ($pkg['tabs'] <> "") { $active, $url ); - } + } ksort($tab_array); foreach($tab_array as $tab) { @@ -374,138 +374,231 @@ if ($pkg['tabs'] <> "") { } ?> <tr><td><div id="mainarea"><table class="tabcont" width="100%" border="0" cellpadding="6" cellspacing="0"> - <?php - $cols = 0; - $savevalue = gettext("Save"); - if($pkg['savetext'] <> "") $savevalue = $pkg['savetext']; - foreach ($pkg['fields']['field'] as $pkga) { +<?php + $cols = 0; + $savevalue = gettext("Save"); + if($pkg['savetext'] <> "") $savevalue = $pkg['savetext']; + /* If a package's XML has <advanced_options/> configured, then setup + * the table rows for the fields that have <advancedfield/> set. + * These fields will be placed below other fields in a seprate area titled 'Advanced Features'. + * These advanced fields are not normally configured and generally left to default to 'default settings'. + */ + if ($pkg['advanced_options'] == "enabled") { + $adv_enabled = true; + $advanced .= "<td> </td>"; + $advanced .= "<tr><td colspan=\"2\" class=\"listtopic\">". gettext("Advanced features") . "<br/></td></tr>\n"; + } + + foreach ($pkg['fields']['field'] as $pkga) { if ($pkga['type'] == "sorting") continue; if ($pkga['type'] == "listtopic") { - echo "<td> </td>"; - echo "<tr><td colspan=\"2\" class=\"listtopic\">" . $pkga['name'] . "<br></td></tr>\n"; + if(isset($pkga['advancedfield']) && $adv_enabled) { + $advanced .= "<td> </td>"; + $advanced .= "<tr><td colspan=\"2\" class=\"listtopic\">" . $pkga['name'] . "<br></td></tr>\n"; + } else { + echo "<td> </td>"; + echo "<tr><td colspan=\"2\" class=\"listtopic\">" . $pkga['name'] . "<br></td></tr>\n"; + } continue; - } + } -?> - - <?php if(!$pkga['combinefieldsend']) echo "<tr valign=\"top\">"; ?> - - <?php + if(!$pkga['combinefieldsend']) { + if(isset($pkga['advancedfield']) && $adv_enabled) + $advanced .= "<tr valign=\"top\">"; + else + echo "<tr valign=\"top\">"; + } - $size = ""; + $size = ""; - if(!$pkga['dontdisplayname']) { - unset($req); - if (isset($pkga['required'])) - $req = 'req'; - echo "<td width=\"22%\" class=\"vncell{$req}\">"; - echo fixup_string($pkga['fielddescr']); - echo "</td>"; - } + if(!$pkga['dontdisplayname']) { + unset($req); + if (isset($pkga['required'])) + $req = 'req'; + if(isset($pkga['advancedfield']) && $adv_enabled) { + $advanced .= "<td width=\"22%\" class=\"vncell{$req}\">"; + $advanced .= fixup_string($pkga['fielddescr']); + $advanced .= "</td>"; + } else { + echo "<td width=\"22%\" class=\"vncell{$req}\">"; + echo fixup_string($pkga['fielddescr']); + echo "</td>"; + } + } - if(!$pkga['dontcombinecells']) - echo "<td class=\"vtable\">"; + if(!$pkga['dontcombinecells']) + if(isset($pkga['advancedfield']) && $adv_enabled) + $advanced .= "<td class=\"vtable\">"; + else + echo "<td class=\"vtable\">"; // if user is editing a record, load in the data. $fieldname = $pkga['fieldname']; if ($get_from_post) { $value = $_POST[$fieldname]; if (is_array($value)) $value = implode(',', $value); - } - else { + } else { if (isset($id) && $a_pkg[$id]) $value = $a_pkg[$id][$fieldname]; else $value = $pkga['default_value']; } - if($pkga['type'] == "input") { + if($pkga['type'] == "input") { if($pkga['size']) $size = " size='" . $pkga['size'] . "' "; - echo "<input " . $size . " id='" . $pkga['fieldname'] . "' name='" . $pkga['fieldname'] . "' class='formfld unknown' value='" . $value . "'>\n"; - echo "<br>" . fixup_string($pkga['description']) . "\n"; - } else if($pkga['type'] == "password") { + if(isset($pkga['advancedfield']) && $adv_enabled) { + $js_array[] = $pkga['fieldname']; + $advanced .= display_advanced_field($pkga['fieldname']); + $advanced .= "<input " . $size . " id='" . $pkga['fieldname'] . "' name='" . $pkga['fieldname'] . "' class='formfld unknown' value='" . $value . "'>\n"; + $advanced .= "<br>" . fixup_string($pkga['description']) . "\n"; + $advanced .= "</div>\n"; + } else { + echo "<input " . $size . " id='" . $pkga['fieldname'] . "' name='" . $pkga['fieldname'] . "' class='formfld unknown' value='" . $value . "'>\n"; + echo "<br>" . fixup_string($pkga['description']) . "\n"; + } + } else if($pkga['type'] == "password") { if($pkga['size']) $size = " size='" . $pkga['size'] . "' "; - echo "<input " . $size . " id='" . $pkga['fieldname'] . "' type='password' " . $size . " name='" . $pkga['fieldname'] . "' class='formfld pwd' value='" . $value . "'>\n"; - echo "<br>" . fixup_string($pkga['description']) . "\n"; - } else if($pkga['type'] == "select") { - $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"); - foreach ($pkga['options']['option'] as $opt) { - $selected = ''; - if (in_array($opt['value'], $items)) $selected = 'selected="selected"'; - print("\t<option name=\"{$opt['name']}\" value=\"{$opt['value']}\" $selected>{$opt['name']}</option>\n"); - } - - 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) { - echo "\t<option value=\"" . $vpn['descr'] . "\">" . $vpn['descr'] . "</option>\n"; - } - echo "</select>\n"; - echo "<br>" . fixup_string($pkga['description']) . "\n"; - } else if($pkga['type'] == "checkbox") { + if(isset($pkga['advancedfield']) && $adv_enabled) { + $js_array[] = $pkga['fieldname']; + $advanced .= display_advanced_field($pkga['fieldname']); + $advanced .= "<input " . $size . " id='" . $pkga['fieldname'] . "' type='password' " . $size . " name='" . $pkga['fieldname'] . "' class='formfld pwd' value='" . $value . "'>\n"; + $advanced .= "<br>" . fixup_string($pkga['description']) . "\n"; + $advanced .= "</div>\n"; + } else { + echo "<input " . $size . " id='" . $pkga['fieldname'] . "' type='password' " . $size . " name='" . $pkga['fieldname'] . "' class='formfld pwd' value='" . $value . "'>\n"; + echo "<br>" . fixup_string($pkga['description']) . "\n"; + } + } else if($pkga['type'] == "select") { + $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']}\"" : ''); + + if(isset($pkga['advancedfield']) && $adv_enabled) { + $js_array[] = $pkga['fieldname']; + $advanced .= display_advanced_field($pkga['fieldname']); + $advanced .= "<select id='" . $pkga['fieldname'] . "' $multiple $size $onchange id=\"$fieldname\" name=\"$fieldname\">\n"; + foreach ($pkga['options']['option'] as $opt) { + $selected = ''; + if (in_array($opt['value'], $items)) $selected = 'selected="selected"'; + $advanced .= "\t<option name=\"{$opt['name']}\" value=\"{$opt['value']}\" $selected>{$opt['name']}</option>\n"; + } + $advanced .= "</select>\n<br />\n" . fixup_string($pkga['description']) . "\n"; + $advanced .= "</div>\n"; + } else { + echo "<select id='" . $pkga['fieldname'] . "' $multiple $size $onchange id=\"$fieldname\" name=\"$fieldname\">\n"; + foreach ($pkga['options']['option'] as $opt) { + $selected = ''; + if (in_array($opt['value'], $items)) $selected = 'selected="selected"'; + echo "\t<option name=\"{$opt['name']}\" value=\"{$opt['value']}\" $selected>{$opt['name']}</option>\n"; + } + echo "</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']}\"" : ''); + + if(isset($pkga['advancedfield']) && $adv_enabled) { + $js_array[] = $pkga['fieldname']; + $advanced .= display_advanced_field($pkga['fieldname']); + $advanced .= "<select id='" . $pkga['fieldname'] . "' $multiple $size $onchange id=\"{$fieldname}\" name=\"{$fieldname}\">\n"; + $advanced .= "</div>\n"; + } else { + echo "<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"'; + if(isset($pkga['advancedfield']) && $adv_enabled) + $advanced .= "\t<option name=\"{$source_name}\" value=\"{$source_value}\" $selected>{$source_name}</option>\n"; + else + echo "\t<option name=\"{$source_name}\" value=\"{$source_value}\" $selected>{$source_name}</option>\n"; + } + + if(isset($pkga['advancedfield']) && $adv_enabled) + $advanced .= "</select>\n<br />\n" . fixup_string($pkga['description']) . "\n"; + else + echo "</select>\n<br />\n" . fixup_string($pkga['description']) . "\n"; + } else if($pkga['type'] == "vpn_selection") { + if(isset($pkga['advancedfield']) && $adv_enabled) { + $js_array[] = $pkga['fieldname']; + $advanced .= display_advanced_field($pkga['fieldname']); + $advanced .= "<select id='" . $pkga['fieldname'] . "' name='" . $vpn['name'] . "'>\n"; + foreach ($config['ipsec']['phase1'] as $vpn) { + $advanced .= "\t<option value=\"" . $vpn['descr'] . "\">" . $vpn['descr'] . "</option>\n"; + } + $advanced .= "</select>\n"; + $advanced .= "<br>" . fixup_string($pkga['description']) . "\n"; + $advanced .= "</div>\n"; + } else { + echo "<select id='" . $pkga['fieldname'] . "' name='" . $vpn['name'] . "'>\n"; + foreach ($config['ipsec']['phase1'] as $vpn) { + echo "\t<option value=\"" . $vpn['descr'] . "\">" . $vpn['descr'] . "</option>\n"; + } + echo "</select>\n"; + echo "<br>" . fixup_string($pkga['description']) . "\n"; + } + } else if($pkga['type'] == "checkbox") { $checkboxchecked = ""; if($value == "on") $checkboxchecked = " CHECKED"; if (isset($pkga['enablefields']) || isset($pkga['checkenablefields'])) $onclick = ' onclick="javascript:enablechange();"'; - echo "<input id='" . $pkga['fieldname'] . "' type='checkbox' name='" . $pkga['fieldname'] . "'" . $checkboxchecked . $onclick . ">\n"; - echo "<br>" . fixup_string($pkga['description']) . "\n"; - } else if($pkga['type'] == "textarea") { - if($pkga['rows']) $rows = " rows='" . $pkga['rows'] . "' "; - if($pkga['cols']) $cols = " cols='" . $pkga['cols'] . "' "; - if($pkga['wrap'] == "off") { $wrap = 'wrap="off" style="white-space:nowrap;"'; } else { $wrap = ''; } - if (($pkga['encoding'] == 'base64') && !$get_from_post && !empty($value)) $value = base64_decode($value); - echo "<textarea " . $rows . $cols . " name='" . $pkga['fieldname'] . "' ".$wrap.">" . $value . "</textarea>\n"; - echo "<br>" . fixup_string($pkga['description']) . "\n"; - } else if($pkga['type'] == "interfaces_selection") { + if(isset($pkga['advancedfield']) && $adv_enabled) { + $js_array[] = $pkga['fieldname']; + $advanced .= display_advanced_field($pkga['fieldname']); + $advanced .= "<input id='" . $pkga['fieldname'] . "' type='checkbox' name='" . $pkga['fieldname'] . "'" . $checkboxchecked . $onclick . ">\n"; + $advanced .= "<br>" . fixup_string($pkga['description']) . "\n"; + $advanced .= "</div>\n"; + } else { + echo "<input id='" . $pkga['fieldname'] . "' type='checkbox' name='" . $pkga['fieldname'] . "'" . $checkboxchecked . $onclick . ">\n"; + echo "<br>" . fixup_string($pkga['description']) . "\n"; + } + } else if($pkga['type'] == "textarea") { + if($pkga['rows']) $rows = " rows='" . $pkga['rows'] . "' "; + if($pkga['cols']) $cols = " cols='" . $pkga['cols'] . "' "; + if($pkga['wrap'] == "off") { $wrap = 'wrap="off" style="white-space:nowrap;"'; } else { $wrap = ''; } + if (($pkga['encoding'] == 'base64') && !$get_from_post && !empty($value)) $value = base64_decode($value); + if(isset($pkga['advancedfield']) && $adv_enabled) { + $js_array[] = $pkga['fieldname']; + $advanced .= display_advanced_field($pkga['fieldname']); + $advanced .= "<textarea " . $rows . $cols . " name='" . $pkga['fieldname'] . "' ".$wrap.">" . $value . "</textarea>\n"; + $advanced .= "<br>" . fixup_string($pkga['description']) . "\n"; + $advanced .= "</div>\n"; + } else { + echo "<textarea " . $rows . $cols . " name='" . $pkga['fieldname'] . "' ".$wrap.">" . $value . "</textarea>\n"; + echo "<br>" . fixup_string($pkga['description']) . "\n"; + } + } else if($pkga['type'] == "interfaces_selection") { $size = ($pkga['size'] ? "size=\"{$pkga['size']}\"" : ''); $multiple = ''; $fieldname = $pkga['fieldname']; @@ -513,7 +606,13 @@ if ($pkg['tabs'] <> "") { $fieldname .= '[]'; $multiple = 'multiple'; } - print("<select id='" . $pkga['fieldname'] . "' name=\"$fieldname\" $size $multiple>\n"); + if(isset($pkga['advancedfield']) && $adv_enabled) { + $js_array[] = $pkga['fieldname']; + $advanced .= display_advanced_field($pkga['fieldname']); + $advanced .= "<select id='" . $pkga['fieldname'] . "' name=\"$fieldname\" $size $multiple>\n"; + } else { + echo "<select id='" . $pkga['fieldname'] . "' name=\"$fieldname\" $size $multiple>\n"; + } $ifaces = get_configured_interface_with_descr(); $additional_ifaces = $pkga['add_to_interfaces_selection']; if (!empty($additional_ifaces)) @@ -524,12 +623,23 @@ if ($pkg['tabs'] <> "") { $values = explode(',', $value); foreach($ifaces as $ifname => $iface) { $selected = (in_array($ifname, $values) ? 'selected' : ''); - print("<option value=\"$ifname\" $selected>$iface</option>\n"); + if(isset($pkga['advancedfield']) && $adv_enabled) + $advanced .= "<option value=\"$ifname\" $selected>$iface</option>\n"; + else + echo "<option value=\"$ifname\" $selected>$iface</option>\n"; + } + if(isset($pkga['advancedfield']) && $adv_enabled) { + $advanced .= "</select>\n<br />" . fixup_string($pkga['description']) . "\n"; + $advanced .= "</div>\n"; + } else { + echo "</select>\n<br />" . fixup_string($pkga['description']) . "\n"; } - print("</select>\n<br />" . fixup_string($pkga['description']) . "\n"); - } else if($pkga['type'] == "radio") { - echo "<input type='radio' id='" . $pkga['fieldname'] . "' name='" . $pkga['fieldname'] . "' value='" . $value . "'>"; - } else if($pkga['type'] == "rowhelper") { + } else if($pkga['type'] == "radio") { + if(isset($pkga['advancedfield']) && $adv_enabled) + $advanced .= "<input type='radio' id='" . $pkga['fieldname'] . "' name='" . $pkga['fieldname'] . "' value='" . $value . "'>"; + else + echo "<input type='radio' id='" . $pkga['fieldname'] . "' name='" . $pkga['fieldname'] . "' value='" . $value . "'>"; + } else if($pkga['type'] == "rowhelper") { ?> <script type="text/javascript" language='javascript'> <!-- @@ -675,9 +785,9 @@ if ($pkg['tabs'] <> "") { <td width="78%"> <?php if($pkg['note'] != "") - print("<p><span class=\"red\"><strong>" . gettext("Note") . ":</strong></span> {$pkg['note']}</p>"); + echo "<p><span class=\"red\"><strong>" . gettext("Note") . ":</strong></span> {$pkg['note']}</p>"; //if (isset($id) && $a_pkg[$id]) // We'll always have a valid ID in our hands - print("<input name=\"id\" type=\"hidden\" value=\"$id\">"); + echo "<input name=\"id\" type=\"hidden\" value=\"$id\">"; ?> <input name="Submit" type="submit" class="formbtn" value="<?= $savevalue ?>"> <?php if (!$only_edit): ?> @@ -685,12 +795,29 @@ if($pkg['note'] != "") <?php endif; ?> </td> </tr> +<?php if (isset($advanced)) echo $advanced; ?> +</table> +</div></tr></td> </table> -</div></tr></td></table> </form> <?php if ($pkg['custom_php_after_form_command']) eval($pkg['custom_php_after_form_command']); ?> +<?php + /* JavaScript to handle the advanced fields. */ + if($pkg['advanced_options']) { + echo "<script type=\"text/javascript\">\n"; + foreach($js_array as $advfieldname) { + echo "function show_" . $advfieldname . "() {\n"; + echo "document.getElementById('showadv_{$advfieldname}').innerHTML='';\n"; + echo "aodiv = document.getElementById('show_{$advfieldname}');\n"; + echo "aodiv.style.display = 'block';\n"; + echo "}\n\n"; + } + echo "</script>\n"; + } +?> + <?php include("fend.inc"); ?> </body> </html> @@ -724,15 +851,15 @@ function display_row($trc, $value, $fieldname, $type, $rowhelper, $size) { echo "</select>\n"; } else if($type == "select_source") { echo "<select id='" . $fieldname . $trc . "' name='" . $fieldname . $trc . "'>\n"; - $source_url = $rowhelper['source']; - eval("\$pkg_source_txt = &$source_url;"); + $source_url = $rowhelper['source']; + eval("\$pkg_source_txt = &$source_url;"); foreach($pkg_source_txt as $opt) { $selected = ""; - if($rowhelper['source_name']) { + if($rowhelper['source_name']) { $source_name = $opt[$rowhelper['source_name']]; - } else { + } else { $source_name = $opt[$rowhelper['name']]; - } + } if($rowhelper['source_value']) { $source_value = $opt[$rowhelper['source_value']]; } else { @@ -861,4 +988,12 @@ function parse_package_templates() { } } +/* Return html div fields */ +function display_advanced_field($fieldname) { + $div = "<div id='showadv_" . $fieldname . "'>\n"; + $div .= "<input type='button' onClick='show_" . $fieldname . "()' value='" . gettext("Advanced") . "'></input> - " . gettext("Show advanced option") ."</div>\n"; + $div .= "<div id='show_" . $fieldname . "' style='display:none'>\n"; + return $div; +} + ?> |