====== 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);