X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=cgi%2Fsearch.cgi;h=b1f5e09f84724a8b3e38377db960073d275b7ce9;hb=c04432ba467f7f957835b7264157951787e27f4c;hp=554b4ad5a1a618b2ada748bae15abb27ce14b248;hpb=0b99d4f15a7b098b7780c85b8229a81df152b2ae;p=debbugs.git diff --git a/cgi/search.cgi b/cgi/search.cgi index 554b4ad..b1f5e09 100755 --- a/cgi/search.cgi +++ b/cgi/search.cgi @@ -14,24 +14,29 @@ BEGIN{ use CGI::Simple; -use CGI::Alert 'don@donarmstrong.com'; +# use CGI::Alert 'nobody@example.com'; use Search::Estraier; use Debbugs::Config qw(:config); use Debbugs::Estraier; -use Debbugs::CGI qw(htmlize_packagelinks html_escape); +use Debbugs::CGI qw(htmlize_packagelinks html_escape cgi_parameters); use HTML::Entities qw(encode_entities); my $q = new CGI::Simple; #my %var_defaults = (attr => 1,); -my %cgi_var = cgi_parameters($q); +my %cgi_var = cgi_parameters(query => $q, + single => [qw(phrase max_results order_field order_operator), + qw(skip prev next), + ], + default => {phrase => '', + max_results => 10, + skip => 0, + }, + ); -$cgi_var{phrase} = '' if not defined $cgi_var{phrase}; -$cgi_var{max_results} = 10 if not defined $cgi_var{max_results}; $cgi_var{attribute} = parse_attribute(\%cgi_var) || []; -$cgi_var{skip} = 0 if not defined $cgi_var{skip}; my @results; @@ -155,7 +160,7 @@ my %attributes = ('@cdate' => {name => 'Date', type => 'str', }, subject => {name => 'Bug Title', - type => 'num', + type => 'str', }, date => {name => 'Submission date', type => 'num', @@ -315,15 +320,3 @@ sub parse_attribute { } return \@attributes; } - - -sub cgi_parameters { - my ($q) = @_; - - my %param; - foreach my $paramname ($q->param) { - my @value = $q->param($paramname); - $param{$paramname} = @value > 1 ? [@value] : $value[0]; - } - return %param; -}