--- loncom/interface/lonnavmaps.pm 2004/10/07 22:12:47 1.300
+++ loncom/interface/lonnavmaps.pm 2021/07/14 03:58:17 1.552
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Navigate Maps Handler
#
-# $Id: lonnavmaps.pm,v 1.300 2004/10/07 22:12:47 albertel Exp $
+# $Id: lonnavmaps.pm,v 1.552 2021/07/14 03:58:17 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -27,687 +27,40 @@
#
###
-package Apache::lonnavmaps;
-
-use strict;
-use Apache::Constants qw(:common :http);
-use Apache::loncommon();
-use Apache::lonmenu();
-use Apache::lonlocal;
-use POSIX qw (floor strftime);
-use Data::Dumper; # for debugging, not always
-
-# symbolic constants
-sub SYMB { return 1; }
-sub URL { return 2; }
-sub NOTHING { return 3; }
-
-# Some data
-
-my $resObj = "Apache::lonnavmaps::resource";
-
-# Keep these mappings in sync with lonquickgrades, which uses the colors
-# instead of the icons.
-my %statusIconMap =
- (
- $resObj->CLOSED => '',
- $resObj->OPEN => 'navmap.open.gif',
- $resObj->CORRECT => 'navmap.correct.gif',
- $resObj->INCORRECT => 'navmap.wrong.gif',
- $resObj->ATTEMPTED => 'navmap.ellipsis.gif',
- $resObj->ERROR => ''
- );
-
-my %iconAltTags =
- ( 'navmap.correct.gif' => 'Correct',
- 'navmap.wrong.gif' => 'Incorrect',
- 'navmap.open.gif' => 'Open' );
-
-# Defines a status->color mapping, null string means don't color
-my %colormap =
- ( $resObj->NETWORK_FAILURE => '',
- $resObj->CORRECT => '',
- $resObj->EXCUSED => '#3333FF',
- $resObj->PAST_DUE_ANSWER_LATER => '',
- $resObj->PAST_DUE_NO_ANSWER => '',
- $resObj->ANSWER_OPEN => '#006600',
- $resObj->OPEN_LATER => '',
- $resObj->TRIES_LEFT => '',
- $resObj->INCORRECT => '',
- $resObj->OPEN => '',
- $resObj->NOTHING_SET => '',
- $resObj->ATTEMPTED => '',
- $resObj->ANSWER_SUBMITTED => ''
- );
-# 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 = "#FF0000";
-
-sub launch_win {
- my ($mode,$script,$toplinkitems)=@_;
- my $result;
- if ($script ne 'no') {
- $result.='';
- }
- if ($mode eq 'link') {
- &add_linkitem($toplinkitems,'launchnav','launch_navmapwin()',
- "Launch navigation window");
- }
- return $result;
-}
-
-sub close {
- if ($ENV{'environment.remotenavmap'} ne 'on') { return ''; }
- return(<
-window.status='Accessing Nav Control';
-menu=window.open("/adm/rat/empty.html","loncapanav",
- "height=600,width=400,scrollbars=1");
-window.status='Closing Nav Control';
-menu.close();
-window.status='Done.';
-
-ENDCLOSE
-}
-
-sub nav_control_js {
- my $nav=($ENV{'environment.remotenavmap'} eq 'on');
- return (<
-
-ENDUPDATE
-}
-
-sub handler {
- my $r = shift;
- real_handler($r);
-}
-
-sub real_handler {
- my $r = shift;
-
- # Handle header-only request
- if ($r->header_only) {
- if ($ENV{'browser.mathml'}) {
- &Apache::loncommon::content_type($r,'text/xml');
- } else {
- &Apache::loncommon::content_type($r,'text/html');
- }
- $r->send_http_header;
- return OK;
- }
-
- # Send header, don't cache this page
- if ($ENV{'browser.mathml'}) {
- &Apache::loncommon::content_type($r,'text/xml');
- } else {
- &Apache::loncommon::content_type($r,'text/html');
- }
- &Apache::loncommon::no_cache($r);
- $r->send_http_header;
-
- my %toplinkitems=();
-
- if ($ENV{QUERY_STRING} eq 'collapseExternal') {
- &Apache::lonnet::put('environment',{'remotenavmap' => 'off'});
- &Apache::lonnet::appenv('environment.remotenavmap' => 'off');
- my $menu=&Apache::lonmenu::reopenmenu();
- my $navstatus=&Apache::lonmenu::get_nav_status();
- if ($menu) {
- $menu=(<