version 1.680, 2005/11/17 16:58:23
|
version 1.681, 2005/11/21 15:41:29
|
Line 2693 sub set_userprivs {
|
Line 2693 sub set_userprivs {
|
my $author=0; |
my $author=0; |
my $adv=0; |
my $adv=0; |
my %grouproles = (); |
my %grouproles = (); |
my %groups_checked = (); |
|
if (keys(%{$allgroups}) > 0) { |
if (keys(%{$allgroups}) > 0) { |
foreach my $role (keys %{$allroles}) { |
foreach my $role (keys %{$allroles}) { |
my ($trole,$area); |
my ($trole,$area,$sec,$extendedarea); |
if ($role =~ m|^(\w+)\.(/\w+/\w+)|) { |
if ($role =~ m|^(\w+)\.(/\w+/\w+)(/?\w*)|) { |
$trole = $1; |
$trole = $1; |
$area = $2; |
$area = $2; |
unless ($groups_checked{$area}) { |
$sec = $3; |
$groups_checked{$area} = 1; |
$extendedarea = $area.$sec; |
if (exists($$allgroups{$area})) { |
if (exists($$allgroups{$area})) { |
foreach my $group (keys(%{$$allgroups{$area}})) { |
foreach my $group (keys(%{$$allgroups{$area}})) { |
my $spec = $trole.'.'.$area; |
my $spec = $trole.'.'.$extendedarea; |
$grouproles{$spec.'.'.$area.'/'.$group} = |
$grouproles{$spec.'.'.$area.'/'.$group} = |
$$allgroups{$area}{$group}; |
$$allgroups{$area}{$group}; |
} |
|
} |
} |
} |
} |
} |
} |