X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=include%2Fclass_plugin.inc;h=f2d01c51bd79a09346dc5c0193146dad032ae7da;hb=6c6148c73fa05be5904cb13385ed133bc615fdca;hp=ccb7e5406d772e97cd0eb290aec7ba1a32215e1e;hpb=8905c24664f802581a45bbd2936251ebf99313e9;p=gosa.git diff --git a/include/class_plugin.inc b/include/class_plugin.inc index ccb7e5406..f2d01c51b 100644 --- a/include/class_plugin.inc +++ b/include/class_plugin.inc @@ -122,6 +122,10 @@ class plugin /* This variable indicates that this class can handle multiple dns at once. */ var $multiple_support = FALSE; + /* This aviable indicates, that we are currently in multiple edit handle */ + var $multiple_support_active = FALSE; + var $selected_edit_values = array(); + /*! \brief plugin constructor If 'dn' is set, the node loads the given 'dn' from LDAP @@ -276,6 +280,16 @@ class plugin /* Save data to object */ function save_object() { + if($this->multiple_support_active){ + foreach($this->attributes as $attr){ + if(isset($_POST["use_".$attr])){ + $this->selected_edit_values[$attr] = TRUE; + }else{ + $this->selected_edit_values[$attr] = FALSE; + } + } + } + /* Save values to object */ foreach ($this->attributes as $val){ if ($this->acl_is_writeable($val) && isset ($_POST["$val"])){ @@ -1369,7 +1383,8 @@ class plugin } /* Restore one of the already deleted objects */ - if(preg_match("/^RestoreDeletedSnapShot_/",$name) && $once){ + if(((isset($_POST['menu_action']) && $_POST['menu_action'] == "RestoreDeletedSnapShot") + || preg_match("/^RestoreDeletedSnapShot_/",$name)) && $once){ $once = false; $this->snapDialog = new SnapShotDialog($this->config,"",$this); $this->snapDialog->set_snapshot_bases($baseSuffixe); @@ -1391,7 +1406,7 @@ class plugin /* Create a new snapshot requested, check the given attributes and create the snapshot*/ - if(isset($_POST['CreateSnapshot'])){ + if(isset($_POST['CreateSnapshot']) && is_object($this->snapDialog)){ $this->snapDialog->save_object(); $msgs = $this->snapDialog->check(); if(count($msgs)){ @@ -1625,6 +1640,25 @@ class plugin } } } + + + function get_multi_edit_values() + { + $ret = array(); + foreach($this->selected_edit_values as $attr => $active){ + if($active){ + $ret[$attr] = $this->$attr; + } + } + return($ret); + } + + function set_multi_edit_value() + { + + } + } + // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?>