X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=include%2Fclass_tabs.inc;h=e0e8dbe422b0bf555c7fe25940a04bdf3b5aa0bf;hb=1fac73f3983fd6dc8f75341dbe44637c1d7820fe;hp=2fc2fdf0f8d17967ee25f816fe791482b73d3437;hpb=2e5c2c0d8a0200c27b6fe01d6197b1672eaeaed0;p=gosa.git diff --git a/include/class_tabs.inc b/include/class_tabs.inc index 2fc2fdf0f..e0e8dbe42 100644 --- a/include/class_tabs.inc +++ b/include/class_tabs.inc @@ -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); + } + } ?>