Code

Fixed list sizes.
[gosa.git] / plugins / admin / applications / class_applicationManagement.inc
index 5c88b5756f006427b6c1e93bde3ad8544ca26c13..801ca3fe6268847ea647622a53ecf8b47b7f3b13 100644 (file)
@@ -452,9 +452,14 @@ class applicationManagement extends plugin
     if($s_action == "copy"){
       $this->CopyPasteHandler->Clear();
       $dn = $this->applications[$s_entry]['dn'];
-      $obj    = new apptabs($this->config, $this->config->data['TABS']['APPSTABS'], $dn);
-      $objNew = new apptabs($this->config, $this->config->data['TABS']['APPSTABS'], "new");
-      $this->CopyPasteHandler->Copy($obj,$objNew);
+
+      /* Check Acls */
+      $acl_all= $this->ui->has_complete_category_acls($dn,"application");  
+      if(preg_match("/(c.*w|w.*c)/",$acl_all)){
+        $obj    = new apptabs($this->config, $this->config->data['TABS']['APPSTABS'], $dn,  "application");
+        $objNew = new apptabs($this->config, $this->config->data['TABS']['APPSTABS'], "new","application");
+        $this->CopyPasteHandler->Copy($obj,$objNew);
+      }
     }
 
     /* Copy current object to CopyHandler
@@ -462,8 +467,13 @@ class applicationManagement extends plugin
     if($s_action == "cut"){
       $this->CopyPasteHandler->Clear();
       $dn = $this->applications[$s_entry]['dn'];
-      $obj = new apptabs($this->config, $this->config->data['TABS']['APPSTABS'], $dn);
-      $this->CopyPasteHandler->Cut($obj);
+
+      /* Check Acls */
+      $acl_all= $this->ui->has_complete_category_acls($dn,"application");  
+      if(preg_match("/(c.*w|w.*c)/",$acl_all)){
+        $obj = new apptabs($this->config, $this->config->data['TABS']['APPSTABS'], $dn, "application");
+        $this->CopyPasteHandler->Cut($obj);
+      }
     }
   }