--- loncom/cgi/lonversions.pl 2003/09/01 03:37:27 1.3 +++ loncom/cgi/lonversions.pl 2011/11/07 20:50:02 1.9 @@ -1,7 +1,7 @@ #!/usr/bin/perl $|=1; -# Prints ut the Id line from most files -# $Id: lonversions.pl,v 1.3 2003/09/01 03:37:27 albertel Exp $ +# Prints out the Id line from most files +# $Id: lonversions.pl,v 1.9 2011/11/07 20:50:02 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -26,13 +26,62 @@ $|=1; # http://www.lon-capa.org/ # -print "Content-type: text/html\n\n". - "
\n"; -open (DFH, -"grep '\$Id' /home/httpd/perl/* /home/httpd/lib/perl/Apache/*.pm /home/httpd/html/res/adm/includes/* /home/httpd/html/res/adm/pages/*|"); -while ($line=";) { - print "$line"; +use strict; + +use lib '/home/httpd/lib/perl/'; +use Apache::lonlocal; +use LONCAPA::Configuration; +use LONCAPA::loncgi; +use LONCAPA::lonauthcgi; + +my $perlvar=&LONCAPA::Configuration::read_conf(); +my ($londaemons,$lonlib,$londocroot,$lonincludes); +if (ref($perlvar) eq 'HASH') { + $londaemons = $perlvar->{'lonDaemons'}; + $lonlib = $perlvar->{'lonLib'}; + $londocroot = $perlvar->{'lonDocRoot'}; + $lonincludes = $perlvar->{'lonIncludes'}; +} +undef($perlvar); + +print &LONCAPA::loncgi::cgi_header('text/html',1); +if ($londaemons ne '' && $lonlib ne '' && $londocroot ne '' && $lonincludes ne '') { + &main($londaemons,$lonlib,$londocroot,$lonincludes); +} + +sub main { + my ($londaemons,$lonlib,$londocroot,$lonincludes) = @_; + if (!&LONCAPA::lonauthcgi::check_ipbased_access('codeversions')) { + if (!&LONCAPA::loncgi::check_cookie_and_load_env()) { + &Apache::lonlocal::get_language_handle(); + print(&LONCAPA::loncgi::missing_cookie_msg()); + return; + } + + if (!&LONCAPA::lonauthcgi::can_view('codeversions')) { + &Apache::lonlocal::get_language_handle(); + print(&LONCAPA::lonauthcgi::unauthorized_msg('codeversions')); + return; + } + } + + &Apache::lonlocal::get_language_handle(); + &print_versions($londaemons,$lonlib,$londocroot,$lonincludes); + return; +} + +sub print_versions { + my ($londaemons,$lonlib,$londocroot,$lonincludes) = @_; + print ' '.&Apache::lonlocal::mt('Handler Versions').'
'. + "\n"; + my $revtag = ''; + open (DFH, "grep '$revtag' $londaemons/* $lonlib/perl/Apache/*.pm $lonlib/perl/LONCAPA/*.pm $lonincludes/* $londocroot/res/adm/pages/* |"); + while (my $line='; } -close(DFH); -print ") { + chomp($line); + unless ($line =~ /\Q.lpmlsave:# \E\$Id/) { + print "$line\n"; + } + } + close(DFH); + print '