Code

Added new releasemanagement to partitiontable
[gosa.git] / include / class_tabs.inc
index 2fc2fdf0f8d17967ee25f816fe791482b73d3437..e0e8dbe422b0bf555c7fe25940a04bdf3b5aa0bf 100644 (file)
@@ -30,6 +30,7 @@ class tabs
   var $disabled= "";
   var $by_name= array();
   var $by_object= array();
+  var $SubDialog = false;
 
   function tabs($config, $data, $dn)
   {
@@ -174,6 +175,15 @@ class tabs
 
   function delete()
   {
+       /* Check if all plugins will ACK for deletion */
+       foreach (array_reverse($this->by_object) as $key => $obj){
+               $reason= $obj->allow_remove();
+               if ($reason != ""){
+                       print_red(sprintf(_("Delete process has been canceled by plugin '%s': %s"), $key, $reason));
+                       return;
+               }
+       }
+
        /* Delete for all plugins */
        foreach (array_reverse($this->by_object) as $key => $obj){
                $obj->remove_from_parent();
@@ -245,6 +255,39 @@ class tabs
          }
   }
 
+       
+  /* Save attributes posted by copy & paste dialog
+   */
+  function saveCopyDialog()
+  {
+         foreach ($this->by_object as $key => $obj){
+                 if($obj->is_account){
+                         $this->by_object[$key]->saveCopyDialog();
+                 }
+         }
+  }
+
+
+  /* return copy & paste dialog
+   */
+  function getCopyDialog()
+  {
+         $ret = "";
+         $this->SubDialog = false;
+         foreach ($this->by_object as $key => $obj){
+                 if($obj->is_account){
+                         $tmp = $this->by_object[$key]->getCopyDialog();
+                         if($tmp['status'] == "SubDialog"){
+                                 $this->SubDialog = true;
+                     return($tmp['string']);
+                 }else{
+                 $ret .= $tmp['string'];
+                         }
+                 }
+         }
+         return($ret);
+  }
+
 }
 
 ?>