File:  [LON-CAPA] / loncom / cgi / lonversions.pl
Revision 1.10: download - view: text, annotated - select for diffs
Fri Jul 11 00:31:09 2014 UTC (9 years, 9 months ago) by raeburn
Branches: MAIN
CVS tags: version_2_12_X, version_2_11_X, version_2_11_4_uiuc, version_2_11_4_msu, version_2_11_4, version_2_11_3_uiuc, version_2_11_3_msu, version_2_11_3, version_2_11_2_uiuc, version_2_11_2_msu, version_2_11_2_educog, version_2_11_2, version_2_11_1, HEAD
- Include a trailing space in regexp used to extract 'Id: ' line to
  exclude spurious matches from Checksumming.pm

    1: #!/usr/bin/perl
    2: $|=1;
    3: # Prints out the Id line from most files
    4: # $Id: lonversions.pl,v 1.10 2014/07/11 00:31:09 raeburn Exp $
    5: #
    6: # Copyright Michigan State University Board of Trustees
    7: #
    8: # This file is part of the LearningOnline Network with CAPA (LON-CAPA).
    9: #
   10: # LON-CAPA is free software; you can redistribute it and/or modify
   11: # it under the terms of the GNU General Public License as published by
   12: # the Free Software Foundation; either version 2 of the License, or
   13: # (at your option) any later version.
   14: #
   15: # LON-CAPA is distributed in the hope that it will be useful,
   16: # but WITHOUT ANY WARRANTY; without even the implied warranty of
   17: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   18: # GNU General Public License for more details.
   19: #
   20: # You should have received a copy of the GNU General Public License
   21: # along with LON-CAPA; if not, write to the Free Software
   22: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   23: #
   24: # /home/httpd/html/adm/gpl.txt
   25: #
   26: # http://www.lon-capa.org/
   27: #
   28: 
   29: use strict;
   30: 
   31: use lib '/home/httpd/lib/perl/';
   32: use Apache::lonlocal;
   33: use LONCAPA::Configuration;
   34: use LONCAPA::loncgi;
   35: use LONCAPA::lonauthcgi;
   36: 
   37: my $perlvar=&LONCAPA::Configuration::read_conf();
   38: my ($londaemons,$lonlib,$londocroot,$lonincludes); 
   39: if (ref($perlvar) eq 'HASH') {
   40:     $londaemons = $perlvar->{'lonDaemons'};
   41:     $lonlib = $perlvar->{'lonLib'};
   42:     $londocroot = $perlvar->{'lonDocRoot'};
   43:     $lonincludes = $perlvar->{'lonIncludes'};
   44: }
   45: undef($perlvar);
   46: 
   47: print &LONCAPA::loncgi::cgi_header('text/html',1);
   48: if ($londaemons ne '' && $lonlib ne '' && $londocroot ne '' && $lonincludes ne '') {
   49:     &main($londaemons,$lonlib,$londocroot,$lonincludes);
   50: }
   51: 
   52: sub main {
   53:     my ($londaemons,$lonlib,$londocroot,$lonincludes) = @_;
   54:     if (!&LONCAPA::lonauthcgi::check_ipbased_access('codeversions')) {
   55:         if (!&LONCAPA::loncgi::check_cookie_and_load_env()) {
   56:             &Apache::lonlocal::get_language_handle();
   57:             print(&LONCAPA::loncgi::missing_cookie_msg());
   58:             return;
   59:         }
   60: 
   61:         if (!&LONCAPA::lonauthcgi::can_view('codeversions')) {
   62:             &Apache::lonlocal::get_language_handle();
   63:             print(&LONCAPA::lonauthcgi::unauthorized_msg('codeversions'));
   64:             return;
   65:         }
   66:     }
   67: 
   68:     &Apache::lonlocal::get_language_handle();
   69:     &print_versions($londaemons,$lonlib,$londocroot,$lonincludes);
   70:     return;
   71: }
   72: 
   73: sub print_versions {
   74:     my ($londaemons,$lonlib,$londocroot,$lonincludes) = @_;
   75:     print '<html><body bgcolor="#FFFFFF"><h1>'.&Apache::lonlocal::mt('Handler Versions').'</h1>'.
   76:           "<pre>\n";
   77:     my $revtag = '$Id: ';
   78:     open (DFH, "grep '$revtag' $londaemons/* $lonlib/perl/Apache/*.pm $lonlib/perl/LONCAPA/*.pm $lonincludes/* $londocroot/res/adm/pages/* |");
   79:     while (my $line=<DFH>) {
   80:         chomp($line); 
   81:         unless ($line =~ /\Q.lpmlsave:# \E\$Id/) { 
   82:             print "$line\n";
   83:         }
   84:     }
   85:     close(DFH);
   86:     print '</pre></body></html>';
   87: }

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