Diff for /loncom/auth/londatecheck.pm between versions 1.1 and 1.14

version 1.1, 2004/05/31 20:24:11 version 1.14, 2017/12/22 02:00:53
Line 1 Line 1
   # Checks contentopen/close settings disable subsequent PerlHandlers if not open
   # $Id$
   #
   # Copyright Michigan State University Board of Trustees
   #
   # This file is part of the LearningOnline Network with CAPA (LON-CAPA).
   #
   # LON-CAPA is free software; you can redistribute it and/or modify
   # it under the terms of the GNU General Public License as published by
   # the Free Software Foundation; either version 2 of the License, or
   # (at your option) any later version.
   #
   # LON-CAPA is distributed in the hope that it will be useful,
   # but WITHOUT ANY WARRANTY; without even the implied warranty of
   # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   # GNU General Public License for more details.
   #
   # You should have received a copy of the GNU General Public License
   # along with LON-CAPA; if not, write to the Free Software
   # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   #
   # /home/httpd/html/adm/gpl.txt
   #
   # http://www.lon-capa.org/
   #
   
 use strict;  use strict;
 package Apache::londatecheck;  package Apache::londatecheck;
 use Apache::lonnet();  use Apache::lonnet;
   use Apache::lonlocal;
   use Apache::loncommon();
 use Apache::Constants qw(:common :http :methods);  use Apache::Constants qw(:common :http :methods);
   
 sub content_date_check {  sub content_date_check {
     my $symb=$ENV{'request.symb'};      my $symb=$env{'request.symb'};
     my $open=&Apache::lonnet::EXT('resource.0.contentopen',$symb);      my $open=&Apache::lonnet::EXT('resource.0.contentopen',$symb);
     &Apache::lonnet::logthis("Hrrm got an open of $open");  
     my $close=&Apache::lonnet::EXT('resource.0.contentclose',$symb);      my $close=&Apache::lonnet::EXT('resource.0.contentclose',$symb);
     if ( (defined($open)  && time < $open) ||      if ( (defined($open)  && $open  ne '' && time < $open) ) {
  (defined($close) && time > $close)) {   return ('CLOSED',$open,$close,
  return ('CLOSED',$open,$close);   '<p class="LC_warning">'.&mt('Not open to be viewed').'</p>'.
    &mt("This resource currently isn't open. ".
       "It will be available at [_1].",
       &Apache::lonlocal::locallocaltime($open)));
       }
       if ( (defined($close) && $close ne '' && time > $close) ) {
    return ('CLOSED',$open,$close,
    '<p class="LC_warning">'.&mt('Not open to be viewed').'</p>'.
    &mt("This resource is no longer available to be viewed."));
     }      }
     return ('OPEN',$open,$close);      return ('OPEN',$open,$close);
 }  }
   
 sub handler {  sub handler {
     my ($r)=@_;      my ($r)=@_;
     my ($status)=&content_date_check();      if (&Apache::lonnet::allowed('bre',$r->uri) eq 'F') {
    return DECLINED;
       }
       if (($r->uri =~ /ext\.tool$/) &&
           (&Apache::lonnet::EXT('resource.0.gradable',$env{'request.symb'}) =~ /^yes$/i)) {
           return DECLINED;
       }
       my ($status,$open,$close,$msg)=&content_date_check();
     if ($status ne 'OPEN') {      if ($status ne 'OPEN') {
  $r->set_handlers('PerlHandler'=>undef);   $r->set_handlers('PerlHandler'=>undef);
  &Apache::loncommon::content_type($r,'text/html');   &Apache::loncommon::content_type($r,'text/html');
  $r->send_http_header;   $r->send_http_header;
  return OK if $r->header_only;   return OK if $r->header_only;
  $r->print('<html><head><title>Go Away!</title>');   my $start_page =
  my $addentries=' onLoad="'.&Apache::lonmenu::loadevents().      &Apache::loncommon::start_page('Not Open',undef,
     '" onUnload="'.&Apache::lonmenu::unloadevents().'"';     {'bgcolor'        => '#FFFFFF',
  $r->print(&Apache::lonmenu::registerurl(1));      'force_register' => 1,});
  $r->print('</head>'.   my $end_page   =
   &Apache::loncommon::bodytag('Go Away!','',$addentries,'','',      &Apache::loncommon::end_page({'discussion' => 1});
       undef));   $r->print($start_page.$msg.$end_page);
  $r->print('</body></html>');  
  $r->print("Go Away!");   return OK;
     }      }
     return OK;      return DECLINED;
 }  }
 1;  1;

Removed from v.1.1  
changed lines
  Added in v.1.14


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