IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[LDAP] Problème d'utilisation combinée de ldap_get_entries() et ldap_add()


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 5
    Par défaut [LDAP] Problème d'utilisation combinée de ldap_get_entries() et ldap_add()
    Bonjour,

    J'ai actuellement un probleme concernant l'utilisation de l'objet obtenu apres un ldap_get_entries(), je m'explique:

    j'utilise la fonction ldap_search(), pour, comme son nom l'indique, rechercher une entrée dans un annuaire LDAP j'utilise l'objet renvoyé avec la fonction ldap_get_entries() afin d'obtenir tout les attributs de cette entrée.

    Puis j'utilise la fonction ldap_add() pour ajouter ces informations obtenues dans un second annuaire LDAP.
    Cette fonction prend en parametre un tableau du type : $info[i][j][k]

    L'objet renvoyer par la fonction ldap_get_entries() est également un tableau du type $info[i][j][k].

    ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $sr = ldap_search($instance->connect,$instance->base, $partial_dn[0]);  
    $info = ldap_get_entries ($instance->connect, $sr);
    $r = ldap_add ($instance2->connect, $instance2->base, $info);

    je precise également que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $info['count']; //affiche 1 donc que le tableau n'est composé que d'une seul entrée.
    Oui mais voila en utilisant l'objet renvoyer par ldap_get_entries() avec la fonction ldap_add() j'obtient :
    Warning: ldap_add(): Unknown attribute in the data
    et rien de rajouter dans mon second annuaire.

    Ma question est donc la suivante :

    Peut-on utiliser l'objet retourner par ldap_get_entries() avec la fonction ldap_add() et si oui comment?


    Merci.

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    De mémoire : non pas directement car le résultat de ldap_get_entries comporte des index supplémentaires dans le tableau retourné (count) et elle ne retourne pas forcément qu'un seul objet. Vous pourriez faire une copie partielle/nettoyée de ce tableau voir utiliser d'autres fonctions - ldap_*_(entry|attributes?).

    Votre "copie" peut éventuellement être faite de manière automatique via des systèmes de réplication voir par un export/import au format LDIF, bien que cette dernière solution ne présente pour vous guère d'intérêt.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 5
    Par défaut
    merci pour la réponse rapide.

    Il ne me reste donc plus qu'à bricoler tout ça.

    Toutefois si quelqu'un a déjà solutionner ca, ce serait sympa qu'il m'en epargne.

    C'etait mon premier poste et surement pas le dernier ^^

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 5
    Par défaut solution possible
    Pour les gens que ca interesse voici ma solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    function convertion($info)
    {
    	$foo=array();
    	foreach ($info[0] as $clef => $valeur) 
    	{
    		if(is_array($valeur))
    		{
    			array_shift($valeur);
    			foreach ($valeur as $clef2 => $valeur2) 
    			{
    				if(count($valeur)>1)
    				{
    					for ($i = 0; $i < count($valeur); $i++)
    					{
    						$foo[$clef][$i]=$valeur[$i];
    					}
    				}else{
    					$foo[$clef]=$valeur2;
    				}
    			}
    		}
    	}
    	return $foo;		
    }
    voila enjoy !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [RTFEditorKit] Problème d'utilisation
    Par jean.lamy dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 21/10/2004, 18h30
  2. Problème d'utilisation de Mysql avec dev-c++
    Par Watchi dans le forum Dev-C++
    Réponses: 10
    Dernier message: 06/08/2004, 14h35
  3. [cvs] problèmes d'utilisation
    Par gromite dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 29/06/2004, 17h41
  4. Problème: Requête utilisant NOT IN
    Par fages dans le forum Langage SQL
    Réponses: 4
    Dernier message: 04/05/2004, 10h18
  5. problème d'utilisation avec turbo pascal 7.0
    Par le 27 dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 03/12/2003, 10h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo