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){