version 1.51, 2005/10/12 21:29:49
|
version 1.52, 2006/04/06 20:24:13
|
Line 290 Returns: The value of a parameter, or ''
|
Line 290 Returns: The value of a parameter, or ''
|
|
|
This function cascades through the possible levels searching for a value for |
This function cascades through the possible levels searching for a value for |
a parameter. The levels are checked in the following order: |
a parameter. The levels are checked in the following order: |
user, course (at section level and course level), map, and lonnet::metadata. |
user, course (at group, section level and course level), map, and |
|
lonnet::metadata. |
This function uses %parmhash, which must be tied prior to calling it. |
This function uses %parmhash, which must be tied prior to calling it. |
This function also requires %courseopt and %useropt to be initialized for |
This function also requires %courseopt and %useropt to be initialized for |
this user and course. |
this user and course. |
Line 301 this user and course.
|
Line 302 this user and course.
|
################################################## |
################################################## |
sub parmval { |
sub parmval { |
my $self = shift; |
my $self = shift; |
my ($what,$symb,$uname,$udom,$csec,$recurse,$mapname,$id,$fn)=@_; |
my ($what,$symb,$uname,$udom,$csec,$recurse,$mapname,$id,$fn,$cgroup)=@_; |
$uname = $self->{'name'} if (! defined($uname)); |
$uname = $self->{'name'} if (! defined($uname)); |
$udom = $self->{'domain'} if (! defined($udom)); |
$udom = $self->{'domain'} if (! defined($udom)); |
$csec = $self->{'section'} if (! defined($csec)); |
$csec = $self->{'section'} if (! defined($csec)); |
$symb = $self->{'symb'} if (! defined($symb)); |
$cgroup = $self->{'group'} if (! defined($cgroup)); |
|
$symb = $self->{'symb'} if (! defined($symb)); |
# |
# |
my $result=''; |
my $result=''; |
# |
# |
Line 323 sub parmval {
|
Line 325 sub parmval {
|
my $courseprefix = $self->{'cid'}; |
my $courseprefix = $self->{'cid'}; |
my $usercourseprefix = $uname.'_'.$udom.'_'.$self->{'cid'}; |
my $usercourseprefix = $uname.'_'.$udom.'_'.$self->{'cid'}; |
# |
# |
|
my $grplevel=$courseprefix.'.['.$cgroup.'].'.$what; |
|
my $grplevelr=$courseprefix.'.['.$cgroup.'].'.$symbparm; |
|
my $grplevelm=$courseprefix.'.['.$cgroup.'].'.$mapparm; |
|
# |
my $seclevel = $courseprefix.'.['.$csec.'].'.$what; |
my $seclevel = $courseprefix.'.['.$csec.'].'.$what; |
my $seclevelr = $courseprefix.'.['.$csec.'].'.$symbparm; |
my $seclevelr = $courseprefix.'.['.$csec.'].'.$symbparm; |
my $seclevelm = $courseprefix.'.['.$csec.'].'.$mapparm; |
my $seclevelm = $courseprefix.'.['.$csec.'].'.$mapparm; |
Line 334 sub parmval {
|
Line 340 sub parmval {
|
my $ucourselevel = $usercourseprefix.'.'.$what; |
my $ucourselevel = $usercourseprefix.'.'.$what; |
my $ucourselevelr = $usercourseprefix.'.'.$symbparm; |
my $ucourselevelr = $usercourseprefix.'.'.$symbparm; |
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{$ucourselevel} if (defined($useropt{$ucourselevel})); |
return $useropt{$ucourselevel} if (defined($useropt{$ucourselevel})); |
} |
} |
|
# check group |
|
if (defined($cgroup)) { |
|
return $courseopt{$grplevelr} if (defined($courseopt{$grplevelr})); |
|
return $courseopt{$grplevelm} if (defined($courseopt{$grplevelm})); |
|
return $courseopt{$grplevel} if (defined($courseopt{$grplevel})); |
|
} |
# check section |
# check section |
if (defined($csec)) { |
if (defined($csec)) { |
return $courseopt{$seclevelr} if (defined($courseopt{$seclevelr})); |
return $courseopt{$seclevelr} if (defined($courseopt{$seclevelr})); |