Diff for /loncom/configuration/Configuration.pm between versions 1.12 and 1.14

version 1.12, 2004/04/01 15:26:04 version 1.14, 2007/08/30 20:19:35
Line 38  $VERSION = sprintf("%d.%02d", q$Revision Line 38  $VERSION = sprintf("%d.%02d", q$Revision
   
 use strict;  use strict;
   
 my $confdir='/etc/httpd/conf/';  my @confdirs=('/etc/httpd/conf/','/etc/apache2/');
   
 # ------------------- Subroutine read_conf: read LON-CAPA server configuration.  # ------------------- Subroutine read_conf: read LON-CAPA server configuration.
 # This subroutine reads PerlSetVar values out of specified web server  # This subroutine reads PerlSetVar values out of specified web server
 # configuration files.  # configuration files.
 sub read_conf {  sub read_conf {
     my (@conf_files)=@_;      my (@conf_files)=@_;
     my %perlvar;      my (%perlvar,%configdirs);
     foreach my $filename (@conf_files,'loncapa_apache.conf') {      foreach my $filename (@conf_files,'loncapa_apache.conf') {
  open(CONFIG,'<'.$confdir.$filename) or          my $configdir = '';
     die("Can't read $confdir$filename");          $configdirs{$filename} = [@confdirs];
  while (my $configline=<CONFIG>) {          while ($configdir eq '' && @{$configdirs{$filename}} > 0) {
     if ($configline =~ /^[^\#]*PerlSetVar/) {              my $testdir = shift(@{$configdirs{$filename}});
  my ($unused,$varname,$varvalue)=split(/\s+/,$configline);              if (-e $testdir.$filename) {
  chomp($varvalue);                  $configdir = $testdir;
  $perlvar{$varname}=$varvalue;              }
           }
           if ($configdir eq '') {
               die("Couldn't find a directory containing $filename");
           }
    &process_file($configdir.$filename,\%perlvar);
    if ($filename eq 'loncapa_apache.conf') {
       my @files = glob($configdir.'loncapa_apache_local*.conf');
       foreach my $file (@files) {
    &process_file($file,\%perlvar);
     }      }
  }   }
  close(CONFIG);  
     }      }
     my $perlvarref=\%perlvar;      return (\%perlvar);
     return ($perlvarref);  }
   
   # --------------- Subroutine process_file: helper routine 
   # This subroutine does the actual file reading and reads PerlSetVar discovery
   # specified file, arguments are the filename and a ref to a hash to
   # place the values in
   sub process_file {
       my ($file,$perlvar) = @_;
       open(my $config,'<',$file) or
    die("Can't read $file");
       while (my $configline=<$config>) {
    if ($configline =~ /^[^\#]*PerlSetVar/) {
       my ($unused,$varname,$varvalue)=split(/\s+/,$configline);
       chomp($varvalue);
       $perlvar->{$varname}=$varvalue;
    }
       }
       close($config);
 }  }
   
 #---------------------- Subroutine read_hosts: Read a LON-CAPA hosts.tab  #---------------------- Subroutine read_hosts: Read a LON-CAPA hosts.tab

Removed from v.1.12  
changed lines
  Added in v.1.14


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>