Diff for /loncom/cgi/takeoffline.pl between versions 1.2 and 1.3

version 1.2, 2003/09/11 20:54:11 version 1.3, 2008/11/28 20:50:25
Line 1 Line 1
 #!/usr/bin/perl  #!/usr/bin/perl
   $|=1;
 # Take machine offline, reroute traffic  # Take machine offline, reroute traffic
 #  #
 # $Id$  # $Id$
Line 26 Line 27
 # http://www.lon-capa.org/  # http://www.lon-capa.org/
 #  #
   
 print "Content-type: text/html\n\n".  use strict;
       "<html><body bgcolor=#FFFFFF><h1>Take Offline</h1>";  use lib '/home/httpd/lib/perl/';
 unless ($ENV{'QUERY_STRING'}) {  use Apache::lonlocal;
     print 'No reroute server given, taking completely offline.';  use LONCAPA::loncgi;
     &dead();  
 } else {  print "Content-type: text/html\n\n";
     ($otherserver,$domain)=split(/\&/,$ENV{'QUERY_STRING'});  
     print 'Rerouting to '.$otherserver;  &main();
     &reroute();  
 }  sub main {
 open (STATUS,'>/home/httpd/html/lon-status/reroute.txt');      if (!&LONCAPA::loncgi::check_ipbased_access('takeoffline')) {
 print STATUS "status=rerouting&server=$otherserver&domain=$domain&time=".time."\n";          if (!&LONCAPA::loncgi::check_cookie_and_load_env()) {
 close(STATUS);              &Apache::lonlocal::get_language_handle();
               print(&LONCAPA::loncgi::missing_cookie_msg());
               return;
           }
   
 print "</body></html>";          if (!&LONCAPA::loncgi::can_view('takeoffline')) {
               &Apache::lonlocal::get_language_handle();
               print(&LONCAPA::loncgi::unauthorized_msg('takeoffline'));
               return;
           }
       }
   
       &Apache::lonlocal::get_language_handle();
   
       print '<html><body bgcolor="#FFFFFF"><h1>'.&Apache::lonlocal::mt('Take Offline').'</h1>';
       my $statusmsg;
       if ($ENV{'QUERY_STRING'}) {
           my ($otherserver,$domain)=split(/\&/,$ENV{'QUERY_STRING'});
           if (&reroute($otherserver,$domain)) {
               print &Apache::lonlocal::mt('Rerouting to [_1]',$otherserver);
               $statusmsg = "status=rerouting&server=$otherserver&domain=$domain&time=".time.
                            "by=$Apache::lonnet::env{'user.name'}:$Apache::lonnet::env{'user.domain'}";
           }
       } else {
           if (&dead()) {
               print &Apache::lonlocal::mt('No reroute server given, taking completely offline.');
               $statusmsg = 'status=offline&time='.time."by=$Apache::lonnet::env{'user.name'}:$Apache::lonnet::env{'user.domain'}"
           }
       }
       print "</body></html>";
       if ($statusmsg) {
           if (open (STATUS,'>/home/httpd/html/lon-status/reroute.txt')) {
               print STATUS "$statusmsg\n";
               close(STATUS);
           } else {
               print &Apache::lonlocal::mt('Logging of status change to [_1] failed.','reroute.txt'); 
           }
       }
   }
   
 sub dead {  sub dead {
     open (OUT,'>/home/httpd/html/index.html');      if (open (OUT,'>/home/httpd/html/index.html')) {
     print OUT 'This LON-CAPA server is currently offline.';          print OUT &Apache::lonlocal::mt('This LON-CAPA server is currently offline.');
     close(OUT);          close(OUT);
           return 'ok';
       }
       return;
 }  }
   
 sub reroute {  sub reroute {
     open (OUT,'>/home/httpd/html/index.html');      my ($otherserver,$domain) = @_;
     print OUT (<<ENDNEWINDEX);      if (open (OUT,'>/home/httpd/html/index.html')) {
           print OUT (<<ENDNEWINDEX);
 <html>  <html>
  <head>   <head>
   <title>Welcome to the LearningOnline Network with CAPA</title>    <title>Welcome to the LearningOnline Network with CAPA</title>
Line 63  sub reroute { Line 104  sub reroute {
 </body>  </body>
 </html>  </html>
 ENDNEWINDEX  ENDNEWINDEX
    close(OUT);         close(OUT);
          return 'ok';
       }
       return;
 }  }

Removed from v.1.2  
changed lines
  Added in v.1.3


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