--- loncom/interface/lonnavmaps.pm 2002/10/07 21:07:47 1.68
+++ loncom/interface/lonnavmaps.pm 2002/10/29 20:20:45 1.92
@@ -1,7 +1,8 @@
+
# The LearningOnline Network with CAPA
# Navigate Maps Handler
#
-# $Id: lonnavmaps.pm,v 1.68 2002/10/07 21:07:47 bowersj2 Exp $
+# $Id: lonnavmaps.pm,v 1.92 2002/10/29 20:20:45 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;
@@ -819,10 +820,10 @@ sub new_handle {
&Apache::loncommon::no_cache($r);
$r->send_http_header;
- # Initialize the nav map
+ # 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);
+ $ENV{"request.course.fn"}."_parms.db", 1, 1);
if (!defined($navmap)) {
@@ -842,16 +843,15 @@ sub new_handle {
$r->rflush();
if ($navmap->{LAST_CHECK}) {
$r->print(' New discussion since '.
- timeToHumanString($navmap->{LAST_CHECK}).
+ 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)
'); } - #if (($currenturl=~/^\/res/) && - # ($currenturl!~/^\/res\/adm/)) { - # $r->print('Current Location
');
- #}
+
+ # Now that we've displayed some stuff to the user, init the navmap
+ $navmap->init();
# Check that it's defined
if (!($navmap->courseMapDefined())) {
@@ -879,7 +879,7 @@ sub new_handle {
$res->NOTHING_SET => '' );
# And a special case in the nav map; what to do when the assignment
# is not yet done and due in less then 24 hours
- my $hurryUpColor = "#FFCCCC";
+ my $hurryUpColor = "#FF0000";
my %statusIconMap =
( $res->NETWORK_FAILURE => '',
@@ -892,7 +892,13 @@ sub new_handle {
$res->OPEN_LATER => '',
$res->TRIES_LEFT => 'navmap.open.gif',
$res->INCORRECT => 'navmap.wrong.gif',
- $res->OPEN => 'navmap.open.gif' );
+ $res->OPEN => 'navmap.open.gif',
+ $res->ATTEMPTED => 'navmap.open.gif' );
+
+ my %iconAltTags =
+ ( 'navmap.correct.gif' => 'Correct',
+ 'navmap.wrong.gif' => 'Incorrect',
+ 'navmap.open.gif' => 'Open' );
my %condenseStatuses =
( $res->NETWORK_FAILURE => 1,
@@ -907,33 +913,133 @@ sub new_handle {
}
}
+ # Is this a new-style course? If so, we want to suppress showing the top-level
+ # maps in their own folders, in favor of "inlining" them.
+ my $topResource = $navmap->getById("0.0");
+ my $inlineTopLevelMaps = $topResource->src() =~ m|^/uploaded/.*default\.sequence$|;
+
my $currenturl = $ENV{'form.postdata'};
$currenturl=~s/^http\:\/\///;
$currenturl=~s/^[^\/]+//;
- my $queryAdd = "postdata=" . &Apache::lonnet::escape($currenturl);
-
- $r->print('Show All Resources
');
-
- # Begin the HTML table
- # four cols: resource + indent, chat+feedback, icon, text string
- $r->print('