diff options
author | Colin Smith <colin@pfsense.org> | 2005-06-02 04:42:57 +0000 |
---|---|---|
committer | Colin Smith <colin@pfsense.org> | 2005-06-02 04:42:57 +0000 |
commit | 33a56b278675bc61bdcd4e3042d0e00a1f855dc1 (patch) | |
tree | 412602bf8026ef65ae376385335e788264766351 | |
parent | 3b3eb60d84ae1dabe298e08fa44084df935d6100 (diff) | |
download | pfsense-33a56b278675bc61bdcd4e3042d0e00a1f855dc1.zip pfsense-33a56b278675bc61bdcd4e3042d0e00a1f855dc1.tar.gz |
Add greyout support. This is still very experimental ;)
-rwxr-xr-x | usr/local/www/wizard.php | 59 |
1 files changed, 46 insertions, 13 deletions
diff --git a/usr/local/www/wizard.php b/usr/local/www/wizard.php index 3af082f..943d2dc 100755 --- a/usr/local/www/wizard.php +++ b/usr/local/www/wizard.php @@ -99,8 +99,6 @@ $description = $pkg['step'][$stepid]['description']; function update_config_field($field, $updatetext, $unset, $arraynum) { global $config; - if($field['type'] == "checkbox" and $updatetext == "on") - $updatetext = TRUE; $field_split = split("->",$field); foreach ($field_split as $f) $field_conv .= "['" . $f . "']"; if($field_conv == "") return; @@ -132,21 +130,54 @@ if($pkg['step'][$stepid]['stepbeforeformdisplay'] <> "") { <title><?=gentitle_pkg($title);?></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="gui.css" rel="stylesheet" type="text/css"> +</head> -<script Language="JavaScript"> +<body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +<?php if($pkg['step'][$stepid]['fields']['field'] <> "") { ?> +<script language="JavaScript"> <!-- -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 == false) {' . "\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 = 0;' . "\n"; + } + } + print "\t" . '} else {' . "\n"; + if(isset($field['enablefields'])) { + foreach($enablefields as $enablefield) { + $enablefield = strtolower($enablefield); + print "\t\t" . 'document.iform.' . $enablefield . '.disabled = 0;' . "\n"; + } + } + if(isset($field['checkenablefields'])) { + foreach($checkenablefields as $checkenablefield) { + $checkenablefield = strtolower($checkenablefield); + print "\t\t" . 'document.iform.' . $checkenablefield . '.checked = 1;' . "\n"; + } + } + print "\t" . '}' . "\n"; + } + } +?> } //--> </script> +<?php } ?> -</head> - -<body link="#0000CC" vlink="#0000CC" alink="#0000CC"> -<form action="wizard.php" method="post"> +<form action="wizard.php" method="post" name="iform" id="iform"> <input type="hidden" name="xml" value="<?= $xml ?>"> <input type="hidden" name="stepid" value="<?= $stepid ?>"> <?php if ($savemsg) print_info_box($savemsg); ?> @@ -187,7 +218,7 @@ function FieldValidate(userinput, regexp, message) foreach ($field_split as $f) $field_conv .= "['" . $f . "']"; $toeval = "\$value = \$config" . $field_conv . $arraynum . ";"; eval($toeval); - if ($field['type'] == "x") { + if ($field['type'] == "checkbox") { $toeval = "if(isset(\$config" . $field_conv . $arraynum . ")) \$value = \" CHECKED\";"; eval($toeval); } @@ -299,7 +330,9 @@ function FieldValidate(userinput, regexp, message) } $checked = ""; if($value <> "") $checked = " CHECKED"; - echo "<td class=\"vtable\"><input type='checkbox' id='" . $name . "' name='" . $name . "' " . $checked . ">\n"; + echo "<td class=\"vtable\"><input type='checkbox' id='" . $name . "' name='" . $name . "' " . $checked; + if(isset($field['enablefields']) or isset($field['checkenablefields'])) echo " onClick=\"enablechange()\""; + echo ">\n"; } if($field['typehint'] <> "") { |