X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=cgi%2Fsearch.cgi;h=d728542ef3fdd60485c3bd3efc559cdc489c18ab;hb=17f85cf343d5a2a6aad4b252555aac577059f389;hp=554b4ad5a1a618b2ada748bae15abb27ce14b248;hpb=0b99d4f15a7b098b7780c85b8229a81df152b2ae;p=debbugs.git
diff --git a/cgi/search.cgi b/cgi/search.cgi
index 554b4ad..d728542 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',
@@ -193,11 +198,11 @@ for my $attribute (@{$cgi_var{attribute}}) {
}
print qq(\n);
$$attribute{value}='' if not defined $$attribute{value};
- print qq( \n);
+ print qq( \n);
$attr_num++;
}
-print qq( );
+print qq( );
# order
@@ -264,9 +269,9 @@ if (defined $nres) {
my $showseverity;
$showseverity = "Severity: $attr{severity};\n";
print <#${bugnum}: $attr{'@title'} @{[htmlize_packagelinks($attr{package})]}
-$showseverity
-Sent by: @{[encode_entities($attr{'@author'})]} at $attr{'@cdate'}
+
#${bugnum}: $attr{'@title'} @{[htmlize_packagelinks($attr{package})]}
+$showseverity
+Sent by: @{[encode_entities($attr{'@author'})]} at $attr{'@cdate'}
END
# Deal with the snippet
# make the things that match bits of the phrase bold, the rest normal.
@@ -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;
-}