Affiche un formulaire d'édition des attributs d'un noeud LDAP donné en paramètres.
Ce widget partage 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 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 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) |
$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);