source: spip-zone/_plugins_/dictionnaires/trunk/formulaires/editer_definition.php @ 65485

Last change on this file since 65485 was 65485, checked in by marcimat@…, 7 years ago

Poursuite du passage à SPIP 3 du plugin dictionnaire. On utilise l'api d'objets éditoriaux et on ne met que les squelettes nécessaires dans le plugin. Au passage on PHPDoc toutes les fonctions.

File size: 4.4 KB
Line 
1<?php
2
3/**
4 * Gestion du formulaire de d'édition d'une définition
5 *
6 * @package SPIP\Dictionnaires\Formulaires
7**/
8
9// Sécurité
10if (!defined('_ECRIRE_INC_VERSION')) return;
11
12include_spip('inc/editer');
13
14
15/**
16 * Définition des champs de saisie du formulaire d'édition de définition
17 *
18 * @param int|string $id_definition
19 *     Identifiant de la définition. 'new' pour une nouvelle définition.
20 * @param int $id_dictionnaire
21 *     Identifiant du dictionnaire parent
22 * @param string $retour
23 *     URL de redirection après le traitement
24 * @return array
25 *     Liste de saisies et leurs options
26**/
27function formulaires_editer_definition_saisies_dist($id_definition='new', $id_dictionnaire=0, $retour=''){
28        $saisies = array(
29                array(
30                        'saisie' => 'hidden',
31                        'options' => array(
32                                'nom' => 'id_definition',
33                                'valeur' => $id_definition
34                        )
35                ),
36                array(
37                        'saisie' => 'input',
38                        'options' => array(
39                                'nom' => 'titre',
40                                'label' => _T('definition:champ_titre_label'),
41                                'obligatoire' => 'oui'
42                        )
43                ),
44                array(
45                        'saisie' => 'dictionnaires',
46                        'options' => array(
47                                'nom' => 'id_dictionnaire',
48                                'label' => _T('dictionnaire:titre_dictionnaire'),
49                                'cacher_option_intro' => 'oui',
50                                'obligatoire' => 'oui',
51                                'defaut' => $id_dictionnaire
52                        )
53                ),
54                array(
55                        'saisie' => 'textarea',
56                        'options' => array(
57                                'nom' => 'texte',
58                                'label' => _T('definition:champ_texte_label'),
59                        )
60                ),
61                array(
62                        'saisie' => 'input',
63                        'options' => array(
64                                'nom' => 'termes',
65                                'label' => _T('definition:champ_termes_label'),
66                                'explication' => _T('definition:champ_termes_explication'),
67                        )
68                ),
69                array(
70                        'saisie' => 'case',
71                        'options' => array(
72                                'nom' => 'type',
73                                'label' => _T('definition:champ_type_label'),
74                                'label_case' => _T('definition:champ_type_label_case'),
75                                'valeur_oui' => 'abbr',
76                        )
77                ),
78                array(
79                        'saisie' => 'case',
80                        'options' => array(
81                                'nom' => 'casse',
82                                'label' => _T('definition:champ_casse_label'),
83                                'label_case' => _T('definition:champ_casse_label_case'),
84                                'valeur_oui' => '1',
85                        )
86                ),
87        );
88       
89        return $saisies;
90}
91
92/**
93 * Chargement du formulaire d'édition de définition
94 *
95 * @see formulaires_editer_objet_charger()
96 *
97 * @param int|string $id_definition
98 *     Identifiant de la définition. 'new' pour une nouvelle définition.
99 * @param int $id_dictionnaire
100 *     Identifiant du dictionnaire parent
101 * @param string $retour
102 *     URL de redirection après le traitement
103 * @return array
104 *     Environnement du formulaire
105**/
106function formulaires_editer_definition_charger_dist($id_definition='new',  $id_dictionnaire=0, $retour=''){
107        $contexte = formulaires_editer_objet_charger('definition', $id_definition, $id_dictionnaire, 0, $retour, '');
108       
109        // Pour une case à cocher on est obligé de faire ça ici car la valeur "defaut" de la saisie ne marche pas
110        if (!($id_definition>0) and $id_dictionnaire>0){
111                $contexte['type'] = sql_getfetsel('type_defaut', 'spip_dictionnaires', 'id_dictionnaire = '.$id_dictionnaire);
112        }
113       
114        return $contexte;
115}
116
117/**
118 * Vérifications du formulaire d'édition de définition
119 *
120 * @see formulaires_editer_objet_verifier()
121 *
122 * @param int|string $id_definition
123 *     Identifiant de la définition. 'new' pour une nouvelle définition.
124 * @param int $id_dictionnaire
125 *     Identifiant du dictionnaire parent
126 * @param string $retour
127 *     URL de redirection après le traitement
128 * @return array
129 *     Tableau des erreurs
130**/
131function formulaires_editer_definition_verifier_dist($id_definition='new',  $id_dictionnaire=0, $retour=''){
132        $erreurs = formulaires_editer_objet_verifier('definition', $id_definition);
133        return $erreurs;
134}
135
136/**
137 * Traitements du formulaire d'édition de définition
138 *
139 * @see formulaires_editer_objet_traiter()
140 *
141 * @param int|string $id_definition
142 *     Identifiant de la définition. 'new' pour une nouvelle définition.
143 * @param int $id_dictionnaire
144 *     Identifiant du dictionnaire parent
145 * @param string $retour
146 *     URL de redirection après le traitement
147 * @return array
148 *     Retour des traitements
149**/
150function formulaires_editer_definition_traiter_dist($id_definition='new',  $id_dictionnaire=0, $retour=''){
151
152        if (is_null(_request('type'))){ set_request('type', ''); }
153        if (is_null(_request('casse'))){ set_request('casse', ''); }
154
155        $retours = formulaires_editer_objet_traiter('definition', $id_definition, $id_dictionnaire, 0, $retour, '');
156        return $retours;
157}
158
159?>
Note: See TracBrowser for help on using the repository browser.