<sect4 id="config-LSattr_html_select_list">
  <title>LSattr_html_select_list</title>
  <para>Ce type est utilisé pour la gestion des attributs dont les valeurs font
  partie d'une liste statique ou dynamique. Il est possible de lister des valeurs
  statiques et également des références à d'autres &LSobjects;. La référence à
  un objet correspond à une valeur clé, référente à un objet précis, qui peut être
  soit la valeur d'un de ses attributs, soit son <emphasis>DN</emphasis>.</para>
  
  <programlisting linenumbering="unnumbered">
<citetitle>Structure</citetitle>...
<![CDATA['html_options' => array (
   'possible_values' => array (
     '[LSformat de la valeur clé]' => '[LSformat du nom d'affichage]',
     ...
     'OTHER_OBJECT' => array (
       'object_type' => '[Type d'LSobject]',
       'display_name_format' => '[LSformat du nom d'affichage des LSobjects]',
       'value_attribute' => '[Nom de l'attribut clé]',
       'filter' => '[Filtre de recherche des LSobject]',
       'scope' => '[Scope de la recherche]',
       'basedn' => '[Basedn de la recherche]'
     ),
     array (
       'label' => '[LSformat du nom du groupe de valeurs]',
       'possible_values' => array (
         '[LSformat de la valeur clé]' => '[LSformat du nom d'affichage]',
         ...
         'OTHER_OBJECT' => array (
           ...
         )
       )
     )
   ),
   'sort' => [Booléen],
   'sortDirection' => '[ASC|DESC]'
),]]>
...
</programlisting>

<variablelist>
<title>Paramètres de configuration</title>

<varlistentry>
  <term>possible_values</term>
  <listitem>
    <para>Tableau associatif obligatoire contenant en valeur clé le &LSformat;
    des valeurs clés prisent par l'attribut et en valeurs associées, le &LSformat;
    des noms d'affichage de ces valeurs. Ces &LSformats; sont composés à partir des
    valeurs de l'objet courant (attributs, dn, ...).</para>
    
    <para>Si la valeur clé est égale à <literal>OTHER_OBJECT</literal>, une liste
    d'&LSobject; sera insérée dans la liste des valeurs possibles. La valeur
    associée est alors un tableau associatif dont les valeurs clés sont les noms 
    des paramètres de configuration de la recherche de ces &LSobjects; et les 
    valeurs associées, les valeurs des paramètres.</para>

    <para>Il est possible de regrouper des valeurs de l'attribut en plaçant leur
    déclaration dans un sous-tableau. Ce sous-tableau devra contenir la clé
    <literal>label</literal> dont la valeur associé sera le &LSformat; du nom du groupe
    de valeurs. Ce &LSformat; est composé à partir des valeurs de l'objet courant
    (attributs, dn, ...). Une seconde clé <literal>possible_values</literal> regroupera
    les valeurs possibles du groupe. Comme pour le tableau principal, la clé <literal>
    OTHER_OBJECT</literal> permet d'imcorporer une liste d'&LSobject;.</para>
<variablelist>
  <varlistentry>
    <term>object_type</term>
    <listitem>
      <simpara>Nom du type d'&LSobject; en référence.</simpara>
    </listitem>
  </varlistentry>

  <varlistentry>
    <term>display_name_format</term>
    <listitem>
      <simpara>&LSformat; du nom d'affichage des objets lors de leur sélection.</simpara>
    </listitem>
  </varlistentry>

  <varlistentry>
    <term>value_attribute</term>
    <listitem>
      <simpara>Nom de l'attribut des &LSobjects; en référence servant de valeur
      clé et permettant de les identifier (Exemple : <emphasis>dn</emphasis> ou
      <emphasis>uid</emphasis>).</simpara>
    </listitem>
  </varlistentry>

  <varlistentry>
    <term>filter</term>
    <listitem>
      <simpara>Filtre falcultatif de la recherche des LSobjets. Il sera dans tous
      les cas agrémenté des valeurs des <emphasis>objectclass</emphasis> du type
      d'&LSobject;.</simpara>
    </listitem>
  </varlistentry>

  <varlistentry>
    <term>scope</term>
    <listitem>
      <simpara>Scope falcultatif de la recherche des LSobjets.</simpara>
    </listitem>
  </varlistentry>

  <varlistentry>
    <term>basedn</term>
    <listitem>
      <simpara>Basedn falcultatif de la recherche des LSobjets.</simpara>
    </listitem>
  </varlistentry>
</variablelist>

  </listitem>
</varlistentry>


<varlistentry>
  <term>sort</term>
  <listitem>
    <simpara>Booléen définissant si les valeurs possibles doivent être
    triées ou non (Vrai par défaut). Le trie est effectué sur les libellés
    des valeurs possibles.</simpara>
  </listitem>
</varlistentry>

<varlistentry>
  <term>sortDirection</term>
  <listitem>
    <simpara>Mot clé déterminant le sens du trie des valeurs possibles.</simpara>
    <simpara>Valeurs possibles : <literal>ASC</literal> ou <literal>DESC</literal> (<literal>ASC</literal> par défaut).</simpara>
  </listitem>
</varlistentry>
</variablelist>
</sect4>
