diff options
-rwxr-xr-x | showowners.cgi | 147 |
1 files changed, 0 insertions, 147 deletions
diff --git a/showowners.cgi b/showowners.cgi deleted file mode 100755 index 108c65cb0..000000000 --- a/showowners.cgi +++ /dev/null @@ -1,147 +0,0 @@ -#!/usr/bonsaitools/bin/perl -w -# -*- Mode: perl; indent-tabs-mode: nil -*- -# -# The contents of this file are subject to the Mozilla Public -# License Version 1.1 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS -# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# The Original Code is the Bugzilla Bug Tracking System. -# -# The Initial Developer of the Original Code is Netscape Communications -# Corporation. Portions created by Netscape are -# Copyright (C) 1998 Netscape Communications Corporation. All -# Rights Reserved. -# -# Contributor(s): Bryce Nesbitt <bryce@nextbus.com> -# -# This program lists all BugZilla users, and lists what modules they -# either own or are default QA for. It is very slow on large databases. - -use diagnostics; -use strict; - -require "CGI.pl"; -require "globals.pl"; - -# Fetch, one row at a time, the product and module. -# Build the contents of the table cell listing each unique -# product just once, with all the modules. -sub FetchAndFormat { - my $result = ""; - my $temp = ""; - my @row = ""; - - while (@row = FetchSQLData()) { - if( $temp ne $row[0] ) { - $result .= " " . $row[0] . ": "; - } else { - $result .= ", "; - } - $temp = $row[0]; - $result .= "<I>" . $row[1] . "</I>"; - } - return( $result ); -} - - -# Start the resulting web page -print "Content-type: text/html\n\n"; -print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\"> -<html><head><title>BugZilla module owners list</title></head>\n"; -PutHeader("Owner list"); - -ConnectToDatabase(); -GetVersionTable(); - -# Collect all BugZilla user names -SendSQL("select login_name,userid from profiles order by login_name"); -my @list; -my @row; -while (@row = FetchSQLData()) { - push @list, $row[0]; -} - -print "<P>The following is a list of BugZilla users who are the default owner -for at least one module. BugZilla will only assign or Cc: a bug to the exact -name stored in the database. Click on a name to see bugs assigned to that person:</P>\n"; -print "<table border=1>\n"; -print "<tr><td><B>Login name</B></td>\n"; -print "<td><B>Default owner for</B></td><td><B>Default QA for</B></td>\n"; - -# If a user is a initialowner or initialqacontact, list their modules -my $person; -my $nospamperson; -my $firstcell; -my $secondcell; -my @nocell; -foreach $person (@list) { - - my $qperson = SqlQuote($person); - - SendSQL("select program,value from components\ - where initialowner = $qperson order by program,value"); - $firstcell = FetchAndFormat(); - - SendSQL("select program,value from components\ - where initialqacontact = $qperson order by program,value"); - $secondcell = FetchAndFormat(); - - $_ = $person; # Anti-spam - s/@/ @/; # Mangle - $nospamperson = $_; # Email - - if( $firstcell || $secondcell ) { - print "<tr>"; - - print "<td>\n"; - print "<a href=\"buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=${person}&emailtype1=substring&emailassigned_to1=1&cmdtype=doit&newqueryname=&order=%22Importance%22&form_name=query\">${nospamperson}</a>\n"; - print "</td>\n"; - - print "<td>"; - print $firstcell; - print "</td>\n"; - - print "<td>"; - print $secondcell; - print "</td>\n"; - - print "</tr>\n"; - } else { - push @nocell, $person; - } -} - -print "<tr>"; -print "<td colspan=3>"; -print "Other valid logins: "; -foreach $person (@nocell) { - $_ = $person; # Anti-spam - s/@/ @/; # Mangle - $nospamperson = $_; # Email - - print "<a href=\"buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=${person}&emailtype1=substring&emailassigned_to1=1&cmdtype=doit&newqueryname=&order=%22Importance%22&form_name=query\">${nospamperson}</a>\n"; - print ", "; -} -print "</td>"; -print "</tr>\n"; - -print "</table>\n"; - -# Enhancement ideas -# o Use just one table cell for each person. The table gets unbalanced for installs -# where just a few QA people handle lots of modules -# o Optimize for large systems. Terry notes: -# The problem is that you go query the components table 10,000 times, -# twice for each of the 5,000 logins that we have. Yow! -# -# It would be better to generate your initial list of logins by selecting -# for distinct initialqacontact and initialowner values from the -# components database. Then when you generate the list of "other -# logins", you can query for the whole list of logins and subtract out -# things that were in the components database. |