source: spip-zone/_plugins_/location_objets/trunk/formulaires/configurer_location_objets.php @ 114264

Last change on this file since 114264 was 114264, checked in by abelass@…, 7 months ago

statuts dynamiques, pas hardcoded

File size: 8.8 KB
Line 
1<?php
2
3// Sécurité
4if (!defined('_ECRIRE_INC_VERSION'))
5        return;
6
7function formulaires_configurer_location_objets_saisies_dist() {
8        include_spip('inc/config');
9        include_spip('inc/plugin');
10        include_spip('inc/objets_location');
11
12        $liste_objets = lister_tables_objets_sql('spip_objets_locations');
13        $statuts = [];
14        $statuts_selectionnees = [];
15        $config = lire_config('location_objets', []);
16        $quand = isset($config['quand']) ? $config['quand'] : [];
17
18        //Le statuts du plugin, sauf en cours
19        foreach ($liste_objets['statut_textes_instituer'] AS $statut => $label) {
20                        $statuts[$statut] = _T($label);
21                if (in_array($statut, $quand))
22                        $statuts_selectionnees[$statut] = _T($label);
23        }
24
25
26        $choix_expediteurs = [
27                'webmaster' => _T('location_objets:notifications_expediteur_choix_webmaster'),
28                'administrateur' => _T('location_objets:notifications_expediteur_choix_administrateur'),
29                'email' => _T('location_objets:notifications_expediteur_choix_email')
30        ];
31
32        if (defined('_DIR_PLUGIN_FACTEUR')) {
33                $choix_expediteurs['facteur'] = _T('location_objets:notifications_expediteur_choix_facteur');
34        }
35
36        return [
37                [
38                        'saisie' => 'fieldset',
39                        'options' => [
40                                'nom' => 'fieldset_parametres',
41                                'label' => _T('location_objets:cfg_titre_parametrages')
42                        ],
43
44                        'saisies' => [
45                                [
46                                        'saisie' => 'selection',
47                                        'options' => [
48                                                'nom' => 'statut_defaut',
49                                                'datas' => $statuts,
50                                                'defaut' => 'valide',
51                                                'cacher_option_intro' => 'on',
52                                                'label' => _T('location_objets:label_statut_defaut'),
53                                                'defaut' => $config['statut_defaut']
54                                        ]
55                                ],
56                                [
57                                        'saisie' => 'checkbox',
58                                        'options' => [
59                                                'nom' => 'statut_loue',
60                                                'datas' => $statuts,
61                                                'defaut' => 'valide',
62                                                'label' => _T('location_objets:label_statut_loue'),
63                                                'explication' => _T('location_objets:explication_statut_loue'),
64                                                'defaut' => $config['statut_loue']
65                                        ]
66                                ],
67
68                                /*array(
69                                        'saisie' => 'input',
70                                        'options' => array(
71                                                'nom' => 'duree_vie',
72                                                'label' => _T('location_objets:duree_vie_label'),
73                                                'explication' => _T('location_objets:duree_vie_explication',
74                                                                array(
75                                                                        'statut_defaut' => $statuts[$config['statut_defaut']]
76                                                                )
77                                                        ),
78                                                'defaut' => $config['duree_vie'],
79                                        )
80                                ),*/
81                                //$poubelle_duree,
82                        ]
83                ],
84                [
85                        'saisie' => 'fieldset',
86                        'options' => [
87                                'nom' => 'formulaire',
88                                'label' => _T('location_objets:cfg_titre_formulaire'),
89                        ],
90                        'saisies' => [
91                                [
92                                        'saisie' => 'choisir_objets',
93                                        'options' => [
94                                                'nom' => 'location_extras_objets',
95                                                'label' => _T('location_objets:champ_location_extras_objets_label'),
96                                                'defaut' => $config['location_extras_objets'],
97                                        ],
98                                ],
99                                [
100                                        'saisie' => 'selection',
101                                        'options' => [
102                                                'nom' => 'entite_duree',
103                                                'label' => _T('objets_location:champ_entite_duree_label'),
104                                                'explication' => _T('objets_location:explication_entite_duree'),
105                                                'data' => entite_duree_definitions(),
106                                                'defaut' => $config['entite_duree'],
107                                        ],
108                                ],
109                        ],
110                ],
111                [
112                        'saisie' => 'fieldset',
113                        'options' => [
114                                'nom' => 'fieldset_notifications',
115                                'label' => _T('location_objets:notifications_cfg_titre')
116                        ],
117                        'saisies' => [
118                                [
119                                        'saisie' => 'explication',
120                                        'options' => [
121                                                'nom' => 'exp1',
122                                                'texte' => _T('location_objets:notifications_explication', ['statuts' => implode(', ', $statuts_selectionnees)])
123                                        ]
124                                ],
125                                [
126                                        'saisie' => 'oui_non',
127                                        'options' => [
128                                                'nom' => 'activer',
129                                                'label' => _T('location_objets:notifications_activer_label'),
130                                                'explication' => _T('location_objets:notifications_activer_explication'),
131                                                'defaut' => $config['activer']
132                                        ]
133                                ],
134                        ]
135                ],
136                [
137                        'saisie' => 'fieldset',
138                        'options' => [
139                                'nom' => 'fieldset_notifications_parametres',
140                                'label' => _T('location_objets:notifications_parametres'),
141                                'afficher_si' => '@activer@ == "on"',
142                        ],
143                        'saisies' => [
144                                [
145                                        'saisie' => 'selection_multiple',
146                                        'options' => [
147                                                'nom' => 'quand',
148                                                'label' => _T('location_objets:notifications_quand_label'),
149                                                'explication' => _T('location_objets:notifications_quand_explication'),
150                                                'cacher_option_intro' => 'on',
151                                                'datas' => $statuts,
152                                                'defaut' => $config['quand']
153                                        ]
154                                ],
155                                [
156                                        'saisie' => 'selection',
157                                        'options' => [
158                                                'nom' => 'expediteur',
159                                                'label' => _T('location_objets:notifications_expediteur_label'),
160                                                'explication' => _T('location_objets:notifications_expediteur_explication'),
161                                                'cacher_option_intro' => 'on',
162                                                'defaut' => $config['expediteur'],
163                                                'datas' => $choix_expediteurs
164                                        ]
165                                ],
166
167                                [
168                                        'saisie' => 'auteurs',
169                                        'options' => [
170                                                'nom' => 'expediteur_webmaster',
171                                                'label' => _T('location_objets:notifications_expediteur_webmaster_label'),
172                                                'statut' => '0minirezo',
173                                                'cacher_option_intro' => "on",
174                                                'webmestre' => 'oui',
175                                                'defaut' => $config['expediteur_webmaster'],
176                                                'afficher_si' => '@expediteur@ == "webmaster"',
177                                        ]
178                                ],
179                                [
180                                        'saisie' => 'auteurs',
181                                        'options' => [
182                                                'nom' => 'expediteur_administrateur',
183                                                'label' => _T('location_objets:notifications_expediteur_administrateur_label'),
184                                                'statut' => '0minirezo',
185                                                'cacher_option_intro' => "on",
186                                                'defaut' => $config['expediteur_administrateur'],
187                                                'afficher_si' => '@expediteur@ == "administrateur"',
188                                        ]
189                                ],
190                                [
191                                        'saisie' => 'input',
192                                        'options' => [
193                                                'nom' => 'expediteur_email',
194                                                'label' => _T('location_objets:notifications_expediteur_email_label'),
195                                                'defaut' => $config['expediteur_email'],
196                                                'afficher_si' => '@expediteur@ == "email"',
197                                        ]
198                                ],
199                                [
200                                        'saisie' => 'selection',
201                                        'options' => [
202                                                'nom' => 'vendeur',
203                                                'label' => _T('location_objets:notifications_destinataire_label'),
204                                                'explication' => _T('location_objets:notifications_destinataire_explication'),
205                                                'cacher_option_intro' => 'on',
206                                                'defaut' => $config['vendeur'],
207                                                'datas' => [
208                                                        'webmaster' => _T('location_objets:notifications_vendeur_choix_webmaster'),
209                                                        'administrateur' => _T('location_objets:notifications_vendeur_choix_administrateur'),
210                                                        'email' => _T('location_objets:notifications_vendeur_choix_email')
211                                                ]
212                                        ]
213                                ],
214                                [
215                                        'saisie' => 'auteurs',
216                                        'options' => [
217                                                'nom' => 'vendeur_webmaster',
218                                                'label' => _T('location_objets:notifications_vendeur_webmaster_label'),
219                                                'statut' => '0minirezo',
220                                                'cacher_option_intro' => "on",
221                                                'webmestre' => 'oui',
222                                                'multiple' => 'oui',
223                                                'defaut' => $config['vendeur_webmaster'],
224                                                'afficher_si' => '@vendeur@ == "webmaster"',
225                                        ]
226                                ],
227                                [
228                                        'saisie' => 'auteurs',
229                                        'options' => [
230                                                'nom' => 'vendeur_administrateur',
231                                                'label' => _T('location_objets:notifications_vendeur_administrateur_label'),
232                                                'statut' => '0minirezo',
233                                                'multiple' => 'oui',
234                                                'cacher_option_intro' => "on",
235                                                'defaut' => $config['vendeur_administrateur'],
236                                                'afficher_si' => '@vendeur@ == "administrateur"',
237                                        ]
238                                ],
239
240                                [
241                                        'saisie' => 'input',
242                                        'options' => [
243                                                'nom' => 'vendeur_email',
244                                                'label' => _T('location_objets:notifications_vendeur_email_label'),
245                                                'explication' => _T('location_objets:notifications_vendeur_email_explication'),
246                                                'defaut' => $config['vendeur_email'],
247                                                'afficher_si' => '@vendeur@ == "email"',
248                                        ]
249                                ],
250                                [
251                                        'saisie' => 'oui_non',
252                                        'options' => [
253                                                'nom' => 'client',
254                                                'label' => _T('location_objets:notifications_client_label'),
255                                                'explication' => _T('location_objets:notifications_client_explication'),
256                                                'defaut' => $config['client'],
257                                        ]
258                                ],
259                        ]
260                ],
261                /*array(
262                        'saisie' => 'fieldset',
263                        'options' => array(
264                                'nom' => 'fieldset_cron',
265                                'label' => _T('location_objets:formulaire_public')
266                        ),
267                        'saisies' => array(
268                                array(
269                                        'saisie' => 'oui_non',
270                                        'options' => array(
271                                                'nom' => 'enregistrement_inscrit',
272                                                'label' => _T('location_objets:label_enregistrement_inscrit'),
273                                                'explication' => _T('location_objets:explication_enregistrement_inscrit'),
274                                                'defaut' => $config['enregistrement_inscrit'],
275                                        )
276                                ),
277                                array(
278                                        'saisie' => 'oui_non',
279                                        'options' => array(
280                                                'nom' => 'enregistrement_inscrit_obligatoire',
281                                                'label' => _T('location_objets:label_enregistrement_inscrit_obligatoire'),
282                                                'defaut' => $config['enregistrement_inscrit_obligatoire'],
283                                                'afficher_si' => '@enregistrement_inscrit@ == "on"',
284                                        )
285                                ),
286                                array(
287                                        'saisie' => 'oui_non',
288                                        'options' => array(
289                                                'nom' => 'email_reutilisable',
290                                                'label' => _T('location_objets:label_email_reutilisable'),
291                                                'explication' => _T('location_objets:explication_email_reutilisable'),
292                                                'defaut' => $config['email_reutilisable'],
293                                                'afficher_si' => '@enregistrement_inscrit_obligatoire@ == ""',
294                                        )
295                                ),
296                        )
297                )*/
298        ];
299}
Note: See TracBrowser for help on using the repository browser.