From adc7f54550b44e5602f716fc6db960c4914ab0d0 Mon Sep 17 00:00:00 2001 From: cjwatson <> Date: Wed, 23 Apr 2003 14:29:13 -0800 Subject: [PATCH] [project @ 2003-04-23 15:29:13 by cjwatson] Support multiple include/exclude CGI arguments (#133127, #141968). --- cgi/common.pl | 20 ++++++++++++++++++-- cgi/pkgreport.cgi | 10 ++++------ 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/cgi/common.pl b/cgi/common.pl index 303d317..2a7afbd 100644 --- a/cgi/common.pl +++ b/cgi/common.pl @@ -23,8 +23,24 @@ sub set_option { my ($opt, $val) = @_; if ($opt eq "archive") { $common_archive = $val; } if ($opt eq "repeatmerged") { $common_repeatmerged = $val; } - if ($opt eq "exclude") { %common_exclude = %{$val}; } - if ($opt eq "include") { %common_include = %{$val}; } + if ($opt eq "exclude") { + my @vals; + @vals = ( $val ) if (ref($val) eq "" && $val ); + @vals = ( $$val ) if (ref($val) eq "SCALAR" && $$val ); + @vals = @{$val} if (ref($val) eq "ARRAY" ); + %common_exclude = map { + if (/^(.*):(.*)$/) { ($1, $2) } else { ($_, 1) } + } split /[\s,]+/, join ',', @vals; + } + if ($opt eq "include") { + my @vals; + @vals = ( $val, ) if (ref($val) eq "" && $val ); + @vals = ( $$val, ) if (ref($val) eq "SCALAR" && $$val ); + @vals = @{$val} if (ref($val) eq "ARRAY" ); + %common_include = map { + if (/^(.*):(.*)$/) { ($1, $2) } else { ($_, 1) } + } split /[\s,]+/, join ',', @vals; + } if ($opt eq "raw") { $common_raw_sort = $val; } if ($opt eq "bug-rev") { $common_bug_reverse = $val; } if ($opt eq "pend-rev") { $common_pending_reverse = $val; } diff --git a/cgi/pkgreport.cgi b/cgi/pkgreport.cgi index 0031cc4..699365c 100755 --- a/cgi/pkgreport.cgi +++ b/cgi/pkgreport.cgi @@ -24,8 +24,8 @@ my %param = readparse(); my $repeatmerged = ($param{'repeatmerged'} || "yes") eq "yes"; my $archive = ($param{'archive'} || "no") eq "yes"; -my $include = $param{'include'} || ""; -my $exclude = $param{'exclude'} || ""; +my $include = $param{'&include'} || $param{'include'} || ""; +my $exclude = $param{'&exclude'} || $param{'exclude'} || ""; my $raw_sort = ($param{'raw'} || "no") eq "yes"; my $bug_rev = ($param{'bug-rev'} || "no") eq "yes"; my $pend_rev = ($param{'pend-rev'} || "no") eq "yes"; @@ -94,10 +94,8 @@ $tail_html =~ s/SUBSTITUTE_DTIME/$dtime/; set_option("repeatmerged", $repeatmerged); set_option("archive", $archive); -set_option("include", { map {if (m/^(.*):(.*)$/) { ($1,$2) } else { ($_,1) }} (split /[\s,]+/, $include) }) - if ($include); -set_option("exclude", { map {if (m/^(.*):(.*)$/) { ($1,$2) } else { ($_,1) }} (split /[\s,]+/, $exclude) }) - if ($exclude); +set_option("include", $include); +set_option("exclude", $exclude); set_option("raw", $raw_sort); set_option("bug-rev", $bug_rev); set_option("pend-rev", $pend_rev); -- 2.39.2