diff options
author | gerv%gerv.net <> | 2002-02-20 08:32:04 +0100 |
---|---|---|
committer | gerv%gerv.net <> | 2002-02-20 08:32:04 +0100 |
commit | 9c7964da21d17f5d4d9c05c49a78845d2e99ee60 (patch) | |
tree | e438fdb10b853b1d70ea3d8dba2480c71d12c20e /describekeywords.cgi | |
parent | 05a0b649b38a3f81cebeb2b0851b3c43fe5f646e (diff) | |
download | bugzilla-9c7964da21d17f5d4d9c05c49a78845d2e99ee60.tar.gz bugzilla-9c7964da21d17f5d4d9c05c49a78845d2e99ee60.tar.xz |
Bug 117515 - describekeywords.cgi templatisation.
Diffstat (limited to 'describekeywords.cgi')
-rwxr-xr-x | describekeywords.cgi | 75 |
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; |