X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=include%2Fclass_ldap.inc;h=17ae13ff4071b267c4f606dbe63bf5e69bfc1197;hb=cf52f2875e8d24c2985898e38bfe03acf8900e44;hp=c1869a9f966efdf8bc9e4dfc09fb8dda14136b61;hpb=9e9e337cef0aba290ce0be61bbce7f68987a4e2c;p=gosa.git
diff --git a/include/class_ldap.inc b/include/class_ldap.inc
index c1869a9f9..17ae13ff4 100644
--- a/include/class_ldap.inc
+++ b/include/class_ldap.inc
@@ -445,7 +445,7 @@ class LDAP{
*/
function copy_FAI_resource_recursive($sourcedn,$destinationdn,$destinationName,$type="branch",$is_first = true,$depth=0)
{
- error_reporting(E_ALL);
+ error_reporting(E_ALL | E_STRICT);
if($is_first){
echo "
".sprintf(_("Creating copy of %s"),"".@LDAP::fix($sourcedn)."")."
";
@@ -573,7 +573,7 @@ class LDAP{
}
if($this->error != "Success"){
- /* Some error occured */
+ /* Some error occurred */
print "---------------------------------------------";
print $this->get_error()."
";
print $sourcedn."
";
@@ -772,6 +772,7 @@ class LDAP{
}
$this->cd($cdn);
$this->add($na);
+
show_ldap_error($this->get_error(), sprintf(_("Creating subtree '%s' failed."),$cdn));
if (!preg_match('/success/i', $this->error)){
return FALSE;
@@ -856,7 +857,7 @@ class LDAP{
$url= preg_replace('!\?\?.*$!', '', $url);
$server= preg_replace('!^([^:]+://[^/]+)/.*$!', '\\1', $url);
- if ($referrals == NULL){
+ if ($referrals === NULL){
$referrals= $this->referrals;
}
@@ -1111,6 +1112,13 @@ class LDAP{
*/
function import_single_entry($str_attr,$modify,$delete)
{
+ global $config;
+
+ if(!$config){
+ trigger_error("Can't import ldif, can't read config object.");
+ }
+
+
if($this->reconnect) $this->connect();
$ret = false;
@@ -1188,7 +1196,8 @@ class LDAP{
/* Create missing trees */
$this->cd ($this->basedn);
- $this->create_missing_trees($data['dn']);
+ $this->cd($config->current['BASE']);
+ $this->create_missing_trees(preg_replace("/^[^,]+,/","",$data['dn']));
$this->cd($data['dn']);
$dn = $data['dn'];
@@ -1253,7 +1262,15 @@ class LDAP{
function get_objectclasses()
{
$objectclasses = array();
-
+ global $config;
+
+ /* Only read schema if it is allowed */
+ if(isset($config) && preg_match("/config/i",get_class($config))){
+ if(!isset($config->data['MAIN']['SCHEMA_CHECK']) || !preg_match("/true/i",$config->data['MAIN']['SCHEMA_CHECK'])){
+ return($objectclasses);
+ }
+ }
+
# Get base to look for schema
$sr = @ldap_read ($this->cid, NULL, "objectClass=*", array("subschemaSubentry"));
if(!$sr){
@@ -1316,7 +1333,6 @@ class LDAP{
}
}
-
return $objectclasses;
}