X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Finclude%2Fclass_plugin.inc;h=b5952180d6d8fbf0d3555aee3b7d47182a55467a;hb=8242fde1a538dd582896d842945b121a4bb985d4;hp=8ed7173a5fbae10552f0c43f28d4943136bc297f;hpb=85644c6e2a3c3f99e15837dfe064893901a91ae5;p=gosa.git diff --git a/gosa-core/include/class_plugin.inc b/gosa-core/include/class_plugin.inc index 8ed7173a5..b5952180d 100644 --- a/gosa-core/include/class_plugin.inc +++ b/gosa-core/include/class_plugin.inc @@ -898,6 +898,9 @@ class plugin /* Try to move the source entry to the destination position */ $ldap = $this->config->get_ldap_link(); + $ldap->cd($this->config->current['BASE']); + $ldap->create_missing_trees(preg_replace("/^[^,]+,/","",$dst_dn)); + if (!$ldap->rename_dn($src_dn,$dst_dn)){ msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $src_dn, "", get_class())); return(FALSE); @@ -1204,24 +1207,24 @@ class plugin } /* Get configuration from gosa.conf */ - $tmp = $this->config->current; + $config = $this->config; /* Create lokal ldap connection */ $ldap= $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); /* check if there are special server configurations for snapshots */ - if(!isset($tmp['SNAPSHOT_SERVER'])){ + if($config->get_cfg_value("snapshot_server") == ""){ /* Source and destination server are both the same, just copy source to dest obj */ $ldap_to = $ldap; $snapldapbase = $this->config->current['BASE']; }else{ - $server = $tmp['SNAPSHOT_SERVER']; - $user = $tmp['SNAPSHOT_USER']; - $password = $tmp['SNAPSHOT_PASSWORD']; - $snapldapbase = $tmp['SNAPSHOT_BASE']; + $server = $config->get_cfg_value("snapshot_server"); + $user = $config->get_cfg_value("snapshot_user"); + $password = $config->get_cfg_value("snapshot_password"); + $snapldapbase = $config->get_cfg_value("snapshot_base"); $ldap_to = new ldapMultiplexer(new LDAP($user,$password, $server)); $ldap_to -> cd($snapldapbase); @@ -1240,7 +1243,7 @@ class plugin /* Collect some infos */ $base = $this->config->current['BASE']; - $snap_base = $tmp['SNAPSHOT_BASE']; + $snap_base = $config->get_cfg_value("snapshot_base"); $base_of_object = preg_replace ('/^[^,]+,/i', '', $this->dn); $new_base = preg_replace("/".normalizePreg($base)."$/","",$base_of_object).$snap_base; @@ -1302,31 +1305,28 @@ class plugin There will also be some errors psoted, if the configuration failed */ function snapshotEnabled() { - $tmp = $this->config->current; - if(isset($tmp['ENABLE_SNAPSHOT'])){ - if (preg_match("/^true$/i", $tmp['ENABLE_SNAPSHOT']) || preg_match("/yes/i", $tmp['ENABLE_SNAPSHOT'])){ - - /* Check if the snapshot_base is defined */ - if(!isset($tmp['SNAPSHOT_BASE'])){ - msg_dialog::display(_("Configuration error"), sprintf(_("The snapshot functionality is enabled, but the required variable '%s' is not set."),"SNAPSHOT_BASE"), ERROR_DIALOG); - return(FALSE); - } - - /* check if there are special server configurations for snapshots */ - if(isset($tmp['SNAPSHOT_SERVER'])){ - - /* check if all required vars are available to create a new ldap connection */ - $missing = ""; - foreach(array("SNAPSHOT_SERVER","SNAPSHOT_USER","SNAPSHOT_PASSWORD","SNAPSHOT_BASE") as $var){ - if(!isset($tmp[$var])){ - $missing .= $var." "; - msg_dialog::display(_("Configuration error"), sprintf(_("The snapshot functionality is enabled, but the required variable '%s' is not set."), $missing), ERROR_DIALOG); - return(FALSE); - } - } - } - return(TRUE); - } + $config = $this->config; + if($config->get_cfg_value("enable_snapshot") == "true"){ + /* Check if the snapshot_base is defined */ + if ($config->get_cfg_value("snapshot_base") == ""){ + msg_dialog::display(_("Configuration error"), sprintf(_("The snapshot functionality is enabled, but the required variable '%s' is not set."),"SNAPSHOT_BASE"), ERROR_DIALOG); + return(FALSE); + } + + /* check if there are special server configurations for snapshots */ + if ($config->get_cfg_value("snapshot_server") != ""){ + + /* check if all required vars are available to create a new ldap connection */ + $missing = ""; + foreach(array("snapshot_server","snapshot_user","snapshot_password","snapshot_base") as $var){ + if($config->get_cfg_value($var) == ""){ + $missing .= $var." "; + msg_dialog::display(_("Configuration error"), sprintf(_("The snapshot functionality is enabled, but the required variable '%s' is not set."), $missing), ERROR_DIALOG); + return(FALSE); + } + } + } + return(TRUE); } return(FALSE); } @@ -1509,10 +1509,6 @@ class plugin $ui = get_userinfo(); $this->parent = $parent; - if(!isset($this->acl_module)){ - return("VERDAMMT"); - } - foreach($_POST as $name => $value){ /* Create a new snapshot, display a dialog */ @@ -1698,6 +1694,8 @@ class plugin /* Add current base */ if(isset($this->base) && isset($this->config->idepartments[$this->base])){ $deps[$this->base] = $this->config->idepartments[$this->base]; + }elseif(strtolower($this->dn) == strtolower($this->config->current['BASE'])){ + }else{ trigger_error("Cannot return list of departments, no default base found in class ".get_class($this).". ".$this->base); } @@ -1979,21 +1977,23 @@ class plugin { $str= ""; $ui = get_userinfo(); - if($this->snapshotEnabled() && $ui->allow_snapshot_restore($base,$category)){ + if($this->snapshotEnabled()){ + if ($ui->allow_snapshot_restore($base,$category)){ - if(count($this->Available_SnapsShots($base))){ - $str.= " "; - } else { - $str = " "; + if(count($this->Available_SnapsShots($base))){ + $str.= " "; + } else { + $str = " "; + } + } + if($ui->allow_snapshot_create($base,$category)){ + $str.= " "; + }else{ + $str = "  "; } - } - if($this->snapshotEnabled() && $ui->allow_snapshot_create($base,$category)){ - $str.= " "; - }else{ - $str = "  "; } return($str);