====== Pxxo_Widgets_LDAP_EditEntry ======
Affiche un formulaire d'édition des attributs d'un noeud LDAP donné en paramètres.
* [[http://demo.pxxo.net/widgets/demos/|Exemple d'utilisation en ligne]]
* [[fr:install|Installer]] (le nom du package est **Pxxo_Widgets_LDAP**)
===== Paramètres =====
Ce widget partage [[:fr:doc:pxxo_widgets_ldap|les paramètres de connexion]] avec les autres widget de ce package.
Les paramètres spécifiques sont eux listés ici :
^ Nom ^ V. par défaut ^ Description ^
| edit_dn | - | Le noeud à éditer (son dn) |
| attr_to_skip | - | Une liste d'attributs à cacher (exemple : array('objectClass') ) |
| attr_names | - | Un tableau de correspondance entre les noms brutes des attributs et les noms que l'on souhaite afficher à l'écran (exemple : array('uid'=>'Username')) |
| attr_order | - | L'ordre dans lequel on souhaite afficher les attributs (exemple : array('uid','mail') ) |
| attr_types | - | Un tableau de correspondance entre les nom des attributs et leur types. La liste des types sont ceux supportés par le widget [[:fr:doc:pxxo_widgets_form_generic|Form_Generic]]. (exemple : array('userPassword'=>'password') ) |
| attr_sizes | - | Un tableau de correspondance entre les nom des attributs et leur tailles. La taille doit être exprimée dans la syntaxe du widget [[:fr:doc:pxxo_widgets_form_generic|Form_Generic]]. (ex : array('uid'=>5) ) |
| attr_required | - | La liste des attributs obligatoires (qui doivent impérativement avoir une valeur non vide) |
| attr_disabled | - | La liste des attributs à désactiver (non éditables) |
| attr_to_create_if_missing | - | La liste des attributs à créer si il n'existent pas dans le noeud |
| attr_default | - | Si le dn n'existe pas il sera créé avec le contenu de cet attribut. Il doit contenir un tableau associatif de clé = nom de l'attribut et valeur = valeur de l'attribut. |
| label_width | - | La largeur de la colonne qui présentera les noms des attributs |
| password_type | 'md5' | L'algorithme utilisé pour encoder le mot de passe. Les types disponibles sont 'md5' et 'clear' (disponible dans les versions >= 1.0.2) |
===== Exemples =====
$UID = 'stephane.gully@gmail.com';
// instantiation de notre composant
require_once "Pxxo/Widgets/LDAP/EditEntry.php";
$params = array();
$params['lang'] = 'fr_FR';
$params['theme'] = 'defaut';
// parametres de connexion
$params['ldap_host'] = 'localhost';
$params['ldap_port'] = 389;
$params['ldap_username'] = 'cn=manager,dc=localhost';
$params['ldap_password'] = 'secret';
$params['base_dn'] = 'dc=localhost';
// le dn qu'on souhaite éditer/créer
$params['edit_dn'] = 'uid='.$UID.',ou=people,dc=localhost';
// les attributs par défaut du dn si il doit être créé
$params['attr_default'] = array();
$params['attr_default']['objectclass'] = array('inetOrgPerson');
$params['attr_default']['uid'] = $UID;
$params['attr_default']['sn'] = 'sn_'.$UID;
$params['attr_default']['cn'] = 'cn_'.$UID;
$params['attr_default']['description'] = ' ';
$params['attr_default']['departmentNumber'] = 'unknown';
$params['attr_default']['userPassword'] = '';
// les parametres de personnalisation du formulaire d'edition
$params['attr_to_skip'] = array('sn','cn','objectclass');
$params['attr_required'] = array('uid');
$params['attr_names'] = array('uid' => 'Identifiant',
'mail' => 'Email',
'description' => 'Notes',
'userPassword' => 'Mot de passe',
'departmentNumber' => 'Unité' );
$params['attr_types'] = array('uid' => 'text',
'mail' => 'mail',
'userPassword' => 'password',
'description' => 'textarea',
'departmentNumber' => 'text' );
$params['attr_sizes'] = array('description' => array(10,60));
$params['attr_order'] = array('uid', 'mail', 'userPassword', 'departmentNumber');
$o =& new Pxxo_Widgets_LDAP_EditEntry($params);