From: <de...@de...> - 2012-06-21 04:56:41
|
Author: PeterThoeny Date: 2012-06-20 23:56:35 -0500 (Wed, 20 Jun 2012) New Revision: 23006 Trac url: http://develop.twiki.org/trac/changeset/23006 Modified: twiki/branches/TWikiRelease05x01/core/lib/TWiki.pm Log: Item6890: Fix for: Multi-value parameters lost during login redirect Modified: twiki/branches/TWikiRelease05x01/core/lib/TWiki.pm =================================================================== --- twiki/branches/TWikiRelease05x01/core/lib/TWiki.pm 2012-06-18 07:08:56 UTC (rev 23005) +++ twiki/branches/TWikiRelease05x01/core/lib/TWiki.pm 2012-06-21 04:56:35 UTC (rev 23006) @@ -4120,14 +4120,16 @@ # clean parameter names of illegal characters $name =~ s/['"<>].*//; # Issues multi-valued parameters as separate hiddens - my $value = $this->{request}->param( $name ); - if ($encoding) { - $value = _encode($encoding, $value); + if( $name ) { + foreach my $value ( $this->{request}->param( $name ) ) { + $value = '' unless defined $value; + $value = _encode( $encoding, $value ) if( $encoding ); + my $entry = $format; + $entry =~ s/\$name/$name/g; + $entry =~ s/\$value/$value/; + push( @list, $entry ); + } } - my $entry = $format; - $entry =~ s/\$name/$name/g; - $entry =~ s/\$value/$value/; - push(@list, $entry); } return expandStandardEscapes(join($separator, @list)); } |