--- loncom/interface/lonnavmaps.pm 2020/01/16 22:00:10 1.509.2.11.2.1
+++ loncom/interface/lonnavmaps.pm 2020/05/02 21:40:02 1.509.2.13
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Navigate Maps Handler
#
-# $Id: lonnavmaps.pm,v 1.509.2.11.2.1 2020/01/16 22:00:10 raeburn Exp $
+# $Id: lonnavmaps.pm,v 1.509.2.13 2020/05/02 21:40:02 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
@@ -577,7 +577,11 @@ sub getLinkForResource {
my $anchor;
if ($res->is_page()) {
foreach my $item (@$stack) { if (defined($item)) { $anchor = $item; } }
- $anchor=&escape($anchor->shown_symb());
+ if ($anchor->encrypted() && !&advancedUser()) {
+ $anchor='LC_'.$anchor->id();
+ } else {
+ $anchor=&escape($anchor->shown_symb());
+ }
return ($res->link(),$res->shown_symb(),$anchor);
}
# in case folder was skipped over as "only sequence"
@@ -1937,7 +1941,7 @@ END
$currentJumpDelta) {
# Jam the anchor after the
tag;
# necessary for valid HTML (which Mozilla requires)
- $colHTML =~ s/\>/\>\/;
+ $colHTML =~ s/\>/\>\\<\/a\>/;
$displayedJumpMarker = 1;
}
$result .= $colHTML . "\n";
@@ -3795,7 +3799,8 @@ sub next {
# That ends the main iterator logic. Now, do we want to recurse
# down this map (if this resource is a map)?
if ( ($self->{HERE}->is_sequence() || (!$closeAllPages && $self->{HERE}->is_page())) &&
- (defined($self->{FILTER}->{$self->{HERE}->map_pc()}) xor $self->{CONDITION})) {
+ (defined($self->{FILTER}->{$self->{HERE}->map_pc()}) xor $self->{CONDITION}) &&
+ ($env{'request.role.adv'} || !$self->{HERE}->randomout())) {
$self->{RECURSIVE_ITERATOR_FLAG} = 1;
my $firstResource = $self->{HERE}->map_start();
my $finishResource = $self->{HERE}->map_finish();
@@ -4814,12 +4819,11 @@ sub duedate {
my $date;
my @interval=$self->parmval("interval", $part);
my $due_date=$self->parmval("duedate", $part);
- if ($interval[0] =~ /^(\d+)/) {
- my $timelimit = $1;
- my $first_access=&Apache::lonnet::get_first_access($interval[1],
- $self->{SYMB});
+ if ($interval[0] =~ /\d+/) {
+ my $first_access=&Apache::lonnet::get_first_access($interval[1],
+ $self->{SYMB});
if (defined($first_access)) {
- my $interval = $first_access+$timelimit;
+ my $interval = $first_access+$interval[0];
$date = (!$due_date || $interval < $due_date) ? $interval
: $due_date;
} else {
|