From 9c7964da21d17f5d4d9c05c49a78845d2e99ee60 Mon Sep 17 00:00:00 2001 From: "gerv%gerv.net" <> Date: Wed, 20 Feb 2002 07:32:04 +0000 Subject: Bug 117515 - describekeywords.cgi templatisation. --- describekeywords.cgi | 75 +++++++++++++++------------------------------------- 1 file changed, 21 insertions(+), 54 deletions(-) (limited to 'describekeywords.cgi') 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 +# Contributor(s): Gervase Markham 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{ - - - - - - -}; +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{$bugs}; - } else { - $bugs = "none"; - } - if ($line_count == $max_table_size) { - print "
NameDescriptionBugs
\n$tableheader"; - $line_count = 0; - } - $line_count++; - print qq{ - -$name -$description -$bugs - -}; -} +my @keywords; -print "

\n"; - -quietly_check_login(); - -if (UserInGroup("editkeywords")) { - print "

Edit keywords

\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; -- cgit v1.2.1