--- loncom/configuration/Configuration.pm 2002/05/03 23:57:19 1.1 +++ loncom/configuration/Configuration.pm 2003/02/03 18:03:52 1.8 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Configuration file reader # -# $Id: Configuration.pm,v 1.1 2002/05/03 23:57:19 harris41 Exp $ +# $Id: Configuration.pm,v 1.8 2003/02/03 18:03:52 harris41 Exp $ # # # Copyright Michigan State University Board of Trustees @@ -27,36 +27,44 @@ # http://www.lon-capa.org/ # # YEAR=2002 -# 05/03 Scott Harrison # ### +# POD documentation is at the end of this short module. + package LONCAPA::Configuration; -$VERSION = sprintf("%d.%02d", q$Revision: 1.1 $ =~ /(\d+)\.(\d+)/); +$VERSION = sprintf("%d.%02d", q$Revision: 1.8 $ =~ /(\d+)\.(\d+)/); use strict; my $confdir='/etc/httpd/conf/'; -# ------------------------------------ read_conf: read LON-CAPA server configuration, especially PerlSetVar values -sub read_conf { +# ------------------- Subroutine read_conf: read LON-CAPA server configuration. +# This subroutine reads PerlSetVar values out of specified web server +# configuration files. +sub read_conf + { my (@conf_files)=@_; my %perlvar; - foreach my $filename (@conf_files) { - open(CONFIG,'<'.$confdir.$filename) or die("Can't read access.conf"); - while (my $configline=) { - if ($configline =~ /^[^\#]*PerlSetVar/) { + foreach my $filename (@conf_files,'loncapa_apache.conf') + { + open(CONFIG,'<'.$confdir.$filename) or + die("Can't read $confdir$filename"); + while (my $configline=) + { + if ($configline =~ /^[^\#]*PerlSetVar/) + { my ($unused,$varname,$varvalue)=split(/\s+/,$configline); chomp($varvalue); $perlvar{$varname}=$varvalue; - } - } + } + } close(CONFIG); - } + } my $perlvarref=\%perlvar; return ($perlvarref); -} + } __END__ @@ -71,21 +79,15 @@ B - configuratio use lib '/home/httpd/lib/perl/'; use LONCAPA::Configuration; - LONCAPA::Configuration::read_conf('access.conf','loncapa.conf'); - -In the future, standard invocation of the command will be: - LONCAPA::Configuration::read_conf('loncapa.conf'); -F is slowly becoming deprecated. (We are currently -trying to support backwards compatibility.) - =head1 DESCRIPTION -Many different parts of the LON-CAPA software need to read in the machine-specific -configuration information. These included scripts controlling the TCP/IP layer -(e.g. F and F), testing scripts (e.g. test_weblayer.pl and sqltest.pl), -and utility scripts (e.g. clusterstatus.pl and metadata_keywords.pl). +Many different parts of the LON-CAPA software need to read in the +machine-specific configuration information. These included scripts +controlling the TCP/IP layer (e.g. F and F), testing scripts +(e.g. test_weblayer.pl and sqltest.pl), and utility scripts +(e.g. clusterstatus.pl and metadata_keywords.pl). The following methods are available: @@ -104,14 +106,12 @@ have been initialized from the configura in the arguments. If multiple file names define the same hash key, then priority is -given toward the last file name processed. +given toward the B file name processed. =back =head1 AUTHORS -Scott Harrison - This library is free software; you can redistribute it and/or modify it under the same terms as LON-CAPA itself.