From 277b884b7cf9226e81470b094e151e3004c50de8 Mon Sep 17 00:00:00 2001 From: CrawfordCurrie Date: Tue, 24 Feb 2009 18:51:50 +0000 Subject: [PATCH] Item1140: the chage away from using Vars, required by FSA, had broken multi-valued parameters, which affected checkboxes and other multi-valued params. git-svn-id: http://svn.foswiki.org/trunk@2665 0b4bb1d4-4e5a-0410-9cc4-b2b747904278 --- EditRowPlugin/data/System/EditRowPlugin.txt | 6 +++--- EditRowPlugin/lib/Foswiki/Plugins/EditRowPlugin.pm | 8 +++++++- EditRowPlugin/lib/Foswiki/Plugins/EditRowPlugin/Table.pm | 3 --- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/EditRowPlugin/data/System/EditRowPlugin.txt b/EditRowPlugin/data/System/EditRowPlugin.txt index 62a37a979a..55d2a70330 100755 --- a/EditRowPlugin/data/System/EditRowPlugin.txt +++ b/EditRowPlugin/data/System/EditRowPlugin.txt @@ -224,7 +224,7 @@ Another great Foswiki extension from the param(); - my $urps = { map { $_ => $query->param($_) } @ps }; + my $urps = {}; + foreach my $p (@ps) { + my @vals = $query->param($p); + # We interpreted multi-value parameters as comma-separated + # lists. This is what checkboxes, select+multi etc. use. + $urps->{$p} = join(',', @vals); + } require Foswiki::Plugins::EditRowPlugin::TableParser; ASSERT(!$@) if DEBUG; my $content = diff --git a/EditRowPlugin/lib/Foswiki/Plugins/EditRowPlugin/Table.pm b/EditRowPlugin/lib/Foswiki/Plugins/EditRowPlugin/Table.pm index 5d5cf3e5f2..afbd5531ad 100644 --- a/EditRowPlugin/lib/Foswiki/Plugins/EditRowPlugin/Table.pm +++ b/EditRowPlugin/lib/Foswiki/Plugins/EditRowPlugin/Table.pm @@ -356,10 +356,7 @@ sub _getCols { ($cell->{text} || $colDef->{initial_value}); } } - # CGI returns multi-values separated by \0. Replace with - # the Foswiki convention, comma $urps->{$cellName} ||= ''; - $urps->{$cellName} =~ s/\0/, /g; push(@cols, $urps->{$cellName}); } return \@cols;