aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgerv%gerv.net <>2002-02-20 07:32:04 +0000
committergerv%gerv.net <>2002-02-20 07:32:04 +0000
commit9c7964da21d17f5d4d9c05c49a78845d2e99ee60 (patch)
treee438fdb10b853b1d70ea3d8dba2480c71d12c20e /describekeywords.cgi
parentBug 115369 - templatise long_list.cgi. (diff)
downloadbugzilla-9c7964da21d17f5d4d9c05c49a78845d2e99ee60.tar.gz
bugzilla-9c7964da21d17f5d4d9c05c49a78845d2e99ee60.tar.bz2
bugzilla-9c7964da21d17f5d4d9c05c49a78845d2e99ee60.zip
Bug 117515 - describekeywords.cgi templatisation.
Diffstat (limited to 'describekeywords.cgi')
-rwxr-xr-xdescribekeywords.cgi75
1 files changed, 21 insertions, 54 deletions
diff --git a/describekeywords.cgi b/describekeywords.cgi
index 3475fb6eb..d588100c6 100755
--- a/describekeywords.cgi
+++ b/describekeywords.cgi
@@ -19,74 +19,41 @@
# Rights Reserved.
#
# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Contributor(s): Gervase Markham <gerv@gerv.net>
use diagnostics;
use strict;
-
-use lib qw(.);
+use lib ".";
require "CGI.pl";
-ConnectToDatabase();
-
-print "Content-type: text/html\n\n";
+# Use the global template variables.
+use vars qw($vars $template);
-PutHeader("Bugzilla keyword description");
-
-my $tableheader = qq{
-<TABLE BORDER=1 CELLPADDING=4 CELLSPACING=0>
-<TR BGCOLOR="#6666FF">
-<TH ALIGN="left">Name</TH>
-<TH ALIGN="left">Description</TH>
-<TH ALIGN="left">Bugs</TH>
-</TR>
-};
+ConnectToDatabase();
-print $tableheader;
-my $line_count = 0;
-my $max_table_size = 50;
+quietly_check_login();
SendSQL("SELECT keyworddefs.name, keyworddefs.description,
- COUNT(keywords.bug_id), keywords.bug_id
+ COUNT(keywords.bug_id)
FROM keyworddefs LEFT JOIN keywords ON keyworddefs.id=keywords.keywordid
GROUP BY keyworddefs.id
ORDER BY keyworddefs.name");
-while (MoreSQLData()) {
- my ($name, $description, $bugs, $onebug) = FetchSQLData();
- if ($bugs && $onebug) {
- # This 'onebug' stuff is silly hackery for old versions of
- # MySQL that seem to return a count() of 1 even if there are
- # no matching. So, we ask for an actual bug number. If it
- # can't find any bugs that match the keyword, then we set the
- # count to be zero, ignoring what it had responded.
- my $q = url_quote($name);
- $bugs = qq{<A HREF="buglist.cgi?keywords=$q">$bugs</A>};
- } else {
- $bugs = "none";
- }
- if ($line_count == $max_table_size) {
- print "</table>\n$tableheader";
- $line_count = 0;
- }
- $line_count++;
- print qq{
-<TR>
-<TH><a name="}
-.value_quote($name).
-qq{">$name</A></TH>
-<TD>$description</TD>
-<TD ALIGN="right">$bugs</TD>
-</TR>
-};
-}
+my @keywords;
-print "</TABLE><P>\n";
-
-quietly_check_login();
-
-if (UserInGroup("editkeywords")) {
- print "<p><a href=editkeywords.cgi>Edit keywords</a><p>\n";
+while (MoreSQLData()) {
+ my ($name, $description, $bugs) = FetchSQLData();
+
+ push (@keywords, { name => $name,
+ description => $description,
+ bugcount => $bugs });
}
+
+$vars->{'keywords'} = \@keywords;
+$vars->{'caneditkeywords'} = UserInGroup("editkeywords");
-PutFooter();
+print "Content-type: text/html\n\n";
+$template->process("info/describe-keywords.html.tmpl", $vars)
+ || DisplayError("Template process failed: " . $template->error())
+ && exit;