--- loncom/cgi/lonversions.pl 2003/09/06 17:23:29 1.4 +++ loncom/cgi/lonversions.pl 2011/11/07 20:41:06 1.8 @@ -1,7 +1,7 @@ #!/usr/bin/perl $|=1; -# Prints ut the Id line from most files -# $Id: lonversions.pl,v 1.4 2003/09/06 17:23:29 albertel Exp $ +# Prints out the Id line from most files +# $Id: lonversions.pl,v 1.8 2011/11/07 20:41:06 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -26,13 +26,61 @@ $|=1; # http://www.lon-capa.org/ # -print "Content-type: text/html\n\n". - "

Handler Versions

". - "
\n";
-open (DFH,
-"grep '\' /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";
+    open (DFH, "grep '\$Id: lonversions.pl,v 1.8 2011/11/07 20:41:06 raeburn Exp $londaemons/* $lonlib/perl/Apache/*.pm $lonlib/perl/LONCAPA/*.pm $lonincludes/* $londocroot/res/adm/pages/* |");
+    while (my $line=) {
+        chomp($line); 
+        unless ($line =~ /\Q.lpmlsave:# \E\$Id/) { 
+            print "$line\n";
+        }
+    }
+    close(DFH);
+    print '
'; } -close(DFH); -print "
";