index 8ed7173a5fbae10552f0c43f28d4943136bc297f..8c8ca1dcaed1533ea654cbc96228191d6e7ceb3a 100644 (file)
/* Set the template flag according to the existence of objectClass
gosaUserTemplate */
if (isset($this->attrs['objectClass'])){
- if (in_array ("gosaUserTemplate", $this->attrs['objectClass'])){
+ if (in_array_ics ("gosaUserTemplate", $this->attrs['objectClass'])){
$this->is_template= TRUE;
@DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__,
"found", "Template check");
/* Remove objectClasses from entry */
$ldap->cd($this->dn);
$this->attrs= array();
- $this->attrs['objectClass']= array_remove_entries($this->objectclasses,$oc);
+ $this->attrs['objectClass']= array_remove_entries_ics($this->objectclasses,$oc);
/* Unset attributes from entry */
foreach ($this->attributes as $val){
/* 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);
}
/* 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);
/* 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;
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);
}
$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 */
/* 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);
}
{
$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.= "<input class='center' type='image' src='images/lists/restore.png'
- alt='"._("Restore snapshot")."' name='RestoreSnapShotDialog_".base64_encode($base)."' title='"._("Restore snapshot")."'> ";
- } else {
- $str = "<img class='center' src='images/lists/restore_grey.png' alt=''> ";
+ if(count($this->Available_SnapsShots($base))){
+ $str.= "<input class='center' type='image' src='images/lists/restore.png'
+ alt='"._("Restore snapshot")."' name='RestoreSnapShotDialog_".base64_encode($base)."' title='"._("Restore snapshot")."'> ";
+ } else {
+ $str = "<img class='center' src='images/lists/restore_grey.png' alt=''> ";
+ }
+ }
+ if($ui->allow_snapshot_create($base,$category)){
+ $str.= "<input class='center' type='image' src='images/snapshot.png'
+ alt='"._("Create snapshot")."' name='CreateSnapShotDialog_".base64_encode($base)."'
+ title='"._("Create a new snapshot from this object")."'> ";
+ }else{
+ $str = "<img class='center' src='images/empty.png' alt=' '> ";
}
- }
- if($this->snapshotEnabled() && $ui->allow_snapshot_create($base,$category)){
- $str.= "<input class='center' type='image' src='images/snapshot.png'
- alt='"._("Create snapshot")."' name='CreateSnapShotDialog_".base64_encode($base)."'
- title='"._("Create a new snapshot from this object")."'> ";
- }else{
- $str = "<img class='center' src='images/empty.png' alt=' '> ";
}
return($str);