]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 347096: Create Bugzilla->localconfig and replace most read_localconfig calls...
authormkanat%bugzilla.org <>
Mon, 4 Sep 2006 02:18:53 +0000 (02:18 +0000)
committermkanat%bugzilla.org <>
Mon, 4 Sep 2006 02:18:53 +0000 (02:18 +0000)
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=myk

Bugzilla.pm
Bugzilla/Install/Filesystem.pm
Bugzilla/Install/Localconfig.pm
checksetup.pl

index 19c52ee2f66a918d151990de6b30962e010f3825..0fb223e9ef2eb1ec34e41c67ea53f9a37231884f 100644 (file)
@@ -32,6 +32,7 @@ use Bugzilla::Auth;
 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;
@@ -147,6 +148,11 @@ sub cgi {
     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();
index 9ba8fcd1b5a3ea8514bb538a52f85c84cd091b10..02131531c312a4efae8616686eb911e0bb8e582a 100644 (file)
@@ -59,7 +59,7 @@ sub FILESYSTEM {
     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:
 
@@ -494,7 +494,7 @@ sub fix_all_file_permissions {
 
     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"
index ef5605d41fa3022b746727494ef2122b52ac5c6c..f01be8bf9f1fbd9e83a19f1538ca246ba839de8a 100644 (file)
@@ -33,11 +33,9 @@ use IO::File;
 use Safe;
 
 use base qw(Exporter);
-our @EXPORT = qw(
-    read_localconfig
-);
 
 our @EXPORT_OK = qw(
+    read_localconfig
     update_localconfig
 );
 
@@ -344,6 +342,9 @@ EOT
     # 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 };
 }
 
@@ -460,14 +461,14 @@ Bugzilla::Install::Localconfig - Functions and variables dealing
 
 =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
 
index 7f3c6783f3e69f8babecc4dca46b4b896fed975a..27ee5d6eaee771325c920d8f618a27fbaafa0690 100755 (executable)
@@ -331,7 +331,7 @@ require Bugzilla::Bug;
 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
@@ -349,11 +349,7 @@ require Bugzilla::Install;
 
 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