diff options
-rwxr-xr-x | doeditowners.cgi | 72 | ||||
-rwxr-xr-x | editowners.cgi | 72 | ||||
-rwxr-xr-x | query.cgi | 1 |
3 files changed, 145 insertions, 0 deletions
diff --git a/doeditowners.cgi b/doeditowners.cgi new file mode 100755 index 000000000..b09d7298b --- /dev/null +++ b/doeditowners.cgi @@ -0,0 +1,72 @@ +#!/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.0 (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): Sam Ziegler <sam@ziegler.org> + +use diagnostics; +use strict; + +require "CGI.pl"; + +# Shut up misguided -w warnings about "used only once": +use vars %::COOKIE; + + +confirm_login(); + +print "Content-type: text/html\n\n"; + +if (Param("maintainer") ne $::COOKIE{'Bugzilla_login'}) { + print "<H1>Sorry, you aren't the maintainer of this system.</H1>\n"; + print "And so, you aren't allowed to edit the parameters of it.\n"; + exit; +} + + +PutHeader("Saving new owners"); + +SendSQL("select program, value, initialowner from components order by program, value"); + +my @line; + +foreach my $key (keys(%::FORM)) { + $::FORM{url_decode($key)} = $::FORM{$key}; +} + +my @updates; +my $curIndex = 0; + +while (@line = FetchSQLData()) { + my $curItem = "$line[0]_$line[1]"; + if (exists $::FORM{$curItem}) { + $::FORM{$curItem} =~ s/\r\n/\n/; + if ($::FORM{$curItem} ne $line[2]) { + print "$line[0] : $line[1] is now owned by $::FORM{$curItem}.<BR>\n"; + $updates[$curIndex++] = "update components set initialowner = '$::FORM{$curItem}' where program = '$line[0]' and value = '$line[1]'"; + } + } +} + +foreach my $update (@updates) { + SendSQL($update); +} + +print "OK, done.<p>\n"; +print "<a href=editowners.cgi>Edit the owners some more.</a><p>\n"; +print "<a href=query.cgi>Go back to the query page.</a>\n"; diff --git a/editowners.cgi b/editowners.cgi new file mode 100755 index 000000000..1bfb6ac13 --- /dev/null +++ b/editowners.cgi @@ -0,0 +1,72 @@ +#!/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.0 (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): Sam Ziegler <sam@ziegler.org> + +# Code derived from editparams.cgi + +use diagnostics; +use strict; + +require "CGI.pl"; + +# Shut up misguided -w warnings about "used only once": +use vars %::COOKIE; + +confirm_login(); + +print "Content-type: text/html\n\n"; + +if (Param("maintainer") ne $::COOKIE{Bugzilla_login}) { + print "<H1>Sorry, you aren't the maintainer of this system.</H1>\n"; + print "And so, you aren't allowed to edit the parameters of it.\n"; + exit; +} + + +PutHeader("Edit Component Owners"); + +print "This lets you edit the owners of the program components of bugzilla.\n"; + +print "<form method=post action=doeditowners.cgi><table>\n"; + +my $rowbreak = "<tr><td colspan=2><hr></td></tr>"; + +SendSQL("select program, value, initialowner from components order by program, value"); + +my @line; +my $curProgram = ""; + +while (@line = FetchSQLData()) { + if ($line[0] ne $curProgram) { + print $rowbreak; + print "<tr><th align=right valign=top>$line[0]:</th><td></td></tr>\n"; + $curProgram = $line[0]; + } + print "<tr><td valign = top>$line[1]</td><td><input size=80 "; + print "name=\"$line[0]_$line[1]\" value=\"$line[2]\"></td></tr>\n"; +} + +print "</table>\n"; + +print "<input type=submit value=\"Submit changes\">\n"; + +print "</form>\n"; + +print "<p><a href=query.cgi>Skip all this, and go back to the query page</a>\n"; @@ -260,6 +260,7 @@ print " if (defined $::COOKIE{"Bugzilla_login"}) { if ($::COOKIE{"Bugzilla_login"} eq Param("maintainer")) { print "<a href=editparams.cgi>Edit Bugzilla operating parameters</a><br>\n"; + print "<a href=editowners.cgi>Edit Bugzilla component owners</a><br>\n"; } print "<a href=relogin.cgi>Log in as someone besides <b>$::COOKIE{'Bugzilla_login'}</b></a><br>\n"; } |