index 74b530e0a726e821d5b6c0415cf2ef26d0db648b..31d5b4bafd80e2c155c2852626394c08e60b80f1 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){
if (check_command($command)){
@DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__,
$command, "Execute");
-
- exec($command);
+ exec($command,$arr);
+ foreach($arr as $str){
+ @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__,
+ $command, "Result: ".$str);
+ }
} else {
$message= msgPool::cmdnotfound("POSTCREATE", get_class($this));
msg_dialog::display(_("Error"), $message, ERROR_DIALOG);
if (check_command($command)){
@DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__,$command, "Execute");
- exec($command);
+ exec($command,$arr);
+ foreach($arr as $str){
+ @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__,
+ $command, "Result: ".$str);
+ }
} else {
$message= msgPool::cmdnotfound("POSTMODIFY", get_class($this));
msg_dialog::display(_("Error"), $message, ERROR_DIALOG);
@DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__,
$command, "Execute");
- exec($command);
+ exec($command,$arr);
+ foreach($arr as $str){
+ @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__,
+ $command, "Result: ".$str);
+ }
} else {
$message= msgPool::cmdnotfound("POSTREMOVE", get_class($this));
msg_dialog::display(_("Error"), $message, ERROR_DIALOG);
/* 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);
}
/* 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);
}