function display_row($trc, $value, $fieldname, $type, $rowhelper, $description, $ewidth = null) { global $text, $group; switch ($type) { case "input": $inpt = new Form_Input($fieldname . $trc, null, 'text', $value); $inpt->setHelp($description); if ($ewidth) { $inpt->setWidth($ewidth); } $group->add($inpt); break; case "checkbox": $group->add(new Form_Checkbox($fieldname . $trc, null, null, $value, 'ON'))->setHelp($description); break; case "password": $group->add(new Form_Input($fieldname . $trc, null, 'password', $value))->setHelp($description); break; case "textarea": $group->add(new Form_Textarea($fieldname . $trc, null, $value))->setHelp($description); break; case "select": $options = array(); foreach ($rowhelper['options']['option'] as $rowopt) { $options[$rowopt['value']] = $rowopt['name']; } $grp = new Form_Select($fieldname . $trc, null, $value, $options); $grp->setHelp($description); if ($ewidth) { $grp->setWidth($ewidth); } $group->add($grp); break; case "interfaces_selection": $size = $size ? "size=\"{$size}\"" : ''; $multiple = ''; if (isset($rowhelper['multiple'])) { $multiple = "multiple"; } echo "<select style='height:22px;' 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"; $options = array(); $selected = array(); foreach ($ifaces as $ifname => $iface) { $options[$ifname] = $iface; if (in_array($ifname, $values)) { array_push($selected, $ifname); } } $group->add(new Form_Select($fieldname . $trc, null, $multiple ? $selected : $selected[0], $options, $multiple))->setHelp($description); //echo "</select>\n"; break; case "select_source": $options = array(); $selected = array(); if (isset($rowhelper['show_disable_value'])) { $options[$rowhelper['show_disable_value']] = $rowhelper['show_disable_value']; } $source_url = $rowhelper['source']; eval("\$pkg_source_txt = &{$source_url};"); foreach ($pkg_source_txt as $opt) { $source_name = $rowhelper['source_name'] ? $opt[$rowhelper['source_name']] : $opt[$rowhelper['name']]; $source_value = $rowhelper['source_value'] ? $opt[$rowhelper['source_value']] : $opt[$rowhelper['value']]; $options[$source_value] = $source_name; if ($source_value == $value) { array_push($selected, $value); } } $group->add(new Form_Select($fieldname . $trc, null, $multiple ? $selected : $selected[0], $options, $multiple))->setHelp($description); break; } }
} if (isset($pkga['advancedfield']) && isset($advfield_count)) { $function = $grouping ? $advanced->add : $advanced->addInput; } else { $function = $grouping ? $section->add : $section->addInput; } if ($grouping) { $group->add(new Form_Select($pkga['fieldname'], strip_tags($pkga['fielddescr']), isset($pkga['multiple']) ? $selectedlist : $selectedlist[0], $optionlist, isset($pkga['multiple'])))->setHelp($pkga['description'])->setOnchange($onchange)->setAttribute('size', $pkga['size']); } else { if (isset($pkga['advancedfield']) && isset($advfield_count)) { $advanced->addInput(new Form_Select($pkga['fieldname'], $pkga['fielddescr'], isset($pkga['multiple']) ? $selectedlist : $selectedlist[0], $optionlist, isset($pkga['multiple'])))->setHelp($pkga['description'])->setOnchange($onchange)->setAttribute('size', $pkga['size']); } else { $selector = new Form_Select($pkga['fieldname'], strip_tags($pkga['fielddescr']), isset($pkga['multiple']) ? $selectedlist : $selectedlist[0], $optionlist, isset($pkga['multiple'])); $selector->setHelp($pkga['description'])->setOnchange($onchange)->setAttribute('size', $pkga['size']); if ($pkga['width']) { $selector->setWidth($pkga['width']); } $section->addInput($selector); } } break; case "select_source": if (isset($pkga['multiple'])) { $items = explode(',', $value); $fieldname .= "[]"; } else { $items = array($value); } $onchange = isset($pkga['onchange']) ? "onchange=\"{$pkga['onchange']}\"" : ''; $source_url = $pkga['source']; eval("\$pkg_source_txt = &{$source_url};");