diff --git a/en/cgi/query-pr-lib.pl b/en/cgi/query-pr-lib.pl new file mode 100644 index 0000000000..a0b19e7d41 --- /dev/null +++ b/en/cgi/query-pr-lib.pl @@ -0,0 +1,162 @@ +#!/usr/bin/perl -Tw + +sub get_categories { + @categories = (); + + open(Q, 'query-pr.web --list-categories 2>/dev/null |') || + die "Cannot get categories\n"; + + while() { + chop; + local ($cat, $desc, $responsible, $notify) = split(/:/); + push(@categories, $cat); + $catdesc{$cat} = $desc; + } +} + +sub get_states { + @states = (); + + open(Q, 'query-pr.web --list-states 2>/dev/null |') || + die "Cannot get states\n"; + + while() { + chop; + local ($state, $type, $desc) = split(/:/); + push(@states, $state); + $statedesc{$state} = $desc; + } +} + +sub get_classes { + @classes = (); + + open(Q, 'query-pr.web --list-classes 2>/dev/null |') || + die "Cannot get classes\n"; + + while() { + chop; + local ($class, $type, $desc) = split(/:/); + push(@classes, $class); + $classdesc{$class} = $desc; + } +} + +sub displayform { +print qq` +

To query the GNATS Database for specific PR number, please fill in +this form:

+
+ + + + +
PR number:
Category: (optional)
+
+
+ +

Alternatively, it is possible to select items you wish to search for. +Multiple items are AND'ed together.
+To generate current list of all open PRs in GNATS database, just press +the "Query PRs" button. +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Category:Severity:
Priority:Class:
State:Sort by:
Text in single-line fields:Responsible:
Text in multi-line fields:Originator:
Closed reports too:Release:
+
+
+`; +} + +1; diff --git a/en/cgi/query-pr-summary.cgi b/en/cgi/query-pr-summary.cgi index 85cab90a2b..d68a53d2eb 100755 --- a/en/cgi/query-pr-summary.cgi +++ b/en/cgi/query-pr-summary.cgi @@ -1,5 +1,5 @@ #!/usr/bin/perl -T -# $FreeBSD: www/en/cgi/query-pr-summary.cgi,v 1.56 2006/09/24 13:34:55 danger Exp $ +# $FreeBSD: www/en/cgi/query-pr-summary.cgi,v 1.57 2006/10/08 17:00:12 ceri Exp $ $html_mode = 1 if $ENV{'DOCUMENT_ROOT'}; $self_ref = $ENV{'SCRIPT_NAME'}; @@ -15,6 +15,7 @@ $closed_too = 0; require './cgi-lib.pl'; require './cgi-style.pl'; +require './query-pr-lib.pl'; require 'getopts.pl'; if (!$ENV{'QUERY_STRING'} or $ENV{'QUERY_STRING'} eq 'query') { @@ -411,48 +412,6 @@ sub severity_summary { &printcnt(&gnats_summary('$severity eq "non-critical"', $html_mode)); } -sub get_categories { - @categories = (); - - open(Q, 'query-pr.web --list-categories 2>/dev/null |') || - die "Cannot get categories\n"; - - while() { - chop; - local ($cat, $desc, $responsible, $notify) = split(/:/); - push(@categories, $cat); - $catdesc{$cat} = $desc; - } -} - -sub get_states { - @states = (); - - open(Q, 'query-pr.web --list-states 2>/dev/null |') || - die "Cannot get states\n"; - - while() { - chop; - local ($state, $type, $desc) = split(/:/); - push(@states, $state); - $statedesc{$state} = $desc; - } -} - -sub get_classes { - @classes = (); - - open(Q, 'query-pr.web --list-classes 2>/dev/null |') || - die "Cannot get classes\n"; - - while() { - chop; - local ($class, $type, $desc) = split(/:/); - push(@classes, $class); - $classdesc{$class} = $desc; - } -} - sub read_gnats { local($report) = @_[0]; @@ -586,108 +545,3 @@ sub gnats_summary_line_text { $resp . (' ' x (10 - length($resp))) . substr($syn,0,39) . "\n"; } - -sub displayform { -print qq` -

-Please select the items you wish to search for. Multiple items are AND'ed -together.
-To generate current list of all open PRs in GNATS database, just press -the "Query PRs" button. -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Category:Severity:
Priority:Class:
State:Sort by:
Text in single-line fields:Responsible:
Text in multi-line fields:Originator:
Closed reports too:Release:
- - -
-`; -} diff --git a/en/cgi/query-pr.cgi b/en/cgi/query-pr.cgi index edb51df2ed..10f4ac291c 100755 --- a/en/cgi/query-pr.cgi +++ b/en/cgi/query-pr.cgi @@ -26,17 +26,17 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: www/en/cgi/query-pr.cgi,v 1.59 2006/11/27 17:12:50 shaun Exp $ +# $FreeBSD: www/en/cgi/query-pr.cgi,v 1.60 2006/12/09 15:46:06 shaun Exp $ # use strict; -#use warnings; use MIME::Base64; # ports/converters/p5-MIME-Base64 use MIME::QuotedPrint; # use Convert::UU qw(uudecode uuencode); # ports/converters/p5-Convert-UU require './cgi-style.pl'; +require './query-pr-lib.pl'; use constant HTTP_HEADER => "Content-type: text/html; charset=UTF-8\r\n\r\n"; use constant HTTP_HEADER_PATCH => "Content-type: text/plain; charset=UTF-8\r\n\r\n"; @@ -213,16 +213,6 @@ $fmt{'html_footerlinks'} = < EOF -$fmt{'query_form'} = < - - - - -
PR number:
Category: (optional)
- -EOF - $fmt{'trylatermsg'} = < Please try again later. @@ -272,7 +262,7 @@ $category = undef if ($PR !~ /^$valid_pr$/ || $PR < 0) { print html_header("Query PR Database"); - sprint('query_form'); + displayform(); print html_footer(); exit; } @@ -290,7 +280,7 @@ if ($category) { if (!@query or ($query[0] and $query[0] =~ /^query-pr(:?\.(:?real|web))?: /)) { print html_header("No PRs Matched Query"); - sprint('query_form', $PR || "", $category || ""); + displayform(); print html_footer(); exit; } elsif ($query[0] =~ /^lockf: /) {