--- loncom/interface/lonnavmaps.pm 2002/02/28 19:45:14 1.27 +++ loncom/interface/lonnavmaps.pm 2003/01/14 17:19:27 1.129 @@ -1,7 +1,8 @@ + # The LearningOnline Network with CAPA # Navigate Maps Handler # -# $Id: lonnavmaps.pm,v 1.27 2002/02/28 19:45:14 albertel Exp $ +# $Id: lonnavmaps.pm,v 1.129 2003/01/14 17:19:27 bowersj2 Exp $ # # Copyright Michigan State University Board of Trustees # @@ -36,62 +37,1227 @@ # 3/1/1,6/1,17/1,29/1,30/1,2/8,9/21,9/24,9/25 Gerd Kortemeyer # YEAR=2002 # 1/1 Gerd Kortemeyer -# +# Oct-Nov Jeremy Bowers package Apache::lonnavmaps; use strict; use Apache::Constants qw(:common :http); -use Apache::lonnet(); use Apache::loncommon(); -use HTML::TokeParser; +use POSIX qw (floor strftime); + +sub handler { + my $r = shift; + real_handler($r); +} + +sub real_handler { + my $r = shift; + + &Apache::loncommon::get_unprocessed_cgi($ENV{QUERY_STRING}); + + # Handle header-only request + if ($r->header_only) { + if ($ENV{'browser.mathml'}) { + $r->content_type('text/xml'); + } else { + $r->content_type('text/html'); + } + $r->send_http_header; + return OK; + } + + # Send header, don't cache this page + if ($ENV{'browser.mathml'}) { + $r->content_type('text/xml'); + } else { + $r->content_type('text/html'); + } + &Apache::loncommon::no_cache($r); + $r->send_http_header; + + # Create the nav map + my $navmap = Apache::lonnavmaps::navmap->new( + $ENV{"request.course.fn"}.".db", + $ENV{"request.course.fn"}."_parms.db", 1, 1); + + + if (!defined($navmap)) { + my $requrl = $r->uri; + $ENV{'user.error.msg'} = "$requrl:bre:0:0:Course not initialized"; + return HTTP_NOT_ACCEPTABLE; + } + + $r->print("
\n"); + $r->print("Key: | '); + + # Print discussions and feedback header + if ($navmap->{LAST_CHECK}) { + $r->print(''. + ' New discussion since '. + strftime("%A, %b %e at %I:%M %P", localtime($navmap->{LAST_CHECK})). + ' | '.
+ ' New message (click to open) '. + ' | ');
+ } else {
+ $r->print(''. + ' Discussions | '. + ' New message (click to open)'. + ' | '); + } + $r->print('