use Bugzilla::Auth::Persist::Cookie;
use Bugzilla::CGI;
use Bugzilla::DB;
+use Bugzilla::Install::Localconfig qw(read_localconfig);
use Bugzilla::Template;
use Bugzilla::User;
use Bugzilla::Error;
return request_cache()->{cgi};
}
+sub localconfig {
+ request_cache()->{localconfig} ||= read_localconfig();
+ return request_cache()->{localconfig};
+}
+
sub params {
my $class = shift;
request_cache()->{params} ||= Bugzilla::Config::read_param_file();
my $templatedir = bz_locations()->{'templatedir'};
my $libdir = bz_locations()->{'libpath'};
- my $ws_group = read_localconfig()->{'webservergroup'};
+ my $ws_group = Bugzilla->localconfig->{'webservergroup'};
# The set of permissions that we use:
my $owner_id = POSIX::getuid();
my $group_id = POSIX::getgid();
- my $ws_group = read_localconfig()->{'webservergroup'};
+ my $ws_group = Bugzilla->localconfig->{'webservergroup'};
if ($ws_group) {
my $ws_group_id = getgrnam($ws_group);
die "There is no such group: $ws_group. Check your \$webservergroup"
use Safe;
use base qw(Exporter);
-our @EXPORT = qw(
- read_localconfig
-);
our @EXPORT_OK = qw(
+ read_localconfig
update_localconfig
);
# Now we do some checks on localconfig values.
_check_web_server_group($localconfig->{'webservergroup'}) if $output;
+ # Reset the cache for Bugzilla->localconfig so that it will be re-read
+ delete Bugzilla->request_cache->{localconfig};
+
return { old_vars => \@old_vars, new_vars => \@new_vars };
}
=head1 SYNOPSIS
- use Bugzilla::Install::Requirements qw(read_localconfig update_localconfig)
- my $localconfig = read_localconfig();
+ use Bugzilla::Install::Requirements qw(update_localconfig);
update_localconfig({ output => 1, answer => \%answer });
=head1 DESCRIPTION
This module is used primarily by L<checksetup.pl> to create and
-modify the localconfig file.
+modify the localconfig file. Most scripts should use L<Bugzilla/localconfig>
+to access localconfig variables.
=head1 CONSTANTS
import Bugzilla::Bug qw(is_open_state);
require Bugzilla::Install::Localconfig;
-import Bugzilla::Install::Localconfig qw(read_localconfig update_localconfig);
+import Bugzilla::Install::Localconfig qw(update_localconfig);
require Bugzilla::Install::Filesystem;
import Bugzilla::Install::Filesystem qw(update_filesystem create_htaccess
print "Reading " . bz_locations()->{'localconfig'} . "...\n" unless $silent;
update_localconfig({ output => !$silent, answer => \%answer });
-my $lc_hash = read_localconfig();
-
-# XXX Eventually this variable can be eliminated, but it is
-# used more than once throughout checksetup right now.
-my $my_webservergroup = $lc_hash->{'webservergroup'};
+my $lc_hash = Bugzilla->localconfig;
###########################################################################
# Check --DATABASE-- setup