--- loncom/interface/lonnavmaps.pm 2024/10/14 01:13:27 1.564
+++ loncom/interface/lonnavmaps.pm 2025/02/03 00:08:31 1.569
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Navigate Maps Handler
#
-# $Id: lonnavmaps.pm,v 1.564 2024/10/14 01:13:27 raeburn Exp $
+# $Id: lonnavmaps.pm,v 1.569 2025/02/03 00:08:31 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1120,7 +1120,7 @@ sub render_resource {
}
# Decide what to display
- $result .= "$newBranchText$linkopen$icon$linkclose";
+ $result .= "$newBranchText$linkopen$icon";
my $curMarkerBegin = '';
my $curMarkerEnd = '';
@@ -1160,7 +1160,7 @@ sub render_resource {
$linkopen = "";
}
}
- $result .= "$curMarkerBegin$linkopen$title$partLabel$linkclose$curMarkerEnd$editmapLink$nonLinkedText";
+ $result .= "$curMarkerBegin$title$partLabel$curMarkerEnd$linkclose$editmapLink$nonLinkedText";
return $result;
}
@@ -1594,27 +1594,18 @@ sub render {
my $printKey = $args->{'printKey'};
my $printCloseAll = $args->{'printCloseAll'};
if (!defined($printCloseAll)) { $printCloseAll = 1; }
-
+
# Print key?
if ($printKey) {
- $result .= '
';
+ my $location = &Apache::loncommon::lonhttpdurl("/adm/lonMisc");
+ $result .= ''.
+ 'Key: | '.
+ ' '.
+ ' '.&mt('Unread Discussion').
+ ' | '.
+ ' '.
+ &mt('New message (click to open)').
+ ' |
'."\n";
}
if ($printCloseAll && !$args->{'resource_no_folder_link'}) {
@@ -2290,10 +2281,17 @@ sub new {
$self->{USERNAME} = shift || $env{'user.name'};
$self->{DOMAIN} = shift || $env{'user.domain'};
+ $self->{SECTION} = shift;
$self->{CODE} = shift;
- $self->{NOHIDE} = shift;
+ $self->{NOHIDE} = shift;
+ if (($self->{SECTION} eq '') && ($env{'request.course.sec'} ne '')) {
+ if (($self->{USERNAME} eq $env{'user.name'}) &&
+ ($self->{USERNAME} eq $env{'user.domain'})) {
+ $self->{SECTION} = $env{'request.course.sec'};
+ }
+ }
# Resource cache stores navmap resources as we reference them. We generate
# them on-demand so we don't pay for creating resources unless we use them.
@@ -2335,7 +2333,7 @@ sub new {
$self->{PARM_HASH} = \%parmhash;
$self->{PARM_CACHE} = {};
} else {
- $self->change_user($self->{USERNAME}, $self->{DOMAIN}, $self->{CODE}, $self->{NOHIDE});
+ $self->change_user($self->{USERNAME}, $self->{DOMAIN}, $self->{SECTION}, $self->{CODE}, $self->{NOHIDE});
}
return $self;
@@ -2346,15 +2344,17 @@ sub new {
# username/domain associated with a navmap (e.g. to navigate for someone
# else besides the current user...if sufficiently privileged.
# Parameters:
-# user - New user.
-# domain- Domain the user belongs to.
-# code - Anonymous CODE in use.
+# user - New user.
+# domain - Domain to which the user belongs.
+# section - Section to which the user belongs.
+# code - Anonymous CODE in use.
# Implicit inputs:
#
sub change_user {
my $self = shift;
$self->{USERNAME} = shift;
$self->{DOMAIN} = shift;
+ $self->{SECTION} = shift;
$self->{CODE} = shift;
$self->{NOHIDE} = shift;
@@ -2861,7 +2861,7 @@ sub parmval_real {
$self->generate_course_user_opt();
my $cid=$env{'request.course.id'};
- my $csec=$env{'request.course.sec'};
+ my $csec=$self->{SECTION};
my $cgroup='';
my @cgrps=split(/:/,$env{'request.course.groups'});
if (@cgrps > 0) {
@@ -3050,7 +3050,7 @@ sub parmval_real {
}
sub recurseup_maps {
- my ($self,$mapname) = @_;
+ my ($self,$mapname,$getsymb) = @_;
my @recurseup;
if ($mapname) {
my $res = $self->getResourceByUrl($mapname);
@@ -3058,7 +3058,11 @@ sub recurseup_maps {
my @pcs = split(/,/,$res->map_hierarchy());
shift(@pcs);
if (@pcs) {
- @recurseup = map { &Apache::lonnet::declutter($self->getByMapPc($_)->src()); } reverse(@pcs);
+ if ($getsymb) {
+ @recurseup = map { &Apache::lonnet::declutter($self->getByMapPc($_)->symb()); } reverse(@pcs);
+ } else {
+ @recurseup = map { &Apache::lonnet::declutter($self->getByMapPc($_)->src()); } reverse(@pcs);
+ }
}
}
}
@@ -3186,7 +3190,7 @@ sub get_mapparam {
# Get the course id and section if there is one.
my $cid=$env{'request.course.id'};
- my $csec=$env{'request.course.sec'};
+ my $csec=$self->{SECTION};
my $cgroup='';
my @cgrps=split(/:/,$env{'request.course.groups'});
if (@cgrps > 0) {
@@ -3387,11 +3391,11 @@ sub getcourseparam {
my $uname = $self->{USERNAME};
my $udom = $self->{DOMAIN};
+ my $csec = $self->{SECTION};
- # Course, section, group ids come from the env:
+ # Course and group ids come from the env:
my $cid = $env{'request.course.id'};
- my $csec = $env{'request.course.sec'};
my $cgroup = ''; # Assume no group
my @cgroups = split(/:/, $env{'request.course.groups'});
@@ -5249,7 +5253,7 @@ sub weight {
my $weight = &Apache::lonnet::EXT('resource.'.$part.'.weight',
$self->{SYMB}, $self->{DOMAIN},
$self->{USERNAME},
- $env{'request.course.sec'});
+ $self->{SECTION});
return $weight;
}
sub part_display {