--- loncom/cgi/loncron.pl 2004/05/11 21:46:21 1.5 +++ loncom/cgi/loncron.pl 2008/12/25 01:56:03 1.7 @@ -1,7 +1,7 @@ #!/usr/bin/perl $|=1; # Runs loncron -# $Id: loncron.pl,v 1.5 2004/05/11 21:46:21 albertel Exp $ +# $Id: loncron.pl,v 1.7 2008/12/25 01:56:03 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -25,14 +25,48 @@ $|=1; # # http://www.lon-capa.org/ # -print "Content-type: text/html\n\n". - "
\n"; -open (DFH,"/home/httpd/perl/loncron --noemail|"); -while ($line="; -print ""; -print "";) { - print "$line"; + +use strict; + +use lib '/home/httpd/lib/perl/'; +use Apache::lonlocal; +use LONCAPA::Configuration; +use LONCAPA::loncgi; +use LONCAPA::lonauthcgi; + +print("Content-type: text/html\n\n"); + +&main(); + +sub main { + if (!&LONCAPA::lonauthcgi::check_ipbased_access('loncron')) { + 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('loncron')) { + &Apache::lonlocal::get_language_handle(); + print(&LONCAPA::lonauthcgi::unauthorized_msg('loncron')); + return; + } + } + + &Apache::lonlocal::get_language_handle(); + print ' '. + &Apache::lonlocal::mt('Running loncron ...').'
'. + &Apache::lonlocal::mt('Please be patient').''."\n"; + open (DFH,"/home/httpd/perl/loncron --noemail|"); + while (my $line=) { + print "$line"; + } + close(DFH); + print ' '.&Apache::lonlocal::mt('Status Report'). + '
'; + print ''; + print ''; + return; } -close(DFH); -print "