--- loncom/interface/lonnavmaps.pm 2005/12/05 21:37:19 1.349.2.2 +++ loncom/interface/lonnavmaps.pm 2005/12/02 23:06:02 1.352 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Navigate Maps Handler # -# $Id: lonnavmaps.pm,v 1.349.2.2 2005/12/05 21:37:19 albertel Exp $ +# $Id: lonnavmaps.pm,v 1.352 2005/12/02 23:06:02 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2475,6 +2475,12 @@ sub parmval_real { my $cid=$env{'request.course.id'}; my $csec=$env{'request.course.sec'}; + my $cgroup=''; + my @cgrps=split(/:/,$env{'request.course.groups'}); + if (@cgrps > 0) { + @cgrps = sort(@cgrps); + $cgroup = $cgrps[0]; + } my $uname=$env{'user.name'}; my $udom=$env{'user.domain'}; @@ -2492,6 +2498,10 @@ sub parmval_real { my $mapparm=$mapname.'___(all).'.$what; my $usercourseprefix=$cid; + my $grplevel=$usercourseprefix.'.['.$cgroup.'].'.$what; + my $grplevelr=$usercourseprefix.'.['.$cgroup.'].'.$symbparm; + my $grplevelm=$usercourseprefix.'.['.$cgroup.'].'.$mapparm; + my $seclevel= $usercourseprefix.'.['.$csec.'].'.$what; my $seclevelr=$usercourseprefix.'.['.$csec.'].'.$symbparm; my $seclevelm=$usercourseprefix.'.['.$csec.'].'.$mapparm; @@ -2512,6 +2522,12 @@ sub parmval_real { } # ------------------------------------------------------- second, check course + if ($cgroup ne '' and defined($courseopt)) { + if (defined($$courseopt{$grplevelr})) { return $$courseopt{$grplevelr}; } + if (defined($$courseopt{$grplevelm})) { return $$courseopt{$grplevelm}; } + if (defined($$courseopt{$grplevel})) { return $$courseopt{$grplevel}; } + } + if ($csec and defined($courseopt)) { if (defined($$courseopt{$seclevelr})) { return $$courseopt{$seclevelr}; } if (defined($$courseopt{$seclevelm})) { return $$courseopt{$seclevelm}; } @@ -2624,15 +2640,19 @@ sub getResourceByUrl { if (ref($resUrl)) { return $resUrl; } $resUrl = &Apache::lonnet::clutter($resUrl); + if (defined($multiple)) { + if ($multiple) { + my @resIds = $self->{NAV_HASH}->{'ids_' . $resUrl}; + } + } my $resId = $self->{NAV_HASH}->{'ids_' . $resUrl}; if (!$resId) { return ''; } if ($multiple) { my @resources = (); my @resIds = split (/,/, $resId); foreach my $id (@resIds) { - my $resourceId = $self->getById($id); - if ($resourceId) { - push(@resources,$resourceId); + if ($id) { + push(@resources,$self->getById($id)); } } return @resources;