summaryrefslogtreecommitdiffstats
path: root/usr/local/www/wizard.php
diff options
context:
space:
mode:
authorRenato Botelho <renato@netgate.com>2015-08-25 08:08:24 -0300
committerRenato Botelho <renato@netgate.com>2015-08-25 14:49:54 -0300
commit46bc6e545a17e77202aaf01ec0cd8d5a46567525 (patch)
tree32d18dda436ec739c67c489ceb771e8629cd926f /usr/local/www/wizard.php
parent4d9801c2dbd2b3e54a39578ee62b93af66607227 (diff)
downloadpfsense-46bc6e545a17e77202aaf01ec0cd8d5a46567525.zip
pfsense-46bc6e545a17e77202aaf01ec0cd8d5a46567525.tar.gz
Move main pfSense content to src/
Diffstat (limited to 'usr/local/www/wizard.php')
-rw-r--r--usr/local/www/wizard.php1061
1 files changed, 0 insertions, 1061 deletions
diff --git a/usr/local/www/wizard.php b/usr/local/www/wizard.php
deleted file mode 100644
index adab493..0000000
--- a/usr/local/www/wizard.php
+++ /dev/null
@@ -1,1061 +0,0 @@
-<?php
-/* $Id$ */
-/*
- wizard.php
- Copyright (C) 2013-2015 Electric Sheep Fencing, LP
- Copyright (C) 2010 Ermal Luçi
- Copyright (C) 2004 Scott Ullrich
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
-*/
-
-##|+PRIV
-##|*IDENT=page-pfsensewizardsubsystem
-##|*NAME=pfSense wizard subsystem page
-##|*DESCR=Allow access to the 'pfSense wizard subsystem' page.
-##|*MATCH=wizard.php*
-##|-PRIV
-
-
-require("globals.inc");
-require("guiconfig.inc");
-require("functions.inc");
-require_once("filter.inc");
-require("shaper.inc");
-require_once("rrd.inc");
-
-function gentitle_pkg($pgname) {
- global $config;
- return $config['system']['hostname'] . "." . $config['system']['domain'] . " - " . $pgname;
-}
-
-global $g;
-
-$stepid = htmlspecialchars($_GET['stepid']);
-if (isset($_POST['stepid'])) {
- $stepid = htmlspecialchars($_POST['stepid']);
-}
-if (!$stepid) {
- $stepid = "0";
-}
-
-$xml = htmlspecialchars($_GET['xml']);
-if ($_POST['xml']) {
- $xml = htmlspecialchars($_POST['xml']);
-}
-
-if (empty($xml)) {
- $xml = "not_defined";
- print_info_box_np(sprintf(gettext("ERROR: Could not open %s."), $xml));
- die;
-} else {
- if (file_exists("{$g['www_path']}/wizards/{$xml}")) {
- $pkg = parse_xml_config_pkg("{$g['www_path']}/wizards/" . $xml, "pfsensewizard");
- } else {
- print_info_box_np(sprintf(gettext("ERROR: Could not open %s."), $xml));
- die;
- }
-}
-
-if (!is_array($pkg)) {
- print_info_box_np(sprintf(gettext("ERROR: Could not parse %s/wizards/%s file."), $g['www_path'], $xml));
- die;
-}
-
-$title = preg_replace("/pfSense/i", $g['product_name'], $pkg['step'][$stepid]['title']);
-$description = preg_replace("/pfSense/i", $g['product_name'], $pkg['step'][$stepid]['description']);
-$totalsteps = $pkg['totalsteps'];
-
-if ($pkg['includefile']) {
- require_once($pkg['includefile']);
-}
-
-if ($pkg['step'][$stepid]['includefile']) {
- require_once($pkg['step'][$stepid]['includefile']);
-}
-
-if ($pkg['step'][$stepid]['stepsubmitbeforesave']) {
- eval($pkg['step'][$stepid]['stepsubmitbeforesave']);
-}
-
-if ($_POST && !$input_errors) {
- foreach ($pkg['step'][$stepid]['fields']['field'] as $field) {
- if (!empty($field['bindstofield']) and $field['type'] <> "submit") {
- $fieldname = $field['name'];
- $fieldname = str_replace(" ", "", $fieldname);
- $fieldname = strtolower($fieldname);
- // update field with posted values.
- if ($field['unsetfield'] <> "") {
- $unset_fields = "yes";
- } else {
- $unset_fields = "";
- }
- if ($field['arraynum'] <> "") {
- $arraynum = $field['arraynum'];
- } else {
- $arraynum = "";
- }
-
- update_config_field($field['bindstofield'], $_POST[$fieldname], $unset_fields, $arraynum, $field['type']);
- }
-
- }
- // run custom php code embedded in xml config.
- if ($pkg['step'][$stepid]['stepsubmitphpaction'] <> "") {
- eval($pkg['step'][$stepid]['stepsubmitphpaction']);
- }
- if (!$input_errors) {
- write_config();
- }
- $stepid++;
- if ($stepid > $totalsteps) {
- $stepid = $totalsteps;
- }
-}
-
-function update_config_field($field, $updatetext, $unset, $arraynum, $field_type) {
- global $config;
- $field_split = explode("->", $field);
- foreach ($field_split as $f) {
- $field_conv .= "['" . $f . "']";
- }
- if ($field_conv == "") {
- return;
- }
- if ($arraynum <> "") {
- $field_conv .= "[" . $arraynum . "]";
- }
- if (($field_type == "checkbox" and $updatetext <> "on") || $updatetext == "") {
- /*
- * item is a checkbox, it should have the value "on"
- * if it was checked
- */
- $var = "\$config{$field_conv}";
- $text = "if (isset({$var})) unset({$var});";
- eval($text);
- return;
- }
-
- if ($field_type == "interfaces_selection") {
- $var = "\$config{$field_conv}";
- $text = "if (isset({$var})) unset({$var});";
- $text .= "\$config" . $field_conv . " = \"" . $updatetext . "\";";
- eval($text);
- return;
- }
-
- if ($unset == "yes") {
- $text = "unset(\$config" . $field_conv . ");";
- eval($text);
- }
- $text = "\$config" . $field_conv . " = \"" . addslashes($updatetext) . "\";";
- eval($text);
-}
-
-$title = preg_replace("/pfSense/i", $g['product_name'], $pkg['step'][$stepid]['title']);
-$description = preg_replace("/pfSense/i", $g['product_name'], $pkg['step'][$stepid]['description']);
-
-// handle before form display event.
-do {
- $oldstepid = $stepid;
- if ($pkg['step'][$stepid]['stepbeforeformdisplay'] <> "") {
- eval($pkg['step'][$stepid]['stepbeforeformdisplay']);
- }
-} while ($oldstepid != $stepid);
-
-$closehead = false;
-$pgtitle = array($title);
-include("head.inc");
-
-if (file_exists("/usr/local/www/themes/{$g['theme']}/wizard.css")) {
- echo "<link type=\"text/css\" rel=\"stylesheet\" href=\"/themes/{$g['theme']}/wizard.css\" media=\"all\" />\n";
-} else {
- echo "<link type=\"text/css\" rel=\"stylesheet\" href=\"/themes/{$g['theme']}/all.css\" media=\"all\" />";
-}
-?>
-</head>
-<body link="#0000CC" vlink="#0000CC" alink="#0000CC" >
-
-<?php if ($pkg['step'][$stepid]['fields']['field'] <> "") { ?>
-<script type="text/javascript">
-//<![CDATA[
-
-function FieldValidate(userinput, regexp, message) {
- if (!userinput.match(regexp)) {
- alert(message);
- }
-}
-
-function enablechange() {
-<?php
- foreach ($pkg['step'][$stepid]['fields']['field'] as $field) {
- if (isset($field['enablefields']) or isset($field['checkenablefields'])) {
- print "\t" . 'if (document.iform.' . strtolower($field['name']) . '.checked) {' . "\n";
- if (isset($field['enablefields'])) {
- $enablefields = explode(',', $field['enablefields']);
- foreach ($enablefields as $enablefield) {
- $enablefield = strtolower($enablefield);
- print "\t\t" . 'document.iform.' . $enablefield . '.disabled = 0;' . "\n";
- }
- }
- if (isset($field['checkenablefields'])) {
- $checkenablefields = explode(',', $field['checkenablefields']);
- foreach ($checkenablefields as $checkenablefield) {
- $checkenablefield = strtolower($checkenablefield);
- print "\t\t" . 'document.iform.' . $checkenablefield . '.checked = 0;' . "\n";
- }
- }
- print "\t" . '} else {' . "\n";
- if (isset($field['enablefields'])) {
- $enablefields = explode(',', $field['enablefields']);
- foreach ($enablefields as $enablefield) {
- $enablefield = strtolower($enablefield);
- print "\t\t" . 'document.iform.' . $enablefield . '.disabled = 1;' . "\n";
- }
- }
- if (isset($field['checkenablefields'])) {
- $checkenablefields = explode(',', $field['checkenablefields']);
- foreach ($checkenablefields as $checkenablefield) {
- $checkenablefield = strtolower($checkenablefield);
- print "\t\t" . 'document.iform.' . $checkenablefield . '.checked = 1;' . "\n";
- }
- }
- print "\t" . '}' . "\n";
- }
- }
-?>
-}
-
-function disablechange() {
-<?php
- foreach ($pkg['step'][$stepid]['fields']['field'] as $field) {
- if (isset($field['disablefields']) or isset($field['checkdisablefields'])) {
- print "\t" . 'if (document.iform.' . strtolower($field['name']) . '.checked) {' . "\n";
- if (isset($field['disablefields'])) {
- $enablefields = explode(',', $field['disablefields']);
- foreach ($enablefields as $enablefield) {
- $enablefield = strtolower($enablefield);
- print "\t\t" . 'document.iform.' . $enablefield . '.disabled = 1;' . "\n";
- }
- }
- if (isset($field['checkdisablefields'])) {
- $checkenablefields = explode(',', $field['checkdisablefields']);
- foreach ($checkenablefields as $checkenablefield) {
- $checkenablefield = strtolower($checkenablefield);
- print "\t\t" . 'document.iform.' . $checkenablefield . '.checked = 1;' . "\n";
- }
- }
- print "\t" . '} else {' . "\n";
- if (isset($field['disablefields'])) {
- $enablefields = explode(',', $field['disablefields']);
- foreach ($enablefields as $enablefield) {
- $enablefield = strtolower($enablefield);
- print "\t\t" . 'document.iform.' . $enablefield . '.disabled = 0;' . "\n";
- }
- }
- if (isset($field['checkdisablefields'])) {
- $checkenablefields = explode(',', $field['checkdisablefields']);
- foreach ($checkenablefields as $checkenablefield) {
- $checkenablefield = strtolower($checkenablefield);
- print "\t\t" . 'document.iform.' . $checkenablefield . '.checked = 0;' . "\n";
- }
- }
- print "\t" . '}' . "\n";
- }
- }
-?>
-}
-
-function showchange() {
-<?php
- foreach ($pkg['step'][$stepid]['fields']['field'] as $field) {
- if (isset($field['showfields'])) {
- print "\t" . 'if (document.iform.' . strtolower($field['name']) . '.checked == false) {' . "\n";
- if (isset($field['showfields'])) {
- $showfields = explode(',', $field['showfields']);
- foreach ($showfields as $showfield) {
- $showfield = strtolower($showfield);
- //print "\t\t" . 'document.iform.' . $showfield . ".display =\"none\";\n";
- print "\t\t jQuery('#". $showfield . "').hide();";
- }
- }
- print "\t" . '} else {' . "\n";
- if (isset($field['showfields'])) {
- $showfields = explode(',', $field['showfields']);
- foreach ($showfields as $showfield) {
- $showfield = strtolower($showfield);
- #print "\t\t" . 'document.iform.' . $showfield . ".display =\"\";\n";
- print "\t\t jQuery('#". $showfield . "').show();";
- }
- }
- print "\t" . '}' . "\n";
- }
- }
-?>
-}
-//]]>
-</script>
-<?php } ?>
-
-<form action="wizard.php" method="post" name="iform" id="iform">
-<input type="hidden" name="xml" value="<?= htmlspecialchars($xml) ?>" />
-<input type="hidden" name="stepid" value="<?= htmlspecialchars($stepid) ?>" />
-
-<center>
-
-&nbsp;<br />
-
-<?php
- if ($title == "Reload in progress") {
- $ip = fixup_string("\$myurl");
- } else {
- $ip = "/";
- }
- echo "<a href='$ip'>";
-?>
-<img border="0" src="./themes/<?= $g['theme']; ?>/images/logo.gif" alt="logo" /></a>
-<p>&nbsp;</p>
-<div style="width:800px;background-color:#ffffff" id="roundme">
-<?php
- if ($input_errors) {
- print_input_errors($input_errors);
- }
- if ($savemsg) {
- print_info_box($savemsg);
- }
- if ($_GET['message'] != "") {
- print_info_box(htmlspecialchars($_GET['message']));
- }
- if ($_POST['message'] != "") {
- print_info_box(htmlspecialchars($_POST['message']));
- }
-?>
-<table bgcolor="#ffffff" width="95%" border="0" cellspacing="0" cellpadding="2" summary="wizard">
- <!-- wizard goes here -->
- <tr><td>&nbsp;</td></tr>
- <tr>
- <td class="tabcont">
- <table width="100%" border="0" cellpadding="6" cellspacing="0" summary="main area">
- <tr>
- <td colspan="2" align="center"><font size="2"><b><?= fixup_string($description) ?></b></font></td>
- </tr>
- <tr>
- <td>&nbsp;</td>
- </tr>
-<?php
- if (!$pkg['step'][$stepid]['disableheader']) {
- echo "<tr><td colspan=\"2\" class=\"listtopic\">" . fixup_string($title) . "</td></tr>";
- }
-?>
-
-<?php
- $inputaliases = array();
- if ($pkg['step'][$stepid]['fields']['field'] <> "") {
- foreach ($pkg['step'][$stepid]['fields']['field'] as $field) {
-
- $value = $field['value'];
- $name = $field['name'];
-
- $name = preg_replace("/\s+/", "", $name);
- $name = strtolower($name);
-
- if ($field['bindstofield'] <> "") {
- $arraynum = "";
- $field_conv = "";
- $field_split = explode("->", $field['bindstofield']);
- // arraynum is used in cases where there is an array of the same field
- // name such as dnsserver (2 of them)
- if ($field['arraynum'] <> "") {
- $arraynum = "[" . $field['arraynum'] . "]";
- }
- foreach ($field_split as $f) {
- $field_conv .= "['" . $f . "']";
- }
- if ($field['type'] == "checkbox") {
- $toeval = "if (isset(\$config" . $field_conv . $arraynum . ")) { \$value = \$config" . $field_conv . $arraynum . "; if (empty(\$value)) \$value = true; }";
- } else {
- $toeval = "if (isset(\$config" . $field_conv . $arraynum . ")) \$value = \$config" . $field_conv . $arraynum . ";";
- }
- eval($toeval);
- }
-
- if (!$field['combinefieldsend']) {
- echo "<tr>";
- }
-
- switch ($field['type']) {
- case "input":
- if ($field['displayname']) {
- echo "<td width=\"22%\" align=\"right\" class=\"vncellreq\">\n";
- echo $field['displayname'];
- echo ":</td>\n";
- } else if (!$field['dontdisplayname']) {
- echo "<td width=\"22%\" align=\"right\" class=\"vncellreq\">\n";
- echo fixup_string($field['name']);
- echo ":</td>\n";
- }
- if (!$field['dontcombinecells']) {
- echo "<td class=\"vtable\">\n";
- }
-
- echo "<input class='formfld unknown' id='" . $name . "' name='" . $name . "' value=\"" . htmlspecialchars($value) . "\"";
- if ($field['size']) {
- echo " size='" . $field['size'] . "' ";
- }
- if ($field['validate']) {
- echo " onchange='FieldValidate(this.value, \"{$field['validate']}\", \"{$field['message']}\");'";
- }
- echo " />\n";
-
- if ($field['description'] <> "") {
- echo "<br /> " . $field['description'];
- }
- break;
- case "text":
- echo "<td colspan=\"2\" align=\"center\" class=\"vncell\">\n";
- if ($field['description'] <> "") {
- echo "<center><br /> " . $field['description'] . "</center>";
- }
- break;
- case "inputalias":
- if ($field['displayname']) {
- echo "<td width=\"22%\" align=\"right\" class=\"vncellreq\">\n";
- echo $field['displayname'];
- echo ":</td>\n";
- } else if (!$field['dontdisplayname']) {
- echo "<td width=\"22%\" align=\"right\" class=\"vncellreq\">\n";
- echo fixup_string($field['name']);
- echo ":</td>\n";
- }
- if (!$field['dontcombinecells']) {
- echo "<td class=\"vtable\">\n";
- }
-
- $inputaliases[] = $name;
- echo "<input class='formfldalias' autocomplete='off' id='" . $name . "' name='" . $name . "' value=\"" . htmlspecialchars($value) . "\"";
- if ($field['size']) {
- echo " size='" . $field['size'] . "' ";
- }
- if ($field['validate']) {
- echo " onchange='FieldValidate(this.value, \"{$field['validate']}\", \"{$field['message']}\");'";
- }
- echo " />\n";
-
- if ($field['description'] <> "") {
- echo "<br /> " . $field['description'];
- }
- break;
- case "interfaces_selection":
- case "interface_select":
- $size = "";
- $multiple = "";
- $name = strtolower($name);
- echo "<td width=\"22%\" align=\"right\" class=\"vncellreq\">\n";
- echo fixup_string($field['displayname'] ? $field['displayname'] : $field['name']) . ":\n";
- echo "</td>";
- echo "<td class=\"vtable\">\n";
- if ($field['size'] <> "") {
- $size = "size=\"{$field['size']}\"";
- }
- if ($field['multiple'] <> "" and $field['multiple'] <> "0") {
- $multiple = "multiple=\"multiple\"";
- $name .= "[]";
- }
- echo "<select class='formselect' id='{$name}' name='{$name}' {$size} {$multiple}>\n";
- if ($field['add_to_interfaces_selection'] <> "") {
- $SELECTED = "";
- if ($field['add_to_interfaces_selection'] == $value) {
- $SELECTED = " selected=\"selected\"";
- }
- echo "<option value='" . $field['add_to_interfaces_selection'] . "'" . $SELECTED . ">" . $field['add_to_interfaces_selection'] . "</option>\n";
- }
- if ($field['type'] == "interface_select") {
- $interfaces = get_interface_list();
- } else {
- $interfaces = get_configured_interface_with_descr();
- }
- foreach ($interfaces as $ifname => $iface) {
- if ($field['type'] == "interface_select") {
- $iface = $ifname;
- if ($iface['mac']) {
- $iface .= " ({$iface['mac']})";
- }
- }
- $SELECTED = "";
- if ($value == $ifname) $SELECTED = " selected=\"selected\"";
- $to_echo = "<option value='" . $ifname . "'" . $SELECTED . ">" . $iface . "</option>\n";
- $to_echo .= "<!-- {$value} -->";
- $canecho = 0;
- if ($field['interface_filter'] <> "") {
- if (stristr($ifname, $field['interface_filter']) == true) {
- $canecho = 1;
- }
- } else {
- $canecho = 1;
- }
- if ($canecho == 1) {
- echo $to_echo;
- }
- }
- echo "</select>\n";
-
- if ($field['description'] <> "") {
- echo "<br /> " . $field['description'];
- }
-
- break;
- case "password":
- if ($field['displayname']) {
- echo "<td width=\"22%\" align=\"right\" class=\"vncellreq\">\n";
- echo $field['displayname'];
- echo ":</td>\n";
- } else if (!$field['dontdisplayname']) {
- echo "<td width=\"22%\" align=\"right\" class=\"vncellreq\">\n";
- echo fixup_string($field['name']);
- echo ":</td>\n";
- }
- if (!$field['dontcombinecells']) {
- echo "<td class=\"vtable\">";
- }
- echo "<input class='formfld pwd' id='" . $name . "' name='" . $name . "' value=\"" . htmlspecialchars($value) . "\" type='password' ";
- if ($field['size']) {
- echo " size='" . $field['size'] . "' ";
- }
- echo " />\n";
-
- if ($field['description'] <> "") {
- echo "<br /> " . $field['description'];
- }
-
- break;
- case "certca_selection":
- $size = "";
- $multiple = "";
- $name = strtolower($name);
- echo "<td width=\"22%\" align=\"right\" class=\"vncellreq\">\n";
- echo fixup_string($field['displayname'] ? $field['displayname'] : $field['name']) . ":\n";
- echo "</td>";
- echo "<td class=\"vtable\">\n";
- if ($field['size'] <> "") {
- $size = "size=\"{$field['size']}\"";
- }
- echo "<select id='{$name}' name='{$name}' {$size}>\n";
- if ($field['add_to_certca_selection'] <> "") {
- $SELECTED = "";
- if ($field['add_to_certca_selection'] == $value) {
- $SELECTED = " selected=\"selected\"";
- }
- echo "<option value='" . $field['add_to_certca_selection'] . "'" . $SELECTED . ">" . $field['add_to_certca_selection'] . "</option>\n";
- }
- foreach ($config['ca'] as $ca) {
- $name = htmlspecialchars($ca['descr']);
- $SELECTED = "";
- if ($value == $name) $SELECTED = " selected=\"selected\"";
- $to_echo = "<option value='" . $ca['refid'] . "'" . $SELECTED . ">" . $name . "</option>\n";
- $to_echo .= "<!-- {$value} -->";
- $canecho = 0;
- if ($field['certca_filter'] <> "") {
- if (stristr($name, $field['certca_filter']) == true) {
- $canecho = 1;
- }
- } else {
- $canecho = 1;
- }
- if ($canecho == 1) {
- echo $to_echo;
- }
- }
- echo "</select>\n";
-
- if ($field['description'] <> "") {
- echo "<br /> " . $field['description'];
- }
-
- break;
- case "cert_selection":
- $size = "";
- $multiple = "";
- $name = strtolower($name);
- echo "<td width=\"22%\" align=\"right\" class=\"vncellreq\">\n";
- echo fixup_string($field['displayname'] ? $field['displayname'] : $field['name']) . ":\n";
- echo "</td>";
- echo "<td class=\"vtable\">\n";
- if ($field['size'] <> "") {
- $size = "size=\"{$field['size']}\"";
- }
- echo "<select id='{$name}' name='{$name}' {$size}>\n";
- if ($field['add_to_cert_selection'] <> "") {
- $SELECTED = "";
- if ($field['add_to_cert_selection'] == $value) {
- $SELECTED = " selected=\"selected\"";
- }
- echo "<option value='" . $field['add_to_cert_selection'] . "'" . $SELECTED . ">" . $field['add_to_cert_selection'] . "</option>\n";
- }
- foreach ($config['cert'] as $ca) {
- if (stristr($ca['descr'], "webconf")) {
- continue;
- }
- $name = htmlspecialchars($ca['descr']);
- $SELECTED = "";
- if ($value == $name) {
- $SELECTED = " selected=\"selected\"";
- }
- $to_echo = "<option value='" . $ca['refid'] . "'" . $SELECTED . ">" . $name . "</option>\n";
- $to_echo .= "<!-- {$value} -->";
- $canecho = 0;
- if ($field['cert_filter'] <> "") {
- if (stristr($name, $field['cert_filter']) == true) {
- $canecho = 1;
- }
- } else {
- $canecho = 1;
- }
- if ($canecho == 1) {
- echo $to_echo;
- }
- }
- echo "</select>\n";
-
- if ($field['description'] <> "") {
- echo "<br /> " . $field['description'];
- }
-
- break;
- case "select":
- if ($field['displayname']) {
- echo "<td width=\"22%\" align=\"right\" class=\"vncellreq\">\n";
- echo $field['displayname'];
- echo ":</td>\n";
- } else if (!$field['dontdisplayname']) {
- echo "<td width=\"22%\" align=\"right\" class=\"vncellreq\">\n";
- echo fixup_string($field['name']);
- echo ":</td>\n";
- }
- if ($field['size']) {
- $size = " size='" . $field['size'] . "' ";
- }
- if ($field['multiple'] == "yes") {
- $multiple = "multiple=\"multiple\" ";
- }
- if (!$field['dontcombinecells']) {
- echo "<td class=\"vtable\">\n";
- }
- $onchange = "";
- foreach ($field['options']['option'] as $opt) {
- if ($opt['enablefields'] <> "") {
- $onchange = "onchange=\"enableitems(this.selectedIndex);\" ";
- }
- }
- echo "<select class='formselect' " . $onchange . $multiple . $size . "id='" . $name . "' name='" . $name . "'>\n";
- foreach ($field['options']['option'] as $opt) {
- $selected = "";
- if ($value == $opt['value']) {
- $selected = " selected=\"selected\"";
- }
- echo "\t<option value='" . $opt['value'] . "'" . $selected . ">";
- if ($opt['displayname']) {
- echo $opt['displayname'];
- } else {
- echo $opt['name'];
- }
- echo "</option>\n";
- }
- echo "</select>\n";
- echo "<!-- {$value} -->\n";
-
- if ($field['description'] <> "") {
- echo $field['description'];
- }
-
- break;
- case "textarea":
- if ($field['displayname']) {
- echo "<td width=\"22%\" align=\"right\" class=\"vncellreq\">\n";
- echo $field['displayname'];
- echo ":</td>\n";
- } else if (!$field['dontdisplayname']) {
- echo "<td width=\"22%\" align=\"right\" class=\"vncellreq\">\n";
- echo fixup_string($field['name']);
- echo ":</td>";
- }
- if (!$field['dontcombinecells']) {
- echo "<td class=\"vtable\">";
- }
- echo "<textarea class='formpre' id='" . $name . "' name='" . $name . "'";
- if ($field['rows']) {
- echo " rows='" . $field['rows'] . "' ";
- }
- if ($field['cols']) {
- echo " cols='" . $field['cols'] . "' ";
- }
- echo ">" . $value . "</textarea>\n";
-
-
- if ($field['description'] <> "") {
- echo "<br /> " . $field['description'];
- }
-
- break;
- case "submit":
- echo "<td>&nbsp;<br /></td></tr>";
- echo "<tr><td colspan=\"2\" align=\"center\">";
- echo "<input type='submit' name='" . $name . "' value=\"" . htmlspecialchars($field['name']) . "\" />\n";
-
- if ($field['description'] <> "") {
- echo "<br /> " . $field['description'];
- }
-
- break;
- case "listtopic":
- echo "<td>&nbsp;</td></tr>";
- echo "<tr><td colspan=\"2\" class=\"listtopic\">" . $field['name'] . "<br />\n";
-
- break;
- case "subnet_select":
- if ($field['displayname']) {
- echo "<td width=\"22%\" align=\"right\" class=\"vncellreq\">\n";
- echo $field['displayname'];
- echo ":</td>\n";
- } else if (!$field['dontdisplayname']) {
- echo "<td width=\"22%\" align=\"right\" class=\"vncellreq\">\n";
- echo fixup_string($field['name']);
- echo ":</td>";
- }
- if (!$field['dontcombinecells']) {
- echo "<td class=\"vtable\">";
- }
- echo "<select class='formselect' name='{$name}'>\n";
- for ($x=1; $x<33; $x++) {
- $CHECKED = "";
- if ($value == $x) {
- $CHECKED = " selected=\"selected\"";
- }
- if ($x <> 31) {
- echo "<option value='{$x}' {$CHECKED}>{$x}</option>\n";
- }
- }
- echo "</select>\n";
-
- if ($field['description'] <> "") {
- echo "<br /> " . $field['description'];
- }
-
- break;
- case "timezone_select":
- exec('/usr/bin/tar -tzf /usr/share/zoneinfo.tgz', $timezonelist);
- $timezonelist = array_filter($timezonelist, 'is_timezone');
- sort($timezonelist);
-
- /* kill carriage returns */
- for ($x = 0; $x < count($timezonelist); $x++) {
- $timezonelist[$x] = str_replace("\n", "", $timezonelist[$x]);
- }
-
- if ($field['displayname']) {
- echo "<td width=\"22%\" align=\"right\" class=\"vncellreq\">\n";
- echo $field['displayname'];
- echo ":</td>\n";
- } else if (!$field['dontdisplayname']) {
- echo "<td width=\"22%\" align=\"right\" class=\"vncellreq\">\n";
- echo fixup_string($field['name']);
- echo ":</td>";
- }
- if (!$field['dontcombinecells']) {
- echo "<td class=\"vtable\">";
- }
- echo "<select class='formselect' name='{$name}'>\n";
- foreach ($timezonelist as $tz) {
- if (strstr($tz, "GMT")) {
- continue;
- }
- $SELECTED = "";
- if ($value == $tz) {
- $SELECTED = " selected=\"selected\"";
- }
- echo "<option value=\"" . htmlspecialchars($tz) . "\" {$SELECTED}>";
- echo htmlspecialchars($tz);
- echo "</option>\n";
- }
- echo "</select>\n";
-
- if ($field['description'] <> "") {
- echo "<br /> " . $field['description'];
- }
-
- break;
- case "checkbox":
- if ($field['displayname']) {
- echo "<td width=\"22%\" align=\"right\" class=\"vncellreq\">\n";
- echo $field['displayname'];
- echo ":</td>\n";
- } else if (!$field['dontdisplayname']) {
- echo "<td width=\"22%\" align=\"right\" class=\"vncellreq\">\n";
- echo $field['name'];
- echo ":</td>";
- }
- $checked = "";
- if ($value <> "") {
- $checked = " checked=\"checked\"";
- }
- echo "<td class=\"vtable\"><input value=\"on\" type='checkbox' id='" . $name . "' name='" . $name . "' " . $checked;
- if (isset($field['enablefields']) or isset($field['checkenablefields'])) {
- echo " onclick=\"enablechange()\"";
- } else if (isset($field['disablefields']) or isset($field['checkdisablefields'])) {
- echo " onclick=\"disablechange()\"";
- }
- echo " />\n";
-
- if ($field['description'] <> "") {
- echo $field['description'];
- }
-
- break;
- }
-
- if ($field['typehint'] <> "") {
- echo $field['typehint'];
- }
- if ($field['warning'] <> "") {
- echo "<br /><b><font color=\"red\">" . $field['warning'] . "</font></b>";
- }
-
- if (!$field['combinefieldsbegin']) {
- if (!$field['dontcombinecells']) {
- echo "</td>";
- }
-
- echo "</tr>\n";
- }
-
- }
- }
-?>
- </table>
- </td>
- </tr>
-</table>
-<br />&nbsp;
-</div>
-</center>
-</form>
-<script type="text/javascript">
-//<![CDATA[
- if (typeof ext_change != 'undefined') {
- ext_change();
- }
- if (typeof proto_change != 'undefined') {
- ext_change();
- }
- if (typeof proto_change != 'undefined') {
- proto_change();
- }
-
-<?php
- $isfirst = 0;
- $aliases = "";
- $addrisfirst = 0;
- $aliasesaddr = "";
- if ($config['aliases']['alias'] <> "" and is_array($config['aliases']['alias'])) {
- foreach ($config['aliases']['alias'] as $alias_name) {
- if ($isfirst == 1) {
- $aliases .= ",";
- }
- $aliases .= "'" . $alias_name['name'] . "'";
- $isfirst = 1;
- }
- }
-?>
-
- var customarray=new Array(<?php echo $aliases; ?>);
-
- window.onload = function () {
-
-<?php
- $counter = 0;
- foreach ($inputaliases as $alias) {
- echo "var oTextbox$counter = new AutoSuggestControl(document.getElementById(\"$alias\"), new StateSuggestions(customarray));\n";
- $counter++;
- }
-?>
-
- }
-
-//]]>
-</script>
-
-<?php
-
-$fieldnames_array = Array();
-if ($pkg['step'][$stepid]['disableallfieldsbydefault'] <> "") {
- // create a fieldname loop that can be used with javascript
- // hide and enable features.
- echo "\n<script type=\"text/javascript\">\n";
- echo "//<![CDATA[\n";
- echo "function disableall() {\n";
- foreach ($pkg['step'][$stepid]['fields']['field'] as $field) {
- if ($field['type'] <> "submit" and $field['type'] <> "listtopic") {
- if (!$field['donotdisable'] <> "") {
- array_push($fieldnames_array, $field['name']);
- $fieldname = preg_replace("/\s+/", "", $field['name']);
- $fieldname = strtolower($fieldname);
- echo "\tdocument.forms[0]." . $fieldname . ".disabled = 1;\n";
- }
- }
- }
- echo "}\ndisableall();\n";
- echo "function enableitems(selectedindex) {\n";
- echo "disableall();\n";
- $idcounter = 0;
- if ($pkg['step'][$stepid]['fields']['field'] <> "") {
- echo "\tswitch (selectedindex) {\n";
- foreach ($pkg['step'][$stepid]['fields']['field'] as $field) {
- if ($field['options']['option'] <> "") {
- foreach ($field['options']['option'] as $opt) {
- if ($opt['enablefields'] <> "") {
- echo "\t\tcase " . $idcounter . ":\n";
- $enablefields_split = explode(",", $opt['enablefields']);
- foreach ($enablefields_split as $efs) {
- $fieldname = preg_replace("/\s+/", "", $efs);
- $fieldname = strtolower($fieldname);
- if ($fieldname <> "") {
- $onchange = "\t\t\tdocument.forms[0]." . $fieldname . ".disabled = 0; \n";
- echo $onchange;
- }
- }
- echo "\t\t\tbreak;\n";
- }
- $idcounter = $idcounter + 1;
- }
- }
- }
- echo "\t}\n";
- }
- echo "}\n";
- echo "//]]>\n";
- echo "</script>\n\n";
-}
-?>
-
-<script type="text/javascript">
-//<![CDATA[
-NiftyCheck();
-var bgcolor = document.getElementsByTagName("body")[0].style.backgroundColor;
-Rounded("div#roundme","all",bgcolor,"#FFFFFF","smooth");
-enablechange();
-disablechange();
-showchange();
-//]]>
-</script>
-
-<?php
-if ($pkg['step'][$stepid]['stepafterformdisplay'] <> "") {
- // handle after form display event.
- eval($pkg['step'][$stepid]['stepafterformdisplay']);
-}
-
-if ($pkg['step'][$stepid]['javascriptafterformdisplay'] <> "") {
- // handle after form display event.
- echo "\n<script type=\"text/javascript\">\n";
- echo "//<![CDATA[\n";
- echo $pkg['step'][$stepid]['javascriptafterformdisplay'] . "\n";
- echo "//]]>\n";
- echo "</script>\n\n";
-}
-
-/*
- * HELPER FUNCTIONS
- */
-
-function fixup_string($string) {
- global $config, $g, $myurl, $title;
- $newstring = $string;
- // fixup #1: $myurl -> http[s]://ip_address:port/
- switch ($config['system']['webgui']['protocol']) {
- case "http":
- $proto = "http";
- break;
- case "https":
- $proto = "https";
- break;
- default:
- $proto = "http";
- break;
- }
- $port = $config['system']['webgui']['port'];
- if ($port != "") {
- if (($port == "443" and $proto != "https") or ($port == "80" and $proto != "http")) {
- $urlport = ":" . $port;
- } elseif ($port != "80" and $port != "443") {
- $urlport = ":" . $port;
- } else {
- $urlport = "";
- }
- }
- $http_host = $_SERVER['SERVER_NAME'];
- $urlhost = $http_host;
- // If finishing the setup wizard, check if accessing on a LAN or WAN address that changed
- if ($title == "Reload in progress") {
- if (is_ipaddr($urlhost)) {
- $host_if = find_ip_interface($urlhost);
- if ($host_if) {
- $host_if = convert_real_interface_to_friendly_interface_name($host_if);
- if ($host_if && is_ipaddr($config['interfaces'][$host_if]['ipaddr'])) {
- $urlhost = $config['interfaces'][$host_if]['ipaddr'];
- }
- }
- } else if ($urlhost == $config['system']['hostname']) {
- $urlhost = $config['wizardtemp']['system']['hostname'];
- } else if ($urlhost == $config['system']['hostname'] . '.' . $config['system']['domain']) {
- $urlhost = $config['wizardtemp']['system']['hostname'] . '.' . $config['wizardtemp']['system']['domain'];
- }
- }
- if ($urlhost != $http_host) {
- file_put_contents("{$g['tmp_path']}/setupwizard_lastreferrer", $proto . "://" . $http_host . $urlport . $_SERVER['REQUEST_URI']);
- }
- $myurl = $proto . "://" . $urlhost . $urlport . "/";
-
- if (strstr($newstring, "\$myurl")) {
- $newstring = str_replace("\$myurl", $myurl, $newstring);
- }
- // fixup #2: $wanip
- if (strstr($newstring, "\$wanip")) {
- $curwanip = get_interface_ip();
- $newstring = str_replace("\$wanip", $curwanip, $newstring);
- }
- // fixup #3: $lanip
- if (strstr($newstring, "\$lanip")) {
- $lanip = get_interface_ip("lan");
- $newstring = str_replace("\$lanip", $lanip, $newstring);
- }
- // fixup #4: fix'r'up here.
- return $newstring;
-}
-
-function is_timezone($elt) {
- return !preg_match("/\/$/", $elt);
-}
-
-?>
-
-</body>
-</html>
OpenPOWER on IntegriCloud