b48ce6478c8e8d343a409ec09083f0954f8fdff4
[ldapsaisie.git] / doc / conf / LSobject / customActions.docbook
1 <sect2 id="config-LSobject-customActions">
2   <title>customActions</title>
3   <para>Cette section décrit la manière de configurer les actions personnalisées exécutables
4   sur les &LSobjects; appelées &customActions;.</para>
5   
6 <programlisting>
7 <citetitle>Structure</citetitle>
8 <![CDATA[$GLOBALS['LSobjects']['[nom du type d'LSobject]']['customActions'] = array (
9   'action1' => array(
10     'label' => '[label l'action]',
11     'icon' => '[nom de l'icône de l'action]',
12     'function' => '[fonction à exécuter]',
13     'question_format' => '[LSformat de la question de confirmation]',
14     'onSuccessMsgFormat' => '[LSformat du message à afficher en cas de succès de l'action]',
15     'rights' => array(
16       'LSprofile1',
17       'LSprofile2',
18       ...
19     )
20   )
21 );]]>
22 </programlisting>
23
24 <variablelist>
25 <title>Paramètres de configuration</title>
26
27 <varlistentry>
28   <term>label</term>
29   <listitem>
30     <simpara>Le label de la relation.</simpara>
31   </listitem>
32 </varlistentry>
33
34 <varlistentry>
35   <term>icon</term>
36   <listitem>
37     <simpara>Nom de l'îcone à afficher dans le bouton de l'action. Ce nom correspond
38     au nom du fichier de l'image (sans l'extention) qui devra se trouver dans le 
39     dossier <emphasis>/public_html/images/[nom du theme d'images]/</emphasis>.</simpara>
40   </listitem>
41 </varlistentry>
42
43 <varlistentry>
44   <term>function</term>
45   <listitem>
46     <simpara>Le nom de la fonction à exécuter qui implémente l'action personnalisée
47     Cette fonction prendra en seule paramètre le &LSobject; sur lequel l'action devra
48     être exécutée et retournera <emphasis>True</emphasis> en cas de succès ou 
49     <emphasis>False</emphasis> en cas d'échec d'exécution de la fonction.</simpara>
50   </listitem>
51 </varlistentry>
52
53 <varlistentry>
54   <term>question_format</term>
55   <listitem>
56     <simpara>Le &LSformat; de la question de confirmation d'exécution de l'action.
57     Ce &LSformat; sera composé à l'aide du nom de l'objet.</simpara>
58   </listitem>
59 </varlistentry>
60
61 <varlistentry>
62   <term>onSuccessMsgFormat</term>
63   <listitem>
64     <simpara>Le &LSformat; du message à afficher en cas de succès d'exécution de
65     l'action. Ce &LSformat; sera composé à l'aide du nom de l'objet.</simpara>
66   </listitem>
67 </varlistentry>
68
69 <varlistentry>
70   <term>rights</term>
71   <listitem>
72     <simpara>Tableau contenant la liste des noms des &LSprofiles; ayant le droit
73     d'exécuter cette action.</simpara>
74   </listitem>
75 </varlistentry>
76
77 </variablelist>
78
79 <sect3>
80     <title>Ecriture d'une fonction implémentant une customAction</title>
81     <para>Une fonction implémentant une <emphasis>customAction</emphasis> se déclare de
82     la manière suivante :
83     <programlisting linenumbering="unnumbered"><![CDATA[
84 /*
85  * Ma fonction implémentant ma customAction
86  *
87  * Paramètre :
88  *     - $object : Le LSobject sur lequel mon action doit être exécutée
89  *
90  * Valeurs retournées :
91  *     - True : Tout s'est bien passé
92  *     - False : Une erreur est survenue
93  */
94 function maFonction ($object) {
95
96   // Actions
97
98 }
99     ]]></programlisting>
100 Cette fonction doit prendre pour seul paramètre, le &LSobject; sur lequel l'action
101 personnalisée doit être exécutée et doit retourner soit <literal>True</literal> si 
102 tout s'est bien passé, soit <literal>False</literal> en cas de problème.</para>
103
104 <note><simpara>Ces fonctions sont le plus couramment définies au sein d'&LSaddon;.</simpara></note>
105
106 </sect3>
107
108
109 </sect2>