From: <de...@de...> - 2007-01-14 22:59:53
|
Author: ThomasWeigert Date: 2007-01-14 16:59:38 -0600 (Sun, 14 Jan 2007) New Revision: 12547 Modified: twiki/branches/MAIN/lib/TWiki/Form.pm Log: Item2650: Handle case described in Item3434 also. Modified: twiki/branches/MAIN/lib/TWiki/Form.pm =================================================================== --- twiki/branches/MAIN/lib/TWiki/Form.pm 2007-01-14 20:28:17 UTC (rev 12546) +++ twiki/branches/MAIN/lib/TWiki/Form.pm 2007-01-14 22:59:38 UTC (rev 12547) @@ -744,10 +744,25 @@ # checkbox and multi both allow multiple values if( $fieldDef->{type} =~ /^checkbox|\+multi/ ) { my @values = $query->param( $param ); - $value = shift @values; - foreach my $val (@values) { - $value .= ", $val" if $val; # skip empty values (Item2410) - } + if ($#values>=0) { + if ($#values==0) { + @values = split /\,|%2C/, $values[0]; + } + my %vset = (); + foreach my $val (@values) { + $val =~ s/^\s*//o; + $val =~ s/\s*$//o; + $vset{$val} = (defined $val && $val =~ /\S/); # skip empty values + } + $value = ''; + foreach my $flditem (@{$fieldDef->{value}}) { + # Maintain order of definition + if ($vset{$flditem}) { + $value .= ', ' if $value; + $value .= $flditem; + } + } + } } my $preDef; |