--- loncom/interface/lonnavmaps.pm 2005/12/22 21:09:15 1.349.2.3 +++ loncom/interface/lonnavmaps.pm 2005/12/05 19:30:22 1.353 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Navigate Maps Handler # -# $Id: lonnavmaps.pm,v 1.349.2.3 2005/12/22 21:09:15 albertel Exp $ +# $Id: lonnavmaps.pm,v 1.353 2005/12/05 19:30:22 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2265,25 +2265,6 @@ sub get_user_data { $self->{RETRIEVED_USER_DATA} = 1; } -sub get_discussion_data { - my $self = shift; - if ($self->{RETRIEVED_DISCUSSION_DATA}) { - return $self->{DISCUSSION_DATA}; - } - - my $cid=$env{'request.course.id'}; - my $cdom=$env{'course.'.$cid.'.domain'}; - my $cnum=$env{'course.'.$cid.'.num'}; - - # Retrieve discussion data for resources in course - my %discussion_data = &Apache::lonnet::dump($cid,$cdom,$cnum); - - $self->{DISCUSSION_DATA} = \%discussion_data; - $self->{RETRIEVED_DISCUSSION_DATA} = 1; - return $self->{DISCUSSION_DATA}; -} - - # Internal function: Takes a key to look up in the nav hash and implements internal # memory caching of that key. sub navhash { @@ -2494,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'}; @@ -2511,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; @@ -2531,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}; }