X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Finclude%2Fclass_plugin.inc;h=31d5b4bafd80e2c155c2852626394c08e60b80f1;hb=06cc53394cf695b3bc663073e526d7d94e4bb2d6;hp=3ff98ea8fa2d1a48dce0aed29388223e6bdf4078;hpb=20fa1b140631329a55646ba69936ddfa41d3fd0b;p=gosa.git diff --git a/gosa-core/include/class_plugin.inc b/gosa-core/include/class_plugin.inc index 3ff98ea8f..31d5b4baf 100644 --- a/gosa-core/include/class_plugin.inc +++ b/gosa-core/include/class_plugin.inc @@ -180,7 +180,7 @@ class plugin /* 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"); @@ -273,7 +273,7 @@ class plugin /* 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){ @@ -636,8 +636,11 @@ class plugin 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); @@ -674,7 +677,11 @@ class plugin 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); @@ -712,7 +719,11 @@ class plugin @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); @@ -1207,24 +1218,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); @@ -1243,7 +1254,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; @@ -1305,31 +1316,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); }