2002-01-20 01:44:52 +00:00
|
|
|
#!/usr/bonsaitools/bin/perl -wT
|
1998-09-15 21:49:26 +00:00
|
|
|
# -*- Mode: perl; indent-tabs-mode: nil -*-
|
1998-09-01 04:21:45 +00:00
|
|
|
#
|
1999-11-01 23:33:56 +00:00
|
|
|
# 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.
|
|
|
|
#
|
1998-09-01 04:21:45 +00:00
|
|
|
# The Original Code is the Bugzilla Bug Tracking System.
|
1999-11-01 23:33:56 +00:00
|
|
|
#
|
1998-09-01 04:21:45 +00:00
|
|
|
# The Initial Developer of the Original Code is Netscape Communications
|
1999-11-01 23:33:56 +00:00
|
|
|
# Corporation. Portions created by Netscape are
|
|
|
|
# Copyright (C) 1998 Netscape Communications Corporation. All
|
|
|
|
# Rights Reserved.
|
|
|
|
#
|
1998-09-01 04:21:45 +00:00
|
|
|
# Contributor(s): Terry Weissman <terry@mozilla.org>
|
2002-08-11 14:12:33 +00:00
|
|
|
# J. Paul Reed <preed@sigkill.com>
|
1998-09-01 04:21:45 +00:00
|
|
|
|
1998-09-15 21:49:26 +00:00
|
|
|
use strict;
|
1998-09-01 04:21:45 +00:00
|
|
|
|
2002-01-20 01:44:52 +00:00
|
|
|
use lib qw(.);
|
|
|
|
|
1998-09-15 21:49:26 +00:00
|
|
|
require "CGI.pl";
|
|
|
|
require "defparams.pl";
|
1998-09-01 04:21:45 +00:00
|
|
|
|
1998-09-15 21:49:26 +00:00
|
|
|
# Shut up misguided -w warnings about "used only once":
|
|
|
|
use vars %::param,
|
|
|
|
%::param_default,
|
1999-03-11 16:30:54 +00:00
|
|
|
@::param_list;
|
1998-09-01 04:21:45 +00:00
|
|
|
|
2002-06-17 09:39:00 +00:00
|
|
|
ConnectToDatabase();
|
1998-09-15 21:49:26 +00:00
|
|
|
confirm_login();
|
|
|
|
|
|
|
|
print "Content-type: text/html\n\n";
|
|
|
|
|
1999-03-11 16:30:54 +00:00
|
|
|
if (!UserInGroup("tweakparams")) {
|
|
|
|
print "<H1>Sorry, you aren't a member of the 'tweakparams' group.</H1>\n";
|
|
|
|
print "And so, you aren't allowed to edit the parameters.\n";
|
2000-01-14 22:35:49 +00:00
|
|
|
PutFooter();
|
1998-09-15 21:49:26 +00:00
|
|
|
exit;
|
1998-09-01 04:21:45 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2001-08-13 19:11:35 +00:00
|
|
|
PutHeader("Saving new parameters");
|
1998-09-01 04:21:45 +00:00
|
|
|
|
1998-09-15 21:49:26 +00:00
|
|
|
foreach my $i (@::param_list) {
|
|
|
|
# print "Processing $i...<BR>\n";
|
|
|
|
if (exists $::FORM{"reset-$i"}) {
|
2002-08-11 14:12:33 +00:00
|
|
|
if ($::param_type{$i} eq "s") {
|
|
|
|
my $index = get_select_param_index($i, $::param_default{$i}->[1]);
|
|
|
|
die "Param not found for '$i'" if ($index eq undef);
|
|
|
|
$::FORM{$i} = $index;
|
|
|
|
}
|
|
|
|
elsif ($::param_type{$i} eq "m") {
|
|
|
|
# For 'multi' selects, default is the 2nd anon array of the default
|
|
|
|
@{$::MFORM{$i}} = ();
|
|
|
|
foreach my $defaultPrm (@{$::param_default{$i}->[1]}) {
|
|
|
|
my $index = get_select_param_index($i, $defaultPrm);
|
|
|
|
die "Param not found for '$i'" if ($index eq undef);
|
|
|
|
push(@{$::MFORM{$i}}, $index);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
$::FORM{$i} = $::param_default{$i};
|
|
|
|
}
|
1998-09-01 04:21:45 +00:00
|
|
|
}
|
2001-11-17 22:18:07 +00:00
|
|
|
$::FORM{$i} =~ s/\r\n?/\n/g; # Get rid of windows/mac-style line endings.
|
2000-09-29 05:29:09 +00:00
|
|
|
$::FORM{$i} =~ s/^\n$//; # assume single linefeed is an empty string
|
1998-09-15 21:49:26 +00:00
|
|
|
if ($::FORM{$i} ne Param($i)) {
|
|
|
|
if (defined $::param_checker{$i}) {
|
|
|
|
my $ref = $::param_checker{$i};
|
2002-08-11 14:12:33 +00:00
|
|
|
my $ok = &$ref($::FORM{$i}, $i);
|
1998-09-15 21:49:26 +00:00
|
|
|
if ($ok ne "") {
|
|
|
|
print "New value for $i is invalid: $ok<p>\n";
|
|
|
|
print "Please hit <b>Back</b> and try again.\n";
|
2000-01-14 22:35:49 +00:00
|
|
|
PutFooter();
|
1998-09-15 21:49:26 +00:00
|
|
|
exit;
|
1998-09-01 04:21:45 +00:00
|
|
|
}
|
|
|
|
}
|
1998-09-15 21:49:26 +00:00
|
|
|
print "Changed $i.<br>\n";
|
2000-09-29 05:29:09 +00:00
|
|
|
# print "Old: '" . url_quote(Param($i)) . "'<BR>\n";
|
|
|
|
# print "New: '" . url_quote($::FORM{$i}) . "'<BR>\n";
|
2002-08-11 14:12:33 +00:00
|
|
|
if ($::param_type{$i} eq "s") {
|
|
|
|
$::param{$i} = $::param_default{$i}->[0]->[$::FORM{$i}];
|
|
|
|
}
|
|
|
|
elsif ($::param_type{$i} eq "m") {
|
|
|
|
my $multiParamStr = "[ ";
|
|
|
|
foreach my $chosenParam (@{$::MFORM{$i}}) {
|
|
|
|
$multiParamStr .=
|
|
|
|
"'$::param_default{$i}->[0]->[$chosenParam]', ";
|
|
|
|
}
|
|
|
|
$multiParamStr .= " ]";
|
|
|
|
|
|
|
|
$::param{$i} = $multiParamStr;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
$::param{$i} = $::FORM{$i};
|
|
|
|
}
|
1998-09-01 04:21:45 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
1998-09-15 21:49:26 +00:00
|
|
|
WriteParams();
|
1998-09-01 04:21:45 +00:00
|
|
|
|
1999-01-27 21:17:10 +00:00
|
|
|
unlink "data/versioncache";
|
2000-02-17 21:41:39 +00:00
|
|
|
print "<PRE>";
|
2000-05-17 21:29:33 +00:00
|
|
|
system("./syncshadowdb", "-v");
|
2000-02-17 21:41:39 +00:00
|
|
|
print "</PRE>";
|
1999-01-27 21:17:10 +00:00
|
|
|
|
1998-09-15 21:49:26 +00:00
|
|
|
print "OK, done.<p>\n";
|
1998-11-20 19:18:37 +00:00
|
|
|
print "<a href=editparams.cgi>Edit the params some more.</a><p>\n";
|
|
|
|
print "<a href=query.cgi>Go back to the query page.</a>\n";
|
1998-09-01 04:21:45 +00:00
|
|
|
|
2000-01-14 22:35:49 +00:00
|
|
|
PutFooter();
|