Code

Added some more checks
[gosa.git] / plugins / admin / groups / class_groupAcl.inc
index 8020ea24f4915d79916945246327f226791b26a2..5ce1d53908dc7830f93de6b7cb4eaa9efbc02de1 100644 (file)
@@ -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= "<img src=\"images/stop.png\" align=\"middle\">&nbsp;<b>".
+               $display= "<img alt=\"\" src=\"images/stop.png\" align=\"middle\">&nbsp;<b>".
                _("This 'dn' is no acl container.")."</b>";
                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.= "<table style=\"width:100%;\">\n";
+       $display.= "<table summary=\"\" style=\"width:100%;\">\n";
        $switch= 0;
        foreach ($name as $key => $val){
                if ($switch == 0){