summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: df2c9ab)
raw | patch | inline | side by side (parent: df2c9ab)
author | hickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Wed, 21 Jun 2006 07:01:59 +0000 (07:01 +0000) | ||
committer | hickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Wed, 21 Jun 2006 07:01:59 +0000 (07:01 +0000) |
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@3843 594d385d-05f5-0310-b6e9-bd551577e9d8
include/class_plugin.inc | patch | blob | history |
index 30743f55a719819db773c0a032d7e80eb5de8064..b205c00cd824f380971645304fb339f967d02deb 100644 (file)
--- a/include/class_plugin.inc
+++ b/include/class_plugin.inc
//FIXME: How to optimize this? We have at least two
// LDAP accesses per object. It would be a good
// idea to have it integrated.
-
+
/* No dn? Self-operation... */
if ($dn == ""){
$dn= $this->dn;
-
+
/* No tag? Find it yourself... */
if ($tag == ""){
$len= strlen($dn);
}
}
}
-
+
/* Set tag? */
if ($tag != ""){
} else {
@DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, "Not tagging ($tag) $dn - seems to have moved away", "Tagging");
}
-
+
} else {
/* Remove objectclass and attribute */
$ldap= $this->config->get_ldap_link();
@DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, "Not removing tag ($tag) $dn - seems to have moved away", "Tagging");
}
}
-
+
}
/* Check if snapshot functionality is enabled */
if(!$this->snapshotEnabled()){
- return;
+ return;
}
-
+
/* Get configuration from gosa.conf */
$tmp = $this->config->data['MAIN'];
/* Check if the undo level is specified */
show_ldap_error($ldap_to->get_error(), _("Snapshot failed."));
}
-
+
/* check if the dn exists */
if ($ldap->dn_exists($this->dn)){
$new_base = preg_replace("/".normalizePreg($base)."$/","",$base_of_object).$snap_base;
/* Create object */
- #$data = preg_replace('/^dn:.*\n/', '', $ldap->gen_ldif($this->dn,"(!(objectClass=gosaDepartment))"));
+#$data = preg_replace('/^dn:.*\n/', '', $ldap->gen_ldif($this->dn,"(!(objectClass=gosaDepartment))"));
$data = $ldap->gen_ldif($this->dn,"(&(!(objectClass=gosaDepartment))(!(objectClass=FAIclass)))");
$newName = preg_replace("/\./", "", $sec."-".$usec);
$target= array();
$target['gosaSnapshotTimestamp'] = $newName;
/* Insert the new snapshot
- But we have to check first, if the given gosaSnapshotTimestamp
- is already used, in this case we should increment this value till there is
- an unused value. */
+ But we have to check first, if the given gosaSnapshotTimestamp
+ is already used, in this case we should increment this value till there is
+ an unused value. */
$new_dn = "gosaSnapshotTimestamp=".$newName.",".$new_base;
$ldap_to->cat($new_dn);
while($ldap_to->count()){
}
}
-
+
/* returns true if snapshots are enabled, and false if it is disalbed
- There will also be some errors psoted, if the configuration failed */
+ There will also be some errors psoted, if the configuration failed */
function snapshotEnabled()
{
$tmp = $this->config->data['MAIN'];
/* Check if the snapshot_base is defined */
if(!isset($tmp['SNAPSHOT_BASE'])){
- print_red(_("The snapshot functionality is enabled, but the required variable SNAPSHOT_BASE is not configured in your gosa.conf."));
+ print_red(sprintf(_("The snapshot functionality is enabled, but the required variable '%s' is not configured in your gosa.conf."),$missing));
return(FALSE);
}
return(TRUE);
}
}
- return(false);
+ return(FALSE);
}
-
+
/* Return available snapshots for the given base
- */
+ */
function Available_SnapsShots($dn,$raw = false)
{
if(!$this->snapshotEnabled()) return(array());
/* Create an additional ldap object which
- points to our ldap snapshot server */
+ points to our ldap snapshot server */
$ldap= $this->config->get_ldap_link();
$ldap->cd($this->config->current['BASE']);
$tmp = $this->config->data['MAIN'];
/* Fetch all objects with gosaSnapshotDN=$dn */
$ldap_to->cd($new_base);
$ldap_to->ls("(&(objectClass=gosaSnapshotObject)(gosaSnapshotDN=".$dn."))",$new_base,
- array("gosaSnapshotType","gosaSnapshotTimestamp","gosaSnapshotDN","description"));
-
+ array("gosaSnapshotType","gosaSnapshotTimestamp","gosaSnapshotDN","description"));
+
/* Put results into a list and add description if missing */
while($entry = $ldap_to->fetch()){
if(!isset($entry['description'][0])){
function getAllDeletedSnapshots($base_of_object,$raw = false)
{
if(!$this->snapshotEnabled()) return(array());
-
+
/* Create an additional ldap object which
- points to our ldap snapshot server */
+ points to our ldap snapshot server */
$ldap= $this->config->get_ldap_link();
$ldap->cd($this->config->current['BASE']);
$tmp = $this->config->data['MAIN'];
}else{
$ldap_to = $ldap;
}
-
+
/* Get the snapshot */
$ldap_to->cat($dn);
$restoreObject = $ldap_to->fetch();
-
+
/* Prepare import string */
$data = gzuncompress($ldap_to->get_attribute($dn,'gosaSnapshotData'));
-
+
/* Import the given data */
$ldap->import_complete_ldif($data,$err,true,true);
show_ldap_error($ldap_to->get_error().$err, _("Restore snapshot failed."));
$this->snapDialog = NULL;
}
}
-
+
if(isset($_POST['CancelSnapshot'])){
$this->snapDialog = NULL;
}
-
+
if($this->snapDialog){
$this->snapDialog->save_object();
return($this->snapDialog->execute());
}
-
}
}
// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: