Initial import
[ldapsaisie.git] / trunk / conf / config.LSeepeople.php
1 <?php
2 /*******************************************************************************
3  * Copyright (C) 2007 Easter-eggs
4  * http://ldapsaisie.labs.libre-entreprise.org
5  *
6  * Author: See AUTHORS file in top-level directory.
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License version 2
10  * as published by the Free Software Foundation.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
20
21 ******************************************************************************/
22
23 $GLOBALS['LSobjects']['LSeepeople'] = array (
24   'objectclass' => array(
25     'ostpeople',
26     'posixAccount'
27   ),
28   'before_save' => 'valid',
29   'after_save' => 'valid',
30   'select_display_attrs' => '%{cn]',
31   'attrs' => array (
32     'uid' => array (
33       'label' => 'Identifiant',
34       'ldap_type' => 'ascii',
35       'html_type' => 'text',
36       'required' => 1,
37       'check_data' => array (
38         'alphanumeric' => array(
39           'msg' => "L'identifiant ne doit comporter que des lettres et des chiffres."
40         ),
41       ),
42       'validation' => array (
43         array (
44           'basedn' => 'o=ost',
45           'filter' => 'uid=%{val}',
46           'result' => 0,
47           //~ 'msg' => 'Cet identifiant est déjà utilisé.'
48         )
49       ),
50       'rights' => array(                      // Définition de droits : 'r' => lecture / 'w' => modification / '' => aucun (par defaut)
51         'self' => 'w',                    // définition des droits de l'utilisateur sur lui même
52         'users' => 'r'                    // définition des droits de tout les utilisateurs
53       ),
54       'form' => array (
55         'test' => 0,
56         'add' => 1
57       )
58     ),
59     'uidNumber' => array (
60       'label' => 'Identifiant (numérique)',
61       'ldap_type' => 'numeric',
62       'html_type' => 'text',
63       'required' => 1,
64       'check_data' => array (
65         'numeric' => array(
66           'msg' => "L'identifiant unique doit être un entier."
67         ),
68       ),
69       'validation' => array (
70         array (
71           'basedn' => 'o=ost',
72           'filter' => 'uidNumber=%{val}',
73           'result' => 0,
74           //~ 'msg' => 'Cet identifiant est déjà utilisé.'
75         )
76       ),
77       'rights' => array(                      // Définition de droits : 'r' => lecture / 'w' => modification / '' => aucun (par defaut)
78         'self' => 'w',                    // définition des droits de l'utilisateur sur lui même
79         'users' => 'r'                    // définition des droits de tout les utilisateurs
80       ),
81       'form' => array (
82         'test' => 0,
83         'add' => 1
84       )
85     ),
86     'cn' => array (
87       'label' => 'Nom complet',
88       'ldap_type' => 'ascii',
89       'html_type' => 'text',
90       'required' => 1,
91       'validation' => 'valid',
92       'rights' => array(                      // Définition de droits : 'r' => lecture / 'w' => modification / '' => aucun (par defaut)
93         'self' => 'w',                    // définition des droits de l'utilisateur sur lui même
94         'users' => 'r'                    // définition des droits de tout les utilisateurs
95       ),
96       'form' => array (
97         'test' => 1,
98         'add' => 1
99       )
100     ),
101     'givenName' => array (
102       'label' => 'Prenom',
103       'ldap_type' => 'ascii',
104       'html_type' => 'text',
105       'required' => 1,
106       'default_value' => 'toto',
107       'check_data' => array (
108         'alphanumeric' => array(
109           'msg' => 'Le prenom ne doit comporter que des lettres et des chiffres.'
110         ),
111       ),
112       //~ 'validation' => array (
113         //~ array (
114           //~ 'basedn' => 'o=ost',
115           //~ 'filter' => 'uid=%{uid}',
116           //~ 'result' => 0
117         //~ )
118       //~ ),
119       'rights' => array(                      // Définition de droits : 'r' => lecture / 'w' => modification / '' => aucun (par defaut)
120         'self' => 'w',                    // définition des droits de l'utilisateur sur lui même
121         'users' => 'r'                    // définition des droits de tout les utilisateurs
122       ),
123       'form' => array (
124         'test' => 1,
125         'add' => 1
126       ),
127       'onDisplay' => 'return_data'
128     ),
129     'sn' => array (
130       'label' => 'Nom',
131       'ldap_type' => 'ascii',
132       'html_type' => 'text',
133       'required' => 1,
134       'check_data' => array (
135         'alphanumeric' => array(
136           'msg' => 'Le nom ne doit comporter que des lettres et des chiffres.'
137         ),
138       ),
139       //~ 'validation' => array (
140         //~ array (
141           //~ 'basedn' => 'o=ost',
142           //~ 'filter' => 'uid=%{uid}',
143           //~ 'result' => 0
144         //~ )
145       //~ ),
146       'rights' => array(                      // Définition de droits : 'r' => lecture / 'w' => modification / '' => aucun (par defaut)
147         'self' => 'w',                    // définition des droits de l'utilisateur sur lui même
148         'users' => 'r'                    // définition des droits de tout les utilisateurs
149       ),
150       'form' => array (
151         'test' => 1,
152         'add' => 1
153       )
154     ),
155     'gidNumber' => array (
156       'label' => 'Groupe principal',
157       'ldap_type' => 'numeric',
158       'html_type' => 'select_list',
159       'required' => 1,
160       'validation' => array (
161         array (
162           'object_type' => 'LSeegroup',           // 'object_type' : Permet definir le type d'objet recherchés
163           'basedn' => 'o=ost',                    //  et d'utiliser les objectClass définis dans le fichier de configuration
164           'filter' => '(gidNumber=%{val})', // pour la recherche
165           'result' => 1
166         )
167       ),
168       'rights' => array(                      // Définition de droits : 'r' => lecture / 'w' => modification / '' => aucun (par defaut)
169         'self' => 'w',                    // définition des droits de l'utilisateur sur lui même
170         'users' => 'r'                    // définition des droits de tout les utilisateurs
171       ),
172       'form' => array (
173         'test' => 1,
174         'add' => 1
175       ),
176       'possible_values' => array(
177         'aucun' => '-- Selectionner --',
178         'OTHER_OBJECT' => array(
179           'object_type' => 'LSeegroup',         // Nom de l'objet à lister
180           'display_attribute' => '%{cn} (%{gidNumber})',     // Spécifie le attributs à lister pour le choix,
181                                               // si non définie => utilisation du 'select_display_attrs'
182                                               // de la définition de l'objet
183                                               
184           'value_attribute' => 'gidNumber',    // Spécifie le attributs dont la valeur sera retournée par
185           'filter' =>                         // le formulaire spécifie les filtres de recherche pour
186             array (                           // l'établissement de la liste d'objets :
187               array(                          // Premier filtre
188                 'filter' => 'cn=*a*',
189                 'basedn' => 'o=ost',
190                 'scope' => 'sub',
191                 //~ 'attr' => '[attribut]',      // Si 'attr' est définis, on effectura pour chacune des 
192                                              // valeurs de l'attribut correspants une recherche avec 
193                                              // le filtre suivant composé avec la valeur de cette attribut
194               )
195               //~ array(
196                 //~ 'filter' => '[format sprintf]',
197                 //~ 'basedn' => '[basedn]',
198               //~ ),
199               //~ ...
200             )
201           //~ 'basedn' =>
202             //~ '[basedn]'
203         )
204       )
205     )
206   )
207 );
208 ?>