X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Finclude%2Fclass_SnapshotHandler.inc;h=bc912bdbadbaab693e25699bb899c6f9eee834fa;hb=f04b7b95f6468a806353f05cdd3faf97dd744d5c;hp=ad3957c25f30f60adedcb497e6c17f09a6a92f79;hpb=825ed2a6bb94e37a0dc0bbfefe86a8f83c9bd40f;p=gosa.git diff --git a/gosa-core/include/class_SnapshotHandler.inc b/gosa-core/include/class_SnapshotHandler.inc index ad3957c25..bc912bdba 100644 --- a/gosa-core/include/class_SnapshotHandler.inc +++ b/gosa-core/include/class_SnapshotHandler.inc @@ -27,17 +27,16 @@ class SnapshotHandler { var $isEnabled= false; var $snapshotBases= array(); - /* Create handler */ function SnapshotHandler(&$config) { $this->config = &$config; $config = $this->config; - if($config->get_cfg_value("enableSnapshots") == "true"){ + if($config->get_cfg_value("core","enableSnapshots") == "true"){ /* Check if the snapshot_base is defined */ - if ($config->get_cfg_value("snapshotBase") == ""){ + if ($config->get_cfg_value("core","snapshotBase") == ""){ /* Send message if not done already */ if(!session::is_set("snapshotFailMessageSend")){ @@ -62,12 +61,12 @@ class SnapshotHandler { } /* check if there are special server configurations for snapshots */ - if ($config->get_cfg_value("snapshotURI") != ""){ + if ($config->get_cfg_value("core","snapshotURI") != ""){ /* check if all required vars are available to create a new ldap connection */ $missing = ""; foreach(array("snapshotURI","snapshotAdminDn","snapshotAdminPassword","snapshotBase") as $var){ - if($config->get_cfg_value($var) == ""){ + if($config->get_cfg_value("core",$var) == ""){ $missing .= $var." "; /* Send message if not done already */ @@ -110,15 +109,15 @@ class SnapshotHandler { $snapshotLdap= null; /* check if there are special server configurations for snapshots */ - if($this->config->get_cfg_value("snapshotURI") != ""){ - $server= $this->config->get_cfg_value("snapshotURI"); - $user= $this->config->get_cfg_value("snapshotAdminDn"); - $password= $this->config->get_credentials($this->config->get_cfg_value("snapshotAdminPassword")); + if($this->config->get_cfg_value("core","snapshotURI") != ""){ + $server= $this->config->get_cfg_value("core","snapshotURI"); + $user= $this->config->get_cfg_value("core","snapshotAdminDn"); + $password= $this->config->get_credentials($this->config->get_cfg_value("core","snapshotAdminPassword")); $snapshotLdap= new ldapMultiplexer(new LDAP($user,$password, $server)); } /* Prepare bases */ - $this->snapshotLdapBase= $this->config->get_cfg_value("snapshotBase"); + $this->snapshotLdapBase= $this->config->get_cfg_value("core","snapshotBase"); $snapshotLdap->cd($this->snapshotLdapBase); if (!$snapshotLdap->success()){ msg_dialog::display(_("LDAP error"), msgPool::ldaperror($snapshotLdap->get_error(), $this->snapshotLdapBase, "", get_class())); @@ -262,17 +261,17 @@ class SnapshotHandler { $ldap->cd($this->config->current['BASE']); /* check if there are special server configurations for snapshots */ - if($config->get_cfg_value("snapshotURI") == ""){ + if($config->get_cfg_value("core","snapshotURI") == ""){ /* Source and destination server are both the same, just copy source to dest obj */ $ldap_to = $ldap; $snapldapbase = $this->config->current['BASE']; }else{ - $server = $config->get_cfg_value("snapshotURI"); - $user = $config->get_cfg_value("snapshotAdminDn"); - $password = $this->config->get_credentials($config->get_cfg_value("snapshotAdminPassword")); - $snapldapbase = $config->get_cfg_value("snapshotBase"); + $server = $config->get_cfg_value("core","snapshotURI"); + $user = $config->get_cfg_value("core","snapshotAdminDn"); + $password = $this->config->get_credentials($config->get_cfg_value("core","snapshotAdminPassword")); + $snapldapbase = $config->get_cfg_value("core","snapshotBase"); $ldap_to = new ldapMultiplexer(new LDAP($user,$password, $server)); $ldap_to -> cd($snapldapbase); @@ -291,7 +290,7 @@ class SnapshotHandler { /* Collect some infos */ $base = $this->config->current['BASE']; - $snap_base = $config->get_cfg_value("snapshotBase"); + $snap_base = $config->get_cfg_value("core","snapshotBase"); $base_of_object = preg_replace ('/^[^,]+,/i', '', $dn); $new_base = preg_replace("/".preg_quote($base, '/')."$/","",$base_of_object).$snap_base; @@ -340,15 +339,12 @@ class SnapshotHandler { function remove_snapshot($dn) { $ui = get_userinfo(); - $old_dn = $this->dn; - $this->dn = $dn; $ldap = $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); - $ldap->rmdir_recursive($this->dn); + $ldap->rmdir_recursive($dn); if(!$ldap->success()){ - msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn)); + msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $dn)); } - $this->dn = $old_dn; } /* returns true if snapshots are enabled, and false if it is disalbed There will also be some errors psoted, if the configuration failed */ @@ -371,13 +367,13 @@ class SnapshotHandler { $cfg= &$this->config->current; /* check if there are special server configurations for snapshots */ - if($this->config->get_cfg_value("snapshotURI") == ""){ + if($this->config->get_cfg_value("core","snapshotURI") == ""){ $ldap_to = $ldap; }else{ - $server = $this->config->get_cfg_value("snapshotURI"); - $user = $this->config->get_cfg_value("snapshotAdminDn"); - $password = $this->config->get_credentials($this->config->get_cfg_value("snapshotAdminPassword")); - $snapldapbase = $this->config->get_cfg_value("snapshotBase"); + $server = $this->config->get_cfg_value("core","snapshotURI"); + $user = $this->config->get_cfg_value("core","snapshotAdminDn"); + $password = $this->config->get_credentials($this->config->get_cfg_value("core","snapshotAdminPassword")); + $snapldapbase = $this->config->get_cfg_value("core","snapshotBase"); $ldap_to = new ldapMultiplexer(new LDAP($user,$password, $server)); $ldap_to -> cd($snapldapbase); if (!$ldap_to->success()){ @@ -386,7 +382,7 @@ class SnapshotHandler { } /* Prepare bases and some other infos */ $base = $this->config->current['BASE']; - $snap_base = $this->config->get_cfg_value("snapshotBase"); + $snap_base = $this->config->get_cfg_value("core","snapshotBase"); $base_of_object = preg_replace ('/^[^,]+,/i', '', $dn); $new_base = preg_replace("/".preg_quote($base, '/')."$/","",$base_of_object).$snap_base; $tmp = array(); @@ -426,13 +422,13 @@ class SnapshotHandler { $cfg= &$this->config->current; /* check if there are special server configurations for snapshots */ - if($this->config->get_cfg_value("snapshotURI") == ""){ + if($this->config->get_cfg_value("core","snapshotURI") == ""){ $ldap_to = $ldap; }else{ - $server = $this->config->get_cfg_value("snapshotURI"); - $user = $this->config->get_cfg_value("snapshotAdminDn"); - $password = $this->config->get_credentials($this->config->get_cfg_value("snapshotAdminPassword")); - $snapldapbase = $this->config->get_cfg_value("snapshotBase"); + $server = $this->config->get_cfg_value("core","snapshotURI"); + $user = $this->config->get_cfg_value("core","snapshotAdminDn"); + $password = $this->config->get_credentials($this->config->get_cfg_value("core","snapshotAdminPassword")); + $snapldapbase = $this->config->get_cfg_value("core","snapshotBase"); $ldap_to = new ldapMultiplexer(new LDAP($user,$password, $server)); $ldap_to -> cd($snapldapbase); if (!$ldap_to->success()){ @@ -442,7 +438,7 @@ class SnapshotHandler { /* Prepare bases */ $base = $this->config->current['BASE']; - $snap_base = $this->config->get_cfg_value("snapshotBase"); + $snap_base = $this->config->get_cfg_value("core","snapshotBase"); $new_base = preg_replace("/".preg_quote($base, '/')."$/","",$base_of_object).$snap_base; /* Fetch all objects and check if they do not exist anymore */ $ui = get_userinfo(); @@ -491,13 +487,13 @@ class SnapshotHandler { $cfg= &$this->config->current; /* check if there are special server configurations for snapshots */ - if($this->config->get_cfg_value("snapshotURI") == ""){ + if($this->config->get_cfg_value("core","snapshotURI") == ""){ $ldap_to = $ldap; }else{ - $server = $this->config->get_cfg_value("snapshotURI"); - $user = $this->config->get_cfg_value("snapshotAdminDn"); - $password = $this->config->get_credentials($this->config->get_cfg_value("snapshotAdminPassword")); - $snapldapbase = $this->config->get_cfg_value("snapshotBase"); + $server = $this->config->get_cfg_value("core","snapshotURI"); + $user = $this->config->get_cfg_value("core","snapshotAdminDn"); + $password = $this->config->get_credentials($this->config->get_cfg_value("core","snapshotAdminPassword")); + $snapldapbase = $this->config->get_cfg_value("core","snapshotBase"); $ldap_to = new ldapMultiplexer(new LDAP($user,$password, $server)); $ldap_to -> cd($snapldapbase); if (!$ldap_to->success()){ @@ -513,7 +509,8 @@ class SnapshotHandler { $data = gzuncompress($ldap_to->get_attribute($dn,'gosaSnapshotData')); /* Import the given data */ - $ldap->importLdif($data); + $err = ""; + $ldap->import_complete_ldif($data,$err,false,false); if (!$ldap->success()){ msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $dn, "", get_class())); }