version 1.60, 2014/02/11 19:11:30
|
version 1.61, 2016/03/02 14:14:21
|
Line 315 sub parmval {
|
Line 315 sub parmval {
|
$symb = $self->{'symb'} if (! defined($symb)); |
$symb = $self->{'symb'} if (! defined($symb)); |
# |
# |
my $result=''; |
my $result=''; |
|
my @recurseup; |
# |
# |
# This should be a |
# This should be a |
if (!defined($mapname) || !defined($id) || !defined($fn)) { |
if (!defined($mapname) || !defined($id) || !defined($fn)) { |
Line 327 sub parmval {
|
Line 328 sub parmval {
|
$what =~ s/\_([^\_]+)$/\.$1/; |
$what =~ s/\_([^\_]+)$/\.$1/; |
# |
# |
my $symbparm = $symb.'.'.$what; |
my $symbparm = $symb.'.'.$what; |
|
my $recurseparm=$mapname.'___(rec).'.$what; |
my $mapparm = $mapname.'___(all).'.$what; |
my $mapparm = $mapname.'___(all).'.$what; |
my $courseprefix = $self->{'cid'}; |
my $courseprefix = $self->{'cid'}; |
my $usercourseprefix = $uname.'_'.$udom.'_'.$self->{'cid'}; |
my $usercourseprefix = $uname.'_'.$udom.'_'.$self->{'cid'}; |
# |
# |
my $seclevel = $courseprefix.'.['.$csec.'].'.$what; |
my $seclevel = $courseprefix.'.['.$csec.'].'.$what; |
my $seclevelr = $courseprefix.'.['.$csec.'].'.$symbparm; |
my $seclevelr = $courseprefix.'.['.$csec.'].'.$symbparm; |
|
my $secleveli = $courseprefix.'.['.$csec.'].'.$recurseparm; |
my $seclevelm = $courseprefix.'.['.$csec.'].'.$mapparm; |
my $seclevelm = $courseprefix.'.['.$csec.'].'.$mapparm; |
# |
# |
my $courselevel = $courseprefix.'.'.$what; |
my $courselevel = $courseprefix.'.'.$what; |
my $courselevelr = $courseprefix.'.'.$symbparm; |
my $courselevelr = $courseprefix.'.'.$symbparm; |
|
my $courseleveli = $courseprefix.'.'.$recurseparm; |
my $courselevelm = $courseprefix.'.'.$mapparm; |
my $courselevelm = $courseprefix.'.'.$mapparm; |
# |
# |
my $ucourselevel = $usercourseprefix.'.'.$what; |
my $ucourselevel = $usercourseprefix.'.'.$what; |
my $ucourselevelr = $usercourseprefix.'.'.$symbparm; |
my $ucourselevelr = $usercourseprefix.'.'.$symbparm; |
|
my $ucourseleveli = $usercourseprefix.'.'.$recurseparm; |
my $ucourselevelm = $usercourseprefix.'.'.$mapparm; |
my $ucourselevelm = $usercourseprefix.'.'.$mapparm; |
# check user |
# check user |
if (defined($uname)) { |
if (defined($uname)) { |
return $useropt{$ucourselevelr} if (defined($useropt{$ucourselevelr})); |
return $useropt{$ucourselevelr} if (defined($useropt{$ucourselevelr})); |
return $useropt{$ucourselevelm} if (defined($useropt{$ucourselevelm})); |
return $useropt{$ucourselevelm} if (defined($useropt{$ucourselevelm})); |
|
return $useropt{$ucourseleveli} if (defined($useropt{$ucourseleveli})); |
|
unless (@recurseup > 0) { |
|
@recurseup = &Apache::lonnet::get_map_hierarchy($mapname); |
|
} |
|
foreach my $item (@recurseup) { |
|
my $norecursechk=$usercourseprefix.'.'.$item.'___(all).'.$what; |
|
last if (defined($useropt{$norecursechk})); |
|
my $recursechk=$usercourseprefix.'.'.$item.'___(rec).'.$what; |
|
return $useropt{$recursechk} if (defined($useropt{$recursechk})); |
|
} |
return $useropt{$ucourselevel} if (defined($useropt{$ucourselevel})); |
return $useropt{$ucourselevel} if (defined($useropt{$ucourselevel})); |
} |
} |
# check groups |
# check groups |
if (defined($groups) && ref($groups) eq 'ARRAY') { |
if (defined($groups) && ref($groups) eq 'ARRAY') { |
foreach my $group (@{$groups}) { |
foreach my $group (@{$groups}) { |
foreach my $level ($symbparm,$mapparm,$what) { |
foreach my $level ($symbparm,$mapparm,$recurseparm,$what) { |
my $item = $courseprefix.'.['.$group.'].'.$level; |
my $item = $courseprefix.'.['.$group.'].'.$level; |
|
if ($level eq $what) { |
|
unless (@recurseup > 0) { |
|
@recurseup = &Apache::lonnet::get_map_hierarchy($mapname); |
|
} |
|
foreach my $item (@recurseup) { |
|
my $norecursechk=$courseprefix.'.['.$group.'].'.$item.'___(all).'.$what; |
|
last if (defined($courseopt{$norecursechk})); |
|
my $recursechk=$courseprefix.'.['.$group.'].'.$item.'___(rec).'.$what; |
|
return $courseopt{$recursechk} if (defined($courseopt{$recursechk})); |
|
} |
|
} |
if (defined($courseopt{$item})) { |
if (defined($courseopt{$item})) { |
return $courseopt{$item}; |
return $courseopt{$item}; |
} |
} |
Line 363 sub parmval {
|
Line 389 sub parmval {
|
if (defined($csec)) { |
if (defined($csec)) { |
return $courseopt{$seclevelr} if (defined($courseopt{$seclevelr})); |
return $courseopt{$seclevelr} if (defined($courseopt{$seclevelr})); |
return $courseopt{$seclevelm} if (defined($courseopt{$seclevelm})); |
return $courseopt{$seclevelm} if (defined($courseopt{$seclevelm})); |
|
return $courseopt{$secleveli} if (defined($courseopt{$secleveli})); |
|
unless (@recurseup > 0) { |
|
@recurseup = &Apache::lonnet::get_map_hierarchy($mapname); |
|
} |
|
foreach my $item (@recurseup) { |
|
my $norecursechk=$courseprefix.'.['.$csec.'].'.$item.'___(all).'.$what; |
|
last if (defined($courseopt{$norecursechk})); |
|
my $recursechk=$courseprefix.'.['.$csec.'].'.$item.'___(rec).'.$what; |
|
return $courseopt{$recursechk} if (defined($courseopt{$secleveli})); |
|
} |
return $courseopt{$seclevel} if (defined($courseopt{$seclevel})); |
return $courseopt{$seclevel} if (defined($courseopt{$seclevel})); |
} |
} |
# |
# |
Line 376 sub parmval {
|
Line 412 sub parmval {
|
return $thisparm if (defined($thisparm)); |
return $thisparm if (defined($thisparm)); |
# check more course |
# check more course |
return $courseopt{$courselevelm} if (defined($courseopt{$courselevelm})); |
return $courseopt{$courselevelm} if (defined($courseopt{$courselevelm})); |
|
return $courseopt{$courseleveli} if (defined($courseopt{$courseleveli})); |
|
unless (@recurseup > 0) { |
|
@recurseup = &Apache::lonnet::get_map_hierarchy($mapname); |
|
} |
|
foreach my $item (@recurseup) { |
|
my $norecursechk=$courseprefix.'.'.$item.'___(all).'.$what; |
|
last if (defined($courseopt{$norecursechk})); |
|
my $recursechk=$courseprefix.'.'.$item.'___(rec).'.$what; |
|
return $courseopt{$recursechk} if (defined($courseopt{$recursechk})); |
|
} |
return $courseopt{$courselevel} if (defined($courseopt{$courselevel})); |
return $courseopt{$courselevel} if (defined($courseopt{$courselevel})); |
|
|
# Cascade Up |
# Cascade Up |