--- loncom/cgi/loncron.pl 2004/05/11 21:46:21 1.5 +++ loncom/cgi/loncron.pl 2008/11/28 20:50:25 1.6 @@ -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.6 2008/11/28 20:50:25 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -25,14 +25,47 @@ $|=1; # # http://www.lon-capa.org/ # -print "Content-type: text/html\n\n". - "

Running loncron ...

". - "Please be patient

\n";
-open (DFH,"/home/httpd/perl/loncron --noemail|");
-while ($line=) { 
-   print "$line"; 
+
+use strict;
+
+use lib '/home/httpd/lib/perl/';
+use Apache::lonlocal;
+use LONCAPA::Configuration;
+use LONCAPA::loncgi;
+
+print("Content-type: text/html\n\n");
+
+&main();
+
+sub main {
+    if (!&LONCAPA::loncgi::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::loncgi::can_view('loncron')) {
+            &Apache::lonlocal::get_language_handle();
+            print(&LONCAPA::loncgi::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 '

'.&Apache::lonlocal::mt('LONC report.'). + '

'; + print '

'.&Apache::lonlocal::mt('LOND report'). + '

'; + return; } -close(DFH); -print "

Status Report

"; -print "

LONC report

"; -print "

LOND report

";