- LSldap :
authorBenjamin Renard <brenard@easter-eggs.com>
Wed, 15 Apr 2009 14:04:21 +0000 (14:04 +0000)
committerBenjamin Renard <brenard@easter-eggs.com>
Wed, 15 Apr 2009 14:04:21 +0000 (14:04 +0000)
  -> Ajout de la méthode getLdapEntry()
  -> Utilisation de la méthode getLdapEntry() dans getEntry()

trunk/includes/class/class.LSldap.php

index bc39fa5..3935074 100644 (file)
@@ -186,14 +186,8 @@ class LSldap {
   public static function getEntry($object_type,$dn) {
     $obj_conf=LSconfig :: get('LSobjects.'.$object_type);
     if(is_array($obj_conf)){
-      $entry = self :: $cnx -> getEntry($dn);
-      if (Net_LDAP2::isError($entry)) {
-        //$newentry = new Net_LDAP2_Entry(&self :: $cnx);
-        //$newentry -> dn($dn);
-        //$newentry -> add(array('objectclass' => $obj_conf['objectclass']));
-        //foreach($obj_conf['attrs'] as $attr_name => $attr_conf) {
-        //  $newentry->add(array($attr_name => $attr_conf['default_value']));
-        //}
+      $entry = self :: getLdapEntry($dn);
+      if ($entry === false) {
         $attributes = array();
         foreach($obj_conf['attrs'] as $attr_name => $attr_conf) {
           if( isset($attr_conf['default_value']) ) {
@@ -218,6 +212,26 @@ class LSldap {
     }
   }
   
+  /**
+   * Retourne un object NetLDAP d'une entree existante
+   *
+   * @author Benjamin Renard <brenard@easter-eggs.com>
+   *
+   * @param[in] $dn string DN de l'entré Ldap
+   *
+   * @retval ldapentry|boolean  Un objet ldapentry (PEAR::Net_LDAP2) ou false en
+   *                            cas de problème
+   */
+  public static function getLdapEntry($dn) {
+    $entry = self :: $cnx -> getEntry($dn);
+    if (Net_LDAP2::isError($entry)) {
+      return false;
+    }
+    else {
+      return $entry;
+    }
+  }
+  
  /**
   * Retourne une nouvelle entrée
   *