account.pm
branchfoerste
changeset 60 3293084cfdd9
parent 59 df896a01960d
child 64 6a6c18cddf46
equal deleted inserted replaced
59:df896a01960d 60:3293084cfdd9
   320             $e->replace( (AT_QUOTA) => $Cf->quota );
   320             $e->replace( (AT_QUOTA) => $Cf->quota );
   321             $modified++;
   321             $modified++;
   322         }
   322         }
   323 
   323 
   324         if ( defined $Cf->aclgroups ) {
   324         if ( defined $Cf->aclgroups ) {
   325             $e->replace( (AT_ACLGROUPS) => $Cf->aclgroups );
   325 
       
   326             my $ag = $Cf->aclgroups;
       
   327 
       
   328             if ($ag =~ /(^|,\s*)[+-]/) {
       
   329                 my %x;
       
   330                 @x{split /,/, $e->get_value(AT_ACLGROUPS)} = ();
       
   331                 for (split /,/, $ag) {
       
   332                     if (s/^-//) {
       
   333                         delete $x{$_};
       
   334                     } else {
       
   335                         s/^\+//;
       
   336                         $x{$_} = undef;
       
   337                     }
       
   338                 }
       
   339 
       
   340                 $ag = join ',', sort keys %x;
       
   341 
       
   342             }
       
   343 
       
   344             $e->replace( (AT_ACLGROUPS) => $ag );
   326             $modified++;
   345             $modified++;
   327         }
   346         }
   328 
   347 
   329         if ( my $a = $Cf->primary ) {
   348         if ( my $a = $Cf->primary ) {
   330             $r = $ldap->search(
   349             $r = $ldap->search(