diff --git a/include/simpleplugin/class_simplePlugin.inc b/include/simpleplugin/class_simplePlugin.inc index 9ca8a180d708ef396ff3b88d79118951cb323c3e..811f4fd123481a7b3ac84f7e4a9dab01423de7ac 100644 --- a/include/simpleplugin/class_simplePlugin.inc +++ b/include/simpleplugin/class_simplePlugin.inc @@ -1805,11 +1805,7 @@ class simplePlugin /* Try to use plain entry first */ $dn = $attribute.'='.ldap_escape_dn($this->$attribute).','.$base; - if ($dn == $this->orig_dn) { - return $dn; - } - $ldap->cat($dn, array('dn')); - if (!$ldap->fetch()) { + if (($dn == $this->orig_dn) || !$ldap->dn_exists($dn)) { return $dn; } @@ -1827,11 +1823,7 @@ class simplePlugin $dn .= '+'.$attr.'='.ldap_escape_dn($this->$attr); } $dn .= ','.$base; - if ($dn == $this->orig_dn) { - return $dn; - } - $ldap->cat($dn, array('dn')); - if (!$ldap->fetch()) { + if (($dn == $this->orig_dn) || !$ldap->dn_exists($dn)) { return $dn; } }