#!/usr/local/bin/php "" and $field['type'] <> "submit") { $fieldname = $field['name']; $unset_fields = ""; $fieldname = ereg_replace(" ", "", $fieldname); $fieldname = strtolower($fieldname); // update field with posted values. if($field['unsetfield'] <> "") $unset_fields = "yes"; if($field['arraynum'] <> "") $arraynum = $field['arraynum']; if($field['bindstofield']) update_config_field( $field['bindstofield'], $_POST[$fieldname], $unset_fields, $arraynum); } } // run custom php code embedded in xml config. if($pkg['step'][$stepid]['stepsubmitphpaction'] <> "") { eval($pkg['step'][$stepid]['stepsubmitphpaction']); } write_config(); $stepid++; if($stepid > $totalsteps) $stepid = $totalsteps; } $title = $pkg['step'][$stepid]['title']; $description = $pkg['step'][$stepid]['description']; function update_config_field($field, $updatetext, $unset, $arraynum) { global $config; $field_split = split("->",$field); foreach ($field_split as $f) $field_conv .= "['" . $f . "']"; if($field_conv == "") return; if($unset <> "") { $text = "unset(\$config" . $field_conv . ");"; eval($text); $text = "\$config" . $field_conv . "[" . $arraynum . "] = \"" . $updatetext . "\";"; eval($text); } else { if($arraynum <> "") { $text = "\$config" . $field_conv . "[" . $arraynum . "] = \"" . $updatetext . "\";"; } else { $text = "\$config" . $field_conv . " = \"" . $updatetext . "\";"; } eval($text); } } if($pkg['step'][$stepid]['stepbeforeformdisplay'] <> "") { // handle before form display event. // good for modifying posted values, etc. eval($pkg['step'][$stepid]['stepbeforeformdisplay']); } ?> <?=gentitle_pkg($title);?>
 

"; ?> "") { foreach ($pkg['step'][$stepid]['fields']['field'] as $field) { $value = $field['value']; $name = $field['name']; $name = ereg_replace(" ", "", $name); $name = strtolower($name); if($field['bindstofield'] <> "") { $arraynum = ""; $field_conv = ""; $field_split = split("->", $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 . "']"; $toeval = "\$value = \$config" . $field_conv . $arraynum . ";"; eval($toeval); if ($field['type'] == "checkbox") { $toeval = "if(isset(\$config" . $field_conv . $arraynum . ")) \$value = \" CHECKED\";"; eval($toeval); } } if(!$field['combinefieldsend']) echo ""; if ($field['type'] == "input") { if(!$field['dontdisplayname']) { echo "\n"; } if(!$field['dontcombinecells']) echo "\n"; } if(!$field['dontcombinecells']) echo "\n"; } // XXX: TODO: set $selected if($field['size']) $size = " size='" . $field['size'] . "' "; if($field['multiple'] == "yes") $multiple = "MULTIPLE "; if(!$field['dontcombinecells']) echo ""; } if(!$field['dontcombinecells']) echo "
 
 
" . fixup_string($title) . "
\n"; echo fixup_string($field['name']); echo ":\n"; echo "\n"; } else if ($field['type'] == "password") { if(!$field['dontdisplayname']) { echo "\n"; echo fixup_string($field['name']); echo ":"; echo "\n"; } else if ($field['type'] == "select") { if(!$field['dontdisplayname']) { echo "\n"; echo fixup_string($field['name']); echo ":\n"; $onchange = ""; foreach ($field['options']['option'] as $opt) { if($opt['enablefields'] <> "") { $onchange = "onchange=\"enableitems(this.selectedIndex);\" "; } } echo "\n"; } else if ($field['type'] == "textarea") { if(!$field['dontdisplayname']) { echo "\n"; echo fixup_string($field['name']); echo ":"; echo "