version 1.391, 2003/07/16 20:13:17
|
version 1.392, 2003/07/18 19:50:28
|
Line 1936 sub rolesinit {
|
Line 1936 sub rolesinit {
|
my ($tdummy,$tdomain,$trest)=split(/\//,$area); |
my ($tdummy,$tdomain,$trest)=split(/\//,$area); |
if ($trole =~ /^cr\//) { |
if ($trole =~ /^cr\//) { |
my ($rdummy,$rdomain,$rauthor,$rrole)=split(/\//,$trole); |
my ($rdummy,$rdomain,$rauthor,$rrole)=split(/\//,$trole); |
my $homsvr=homeserver($rauthor,$rdomain); |
my $homsvr=homeserver($rauthor,$rdomain); |
if ($hostname{$homsvr} ne '') { |
if ($hostname{$homsvr} ne '') { |
my $roledef= |
my ($rdummy,$roledef)= |
reply("get:$rdomain:$rauthor:roles:rolesdef_$rrole", |
&get('roles',["rolesdef_$rrole"],$rdomain,$rauthor); |
$homsvr); |
|
if (($roledef ne 'con_lost') && ($roledef ne '')) { |
if (($rdummy ne 'con_lost') && ($roledef ne '')) { |
my ($syspriv,$dompriv,$coursepriv)= |
my ($syspriv,$dompriv,$coursepriv)= |
split(/\_/,unescape($roledef)); |
split(/\_/,$roledef); |
if (defined($syspriv)) { |
if (defined($syspriv)) { |
$allroles{'cm./'}.=':'.$syspriv; |
$allroles{'cm./'}.=':'.$syspriv; |
$allroles{$spec.'./'}.=':'.$syspriv; |
$allroles{$spec.'./'}.=':'.$syspriv; |
Line 2521 sub is_on_map {
|
Line 2521 sub is_on_map {
|
sub definerole { |
sub definerole { |
if (allowed('mcr','/')) { |
if (allowed('mcr','/')) { |
my ($rolename,$sysrole,$domrole,$courole)=@_; |
my ($rolename,$sysrole,$domrole,$courole)=@_; |
foreach (split('/',$sysrole)) { |
foreach (split(':',$sysrole)) { |
my ($crole,$cqual)=split(/\&/,$_); |
my ($crole,$cqual)=split(/\&/,$_); |
if ($pr{'cr:s'}!~/$crole/) { return "refused:s:$crole"; } |
if ($pr{'cr:s'}!~/$crole/) { return "refused:s:$crole"; } |
if ($pr{'cr:s'}=~/$crole\&/) { |
if ($pr{'cr:s'}=~/$crole\&/) { |
Line 2530 sub definerole {
|
Line 2530 sub definerole {
|
} |
} |
} |
} |
} |
} |
foreach (split('/',$domrole)) { |
foreach (split(':',$domrole)) { |
my ($crole,$cqual)=split(/\&/,$_); |
my ($crole,$cqual)=split(/\&/,$_); |
if ($pr{'cr:d'}!~/$crole/) { return "refused:d:$crole"; } |
if ($pr{'cr:d'}!~/$crole/) { return "refused:d:$crole"; } |
if ($pr{'cr:d'}=~/$crole\&/) { |
if ($pr{'cr:d'}=~/$crole\&/) { |
Line 2539 sub definerole {
|
Line 2539 sub definerole {
|
} |
} |
} |
} |
} |
} |
foreach (split('/',$courole)) { |
foreach (split(':',$courole)) { |
my ($crole,$cqual)=split(/\&/,$_); |
my ($crole,$cqual)=split(/\&/,$_); |
if ($pr{'cr:c'}!~/$crole/) { return "refused:c:$crole"; } |
if ($pr{'cr:c'}!~/$crole/) { return "refused:c:$crole"; } |
if ($pr{'cr:c'}=~/$crole\&/) { |
if ($pr{'cr:c'}=~/$crole\&/) { |