version 1.1041, 2009/11/05 16:04:22
|
version 1.1043, 2009/11/12 15:58:34
|
Line 3908 sub custom_roleprivs {
|
Line 3908 sub custom_roleprivs {
|
if (($rdummy ne 'con_lost') && ($roledef ne '')) { |
if (($rdummy ne 'con_lost') && ($roledef ne '')) { |
my ($syspriv,$dompriv,$coursepriv)=split(/\_/,$roledef); |
my ($syspriv,$dompriv,$coursepriv)=split(/\_/,$roledef); |
if (defined($syspriv)) { |
if (defined($syspriv)) { |
|
if ($trest =~ /^$match_community$/) { |
|
$syspriv =~ s/bre\&S//; |
|
} |
$$allroles{'cm./'}.=':'.$syspriv; |
$$allroles{'cm./'}.=':'.$syspriv; |
$$allroles{$spec.'./'}.=':'.$syspriv; |
$$allroles{$spec.'./'}.=':'.$syspriv; |
} |
} |
Line 5046 sub allowed {
|
Line 5049 sub allowed {
|
my $courseprivid=''; |
my $courseprivid=''; |
|
|
my $ownaccess; |
my $ownaccess; |
# Community Coordinator browsing resource space. |
# Community Coordinator or Assistant Co-author browsing resource space. |
if (($priv eq 'bro') && ($env{'user.author'})) { |
if (($priv eq 'bro') && ($env{'user.author'})) { |
if ($uri eq '') { |
if ($uri eq '') { |
$ownaccess = 1; |
$ownaccess = 1; |
Line 5065 sub allowed {
|
Line 5068 sub allowed {
|
if ($uri =~ m{^([^/]+)/?$}) { |
if ($uri =~ m{^([^/]+)/?$}) { |
my $adom = $1; |
my $adom = $1; |
foreach my $key (keys(%env)) { |
foreach my $key (keys(%env)) { |
if ($key =~ m{^user\.role\.ca/\Q$adom\E}) { |
if ($key =~ m{^user\.role\.(ca|aa)/\Q$adom\E}) { |
my ($start,$end) = split('.',$env{$key}); |
my ($start,$end) = split('.',$env{$key}); |
if (($now >= $start) && (!$end || $end < $now)) { |
if (($now >= $start) && (!$end || $end < $now)) { |
$ownaccess = 1; |
$ownaccess = 1; |
Line 5076 sub allowed {
|
Line 5079 sub allowed {
|
} elsif ($uri =~ m{^([^/]+)/([^/]+)/?}) { |
} elsif ($uri =~ m{^([^/]+)/([^/]+)/?}) { |
my $adom = $1; |
my $adom = $1; |
my $aname = $2; |
my $aname = $2; |
if ($env{"user.role.ca./$adom/$aname"}) { |
foreach my $role ('ca','aa') { |
my ($start,$end) = |
if ($env{"user.role.$role./$adom/$aname"}) { |
split('.',$env{"user.role.ca./$adom/$aname"}); |
my ($start,$end) = |
if (($now >= $start) && (!$end || $end < $now)) { |
split('.',$env{"user.role.$role./$adom/$aname"}); |
$ownaccess = 1; |
if (($now >= $start) && (!$end || $end < $now)) { |
|
$ownaccess = 1; |
|
last; |
|
} |
} |
} |
} |
} |
} |
} |
Line 5092 sub allowed {
|
Line 5098 sub allowed {
|
# Course |
# Course |
|
|
if ($env{'user.priv.'.$env{'request.role'}.'./'}=~/\Q$priv\E\&([^\:]*)/) { |
if ($env{'user.priv.'.$env{'request.role'}.'./'}=~/\Q$priv\E\&([^\:]*)/) { |
unless (($priv eq 'bro' && !$ownaccess)) { |
unless (($priv eq 'bro') && (!$ownaccess)) { |
$thisallowed.=$1; |
$thisallowed.=$1; |
} |
} |
} |
} |
Line 5101 sub allowed {
|
Line 5107 sub allowed {
|
|
|
if ($env{'user.priv.'.$env{'request.role'}.'./'.(split(/\//,$uri))[0].'/'} |
if ($env{'user.priv.'.$env{'request.role'}.'./'.(split(/\//,$uri))[0].'/'} |
=~/\Q$priv\E\&([^\:]*)/) { |
=~/\Q$priv\E\&([^\:]*)/) { |
unless (($priv eq 'bro' && !$ownaccess)) { |
unless (($priv eq 'bro') && (!$ownaccess)) { |
$thisallowed.=$1; |
$thisallowed.=$1; |
} |
} |
} |
} |
Line 5113 sub allowed {
|
Line 5119 sub allowed {
|
|
|
if ($env{'user.priv.'.$env{'request.role'}.'.'.$courseuri} |
if ($env{'user.priv.'.$env{'request.role'}.'.'.$courseuri} |
=~/\Q$priv\E\&([^\:]*)/) { |
=~/\Q$priv\E\&([^\:]*)/) { |
unless (($priv eq 'bro' && !$ownaccess)) { |
unless (($priv eq 'bro') && (!$ownaccess)) { |
$thisallowed.=$1; |
$thisallowed.=$1; |
} |
} |
} |
} |