Annotation of rat/lonpage.pm, revision 1.1
1.1 ! www 1: # The LearningOnline Network with CAPA
! 2: # Page Handler
! 3: #
! 4: # (TeX Content Handler
! 5: #
! 6: # 05/29/00,05/30 Gerd Kortemeyer)
! 7: # 08/30 Gerd Kortemeyer
! 8:
! 9: package Apache::lonpage;
! 10:
! 11: use strict;
! 12: use Apache::Constants qw(:common :http);
! 13: use Apache::lonnet();
! 14: use GDBM_File;
! 15:
! 16: # ================================================================ Main Handler
! 17:
! 18: sub handler {
! 19: my $r=shift;
! 20:
! 21: # ----------------------------------------------------------- Set document type
! 22:
! 23: if ($ENV{'browser.mathml'}) {
! 24: $r->content_type('text/xml');
! 25: } else {
! 26: $r->content_type('text/html');
! 27: }
! 28: $r->send_http_header;
! 29:
! 30: return OK if $r->header_only;
! 31:
! 32: my $requrl=$r->uri;
! 33: # ----------------------------------------------------------------- Tie db file
! 34: if ($ENV{'request.course.fn'}) {
! 35: my $fn=$ENV{'request.course.fn'};
! 36: if (-e "$fn.db") {
! 37: my %hash;
! 38: if (tie(%hash,'GDBM_File',"$fn.db",&GDBM_WRCREAT,0640)) {
! 39: # ------------------------------------------------------------------- Hash tied
! 40: my $firstres=$hash{'map_start_'.$requrl};
! 41: my $lastres=$hash{'map_finish_'.$requrl};
! 42: if (($firstres) && ($lastres)) {
! 43: # ----------------------------------------------------------------- Render page
! 44:
! 45: $r->print("<h2>All is cool.</h2>");
! 46:
! 47: # ------------------------------------------------------------- End render page
! 48: } else {
! 49: $r->print("<h2>Page undefined.</h2>");
! 50: }
! 51: # ------------------------------------------------------------------ Untie hash
! 52: unless (untie(%hash)) {
! 53: &Apache::lonnet::logthis("<font color=blue>WARNING: ".
! 54: "Could not untie coursemap $fn (browse).</font>");
! 55: }
! 56: # -------------------------------------------------------------------- All done
! 57: return OK;
! 58: # ----------------------------------------------- Errors, hash could no be tied
! 59: }
! 60: }
! 61: }
! 62: $ENV{'user.error.msg'}="$requrl:bre:1:1:Course not initialized";
! 63: return HTTP_NOT_ACCEPTABLE;
! 64: }
! 65:
! 66: 1;
! 67: __END__
! 68:
! 69:
! 70:
! 71:
! 72:
! 73:
! 74:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>