--- loncom/interface/lonnavmaps.pm 2002/09/24 02:41:21 1.52 +++ loncom/interface/lonnavmaps.pm 2002/11/03 21:05:03 1.97 @@ -1,7 +1,8 @@ + # The LearningOnline Network with CAPA # Navigate Maps Handler # -# $Id: lonnavmaps.pm,v 1.52 2002/09/24 02:41:21 bowersj2 Exp $ +# $Id: lonnavmaps.pm,v 1.97 2002/11/03 21:05:03 bowersj2 Exp $ # # Copyright Michigan State University Board of Trustees # @@ -44,8 +45,8 @@ use strict; use Apache::Constants qw(:common :http); use Apache::lonnet(); use Apache::loncommon(); -use HTML::TokeParser; use GDBM_File; +use POSIX qw (floor strftime); # -------------------------------------------------------------- Module Globals my %hash; @@ -124,32 +125,32 @@ sub parmval { my $courselevelm=$usercourseprefix.'.'.$mapparm; # ---------------------------------------------------------- first, check user - if ($uname) { - if ($useropt{$courselevelr}) { return $useropt{$courselevelr}; } - if ($useropt{$courselevelm}) { return $useropt{$courselevelm}; } - if ($useropt{$courselevel}) { return $useropt{$courselevel}; } + if (defined($uname)) { + if (defined($useropt{$courselevelr})) { return $useropt{$courselevelr}; } + if (defined($useropt{$courselevelm})) { return $useropt{$courselevelm}; } + if (defined($useropt{$courselevel})) { return $useropt{$courselevel}; } } # ------------------------------------------------------- second, check course - if ($csec) { - if ($courseopt{$seclevelr}) { return $courseopt{$seclevelr}; } - if ($courseopt{$seclevelm}) { return $courseopt{$seclevelm}; } - if ($courseopt{$seclevel}) { return $courseopt{$seclevel}; } + if (defined($csec)) { + if (defined($courseopt{$seclevelr})) { return $courseopt{$seclevelr}; } + if (defined($courseopt{$seclevelm})) { return $courseopt{$seclevelm}; } + if (defined($courseopt{$seclevel})) { return $courseopt{$seclevel}; } } - if ($courseopt{$courselevelr}) { return $courseopt{$courselevelr}; } - if ($courseopt{$courselevelm}) { return $courseopt{$courselevelm}; } - if ($courseopt{$courselevel}) { return $courseopt{$courselevel}; } + if (defined($courseopt{$courselevelr})) { return $courseopt{$courselevelr}; } + if (defined($courseopt{$courselevelm})) { return $courseopt{$courselevelm}; } + if (defined($courseopt{$courselevel})) { return $courseopt{$courselevel}; } # ----------------------------------------------------- third, check map parms my $thisparm=$parmhash{$symbparm}; - if ($thisparm) { return $thisparm; } + if (defined($thisparm)) { return $thisparm; } # ----------------------------------------------------- fourth , check default my $default=&Apache::lonnet::metadata($fn,$rwhat.'.default'); - if ($default) { return $default} + if (defined($default)) { return $default} # --------------------------------------------------- fifth , cascade up parts @@ -159,10 +160,10 @@ sub parmval { my ($part,$id)=split(/\_/,$space); if ($id) { my $partgeneral=&parmval($part.".$qualifier",$symb); - if ($partgeneral) { return $partgeneral; } + if (defined($partgeneral)) { return $partgeneral; } } else { my $resourcegeneral=&parmval("0.$qualifier",$symb); - if ($resourcegeneral) { return $resourcegeneral; } + if (defined($resourcegeneral)) { return $resourcegeneral; } } } return ''; @@ -819,13 +820,63 @@ sub new_handle { &Apache::loncommon::no_cache($r); $r->send_http_header; + # Create the nav map 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; + } + # Header $r->print(&Apache::loncommon::bodytag('Navigate Course Map','', '')); - # Initialize the nav map - my $navmap = Apache::lonnavmaps::navmap->new( - $ENV{"request.course.fn"}.".db", - $ENV{"request.course.fn"}."_parms.db", 1); + $r->print(''); + my $desc=$ENV{'course.'.$ENV{'request.course.id'}.'.description'}; + $r->print('
Key: | '); + 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('