X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fadmin%2Fgroups%2Fclass_groupAcl.inc;h=5ce1d53908dc7830f93de6b7cb4eaa9efbc02de1;hb=9ff9ad0e14edc40f165433911935c437aa0ad427;hp=8020ea24f4915d79916945246327f226791b26a2;hpb=22d35ef3995e44b2816491478db83e3b407268a6;p=gosa.git diff --git a/plugins/admin/groups/class_groupAcl.inc b/plugins/admin/groups/class_groupAcl.inc index 8020ea24f..5ce1d5390 100644 --- a/plugins/admin/groups/class_groupAcl.inc +++ b/plugins/admin/groups/class_groupAcl.inc @@ -20,9 +20,10 @@ class acl extends plugin var $current_acl= ""; var $selfflag= FALSE; + var $gosaSubtreeACL; /* attribute list for save action */ - var $attributes= array(); + var $attributes= array("gosaSubtreeACL"); var $objectclasses= array("gosaObject"); function acl ($config, $dn= NULL) @@ -32,7 +33,8 @@ class acl extends plugin /* WorkAround */ include "acl_definition.inc"; $this->objects= $ACLD; - $this->object= reset(array_keys($this->objects)); + $tmp= array_keys($this->objects); + $this->object= reset($tmp); $this->selfflag= FALSE; if (isset($this->attrs['gosaSubtreeACL'][0])){ @@ -48,9 +50,12 @@ class acl extends plugin function execute() { + /* Call parent execute */ + plugin::execute(); + /* Do we represent a valid group? */ if (!$this->is_account && $this->parent == NULL){ - $display= " ". + $display= "\"\" ". _("This 'dn' is no acl container.").""; return ($display); } @@ -90,7 +95,9 @@ class acl extends plugin $ldap= $this->config->get_ldap_link(); $ldap->cd($this->dn); - $ldap->modify($this->attrs); + $this->cleanup(); +$ldap->modify ($this->attrs); + show_ldap_error($ldap->get_error()); } @@ -108,7 +115,7 @@ class acl extends plugin if ($this->object == "all"){ $this->current_acl= preg_replace ( "/[,]?all[,]?/", "", $this->current_acl); } - $this->current_acl= preg_replace ( "/[,]?$this->object#[^,]*[,]?/", "", $this->current_acl); + $this->current_acl= preg_replace ( "/[^a-z0-9A-Z]$this->object#[^,]*[,]?/", "", $this->current_acl); /* assemble new attributes */ $attrs= ""; @@ -185,7 +192,9 @@ class acl extends plugin /* Modify class */ $ldap->cd($this->dn); - $ldap->modify($this->attrs); + $this->cleanup(); +$ldap->modify ($this->attrs); + show_ldap_error($ldap->get_error()); } @@ -202,7 +211,7 @@ class acl extends plugin asort ($name); # Generate checklist - $display.= "\n"; + $display.= "
\n"; $switch= 0; foreach ($name as $key => $val){ if ($switch == 0){