diff options
Diffstat (limited to 'httemplate/edit/part_export.cgi')
-rw-r--r-- | httemplate/edit/part_export.cgi | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/httemplate/edit/part_export.cgi b/httemplate/edit/part_export.cgi index 486bd4300..4d0c7391f 100644 --- a/httemplate/edit/part_export.cgi +++ b/httemplate/edit/part_export.cgi @@ -49,24 +49,33 @@ my $widget = new HTML::Widgets::SelectLayers( my $label = $optinfo->{label}; my $type = defined($optinfo->{type}) ? $optinfo->{type} : 'text'; my $value = $cgi->param($option) - || $part_export->option($option) - || (exists $optinfo->{default} ? $optinfo->{default} : ''); + || ( $part_export->exportnum && $part_export->option($option) ) + || ( (exists $optinfo->{default} && !$part_export->exportnum) + ? $optinfo->{default} + : '' + ); $html .= qq!<TR><TD ALIGN="right">$label</TD><TD>!; if ( $type eq 'select' ) { $html .= qq!<SELECT NAME="$option">!; foreach my $select_option ( @{$optinfo->{options}} ) { #if ( ref($select_option) ) { #} else { - $selected = $select_option eq $value ? ' SELECTED' : ''; + my $selected = $select_option eq $value ? ' SELECTED' : ''; $html .= qq!<OPTION VALUE="$select_option"$selected>!. qq!$select_option</OPTION>!; #} } $html .= '</SELECT>'; } elsif ( $type eq 'textarea' ) { - $html .= qq!<TEXTAREA NAME="$option">$value</TEXTAREA>!; + $html .= qq!<TEXTAREA NAME="$option" COLS=80 ROWS=8 WRAP="virtual">!. + encode_entities($value). '</TEXTAREA>'; } elsif ( $type eq 'text' ) { - $html .= qq!<INPUT TYPE="text" NAME="$option" VALUE="$value" SIZE=64>!; + $html .= qq!<INPUT TYPE="text" NAME="$option" VALUE="!. + encode_entities($value). '" SIZE=64>'; + } elsif ( $type eq 'checkbox' ) { + $html .= qq!<INPUT TYPE="checkbox" NAME="$option" VALUE="1"!; + $html .= ' CHECKED' if $value; + $html .= '>'; } else { $html .= "unknown type $type"; } |