--- loncom/auth/londatecheck.pm 2004/06/01 14:40:59 1.2
+++ loncom/auth/londatecheck.pm 2005/04/25 21:40:33 1.10
@@ -1,5 +1,5 @@
# Checks contentopen/close settings disable subsequent PerlHandlers if not open
-# $Id: londatecheck.pm,v 1.2 2004/06/01 14:40:59 albertel Exp $
+# $Id: londatecheck.pm,v 1.10 2005/04/25 21:40:33 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -26,40 +26,50 @@
use strict;
package Apache::londatecheck;
-use Apache::lonnet();
+use Apache::lonnet;
+use Apache::lonlocal;
use Apache::Constants qw(:common :http :methods);
sub content_date_check {
- my $symb=$ENV{'request.symb'};
+ my $symb=$env{'request.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);
- if ( (defined($open) && $open ne '' && time < $open) ||
- (defined($close) && $close ne '' && time > $close)) {
- &Apache::lonnet::logthis(" returning CLOSED ");
- return ('CLOSED',$open,$close);
+ if ( (defined($open) && $open ne '' && time < $open) ) {
+ return ('CLOSED',$open,$close,
+ '
'.&mt('Not open to be viewed').'
'.
+ &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,
+ ''.&mt('Not open to be viewed').'
'.
+ &mt("This resource is no longer available to be viewed."));
}
return ('OPEN',$open,$close);
}
sub handler {
my ($r)=@_;
- my ($status)=&content_date_check();
+ if (&Apache::lonnet::allowed('bre',$r->uri) eq 'F') {
+ return DECLINED;
+ }
+ my ($status,$open,$close,$msg)=&content_date_check();
if ($status ne 'OPEN') {
$r->set_handlers('PerlHandler'=>undef);
&Apache::loncommon::content_type($r,'text/html');
$r->send_http_header;
return OK if $r->header_only;
- $r->print('Go Away!');
+ my $html=&Apache::lonxml::xmlbegin();
+ $r->print($html.''.&mt("Not Open").'');
my $addentries=' onLoad="'.&Apache::lonmenu::loadevents().
'" onUnload="'.&Apache::lonmenu::unloadevents().'"';
$r->print(&Apache::lonmenu::registerurl(1));
- $r->print(''.
- &Apache::loncommon::bodytag('Go Away!','',$addentries,'','',
- undef));
- $r->print('');
- $r->print("Go Away!");
+ $r->print(''.&Apache::structuretags::body_tag_start('web'));
+ $r->print($msg);
+ $r->print(&Apache::lonxml::xmlend().'