version 1.47, 2000/10/20 10:57:46
|
version 1.48, 2000/10/25 10:55:46
|
Line 66
|
Line 66
|
# 08/22,08/28,08/31,09/01,09/02,09/04,09/05,09/25,09/28,09/30 Gerd Kortemeyer |
# 08/22,08/28,08/31,09/01,09/02,09/04,09/05,09/25,09/28,09/30 Gerd Kortemeyer |
# 10/04 Gerd Kortemeyer |
# 10/04 Gerd Kortemeyer |
# 10/04 Guy Albertelli |
# 10/04 Guy Albertelli |
# 10/06,10/09,10/10,10/11,10/14,10/20 Gerd Kortemeyer |
# 10/06,10/09,10/10,10/11,10/14,10/20,10/23,10/25 Gerd Kortemeyer |
|
|
package Apache::lonnet; |
package Apache::lonnet; |
|
|
Line 1026 sub condval {
|
Line 1026 sub condval {
|
# --------------------------------------------------------- Value of a Variable |
# --------------------------------------------------------- Value of a Variable |
|
|
sub varval { |
sub varval { |
my ($realm,$space,@components)=split(/\./,shift); |
my $varname=shift; |
my $value=''; |
my ($realm,$space,$qualifier,@therest)=split(/\./,$varname); |
|
my $rest; |
|
if ($therest[0]) { |
|
$rest=join('.',@therest); |
|
} else { |
|
$rest=''; |
|
} |
if ($realm eq 'user') { |
if ($realm eq 'user') { |
if ($space=~/^resource/) { |
# --------------------------------------------------------------- user.resource |
$space=~s/^resource\[//; |
if ($space eq 'resource') { |
$space=~s/\]$//; |
# ----------------------------------------------------------------- user.access |
|
} elsif ($space eq 'access') { |
|
return &allowed($qualifier,$rest); |
|
# ------------------------------------------ user.preferences, user.environment |
|
} elsif (($space eq 'preferences') || ($space eq 'environment')) { |
|
return $ENV{join('.',('environment',$qualifier,$rest))}; |
|
# ----------------------------------------------------------------- user.course |
|
} elsif ($space eq 'course') { |
|
return $ENV{join('.',('request.course',$qualifier))}; |
|
# ------------------------------------------------------------------- user.role |
|
} elsif ($space eq 'role') { |
|
my ($role,$where)=split(/\./,$ENV{'request.role'}); |
|
if ($qualifier eq 'value') { |
|
return $role; |
|
} elsif ($qualifier eq 'extent') { |
|
return $where; |
|
} |
|
# ----------------------------------------------------------------- user.domain |
|
} elsif ($space eq 'domain') { |
|
return $ENV{'user.domain'}; |
|
# ------------------------------------------------------------------- user.name |
|
} elsif ($space eq 'name') { |
|
return $ENV{'user.name'}; |
|
# ---------------------------------------------------- Any other user namespace |
} else { |
} else { |
|
my $item=($rest)?$qualifier.'.'.$rest:$qualifier; |
|
my %reply=&get($space,$item); |
|
return $reply{$item}; |
|
} |
|
} elsif ($realm eq 'request') { |
|
# ------------------------------------------------------------- request.browser |
|
if ($space eq 'browser') { |
|
return $ENV{'browser.'.$qualifier}; |
|
} elsif ($space eq 'filename') { |
|
return $ENV{'request.filename'}; |
} |
} |
} elsif ($realm eq 'course') { |
} elsif ($realm eq 'course') { |
} elsif ($realm eq 'session') { |
# ---------------------------------------------------------- course.description |
|
if ($space eq 'description') { |
|
return &coursedescription($ENV{'request.course.id'}); |
|
# ------------------------------------------------------------------- course.id |
|
} elsif ($space eq 'id') { |
|
return $ENV{'request.course.id'}; |
|
# -------------------------------------------------- Any other course namespace |
|
} else { |
|
my ($cdom,$cnam)=split(/\_/,$ENV{'request.course.id'}); |
|
my $chome=&homeserver($cnam,$cdom); |
|
my $item=join('.',($qualifier,$rest)); |
|
return &unescape |
|
(&reply('get:'.$cdom.':'.$cnam.':'.&escape($space).':'. |
|
&escape($item),$chome)); |
|
} |
|
} elsif ($realm eq 'userdata') { |
|
my $uhome=&homeserver($qualifier,$space); |
|
# ----------------------------------------------- userdata.domain.name.resource |
|
# ---------------------------------------------------- Any other user namespace |
|
} elsif ($realm eq 'environment') { |
|
# ----------------------------------------------------------------- environment |
|
return $ENV{join('.',($space,$qualifier,$rest))}; |
} elsif ($realm eq 'system') { |
} elsif ($realm eq 'system') { |
|
# ----------------------------------------------------------------- system.time |
|
if ($space eq 'time') { |
|
return time; |
|
} |
} |
} |
return $value; |
return ''; |
} |
} |
|
|
# ------------------------------------------------- Update symbolic store links |
# ------------------------------------------------- Update symbolic store links |