[SPIP][PLUGINS] v3.0-->v3.2
[lhc/web/www.git] / www / prive / formulaires / editer_rubrique.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2017 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
8 * *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
12
13 /**
14 * Gestion du formulaire de d'édition de rubrique
15 *
16 * @package SPIP\Core\Rubriques\Formulaires
17 **/
18
19 if (!defined('_ECRIRE_INC_VERSION')) {
20 return;
21 }
22
23 include_spip('inc/actions');
24 include_spip('inc/editer');
25
26
27 /**
28 * Chargement du formulaire d'édition d'une rubrique
29 *
30 * @see formulaires_editer_objet_charger()
31 *
32 * @param int|string $id_rubrique
33 * Identifiant de la rubrique. 'new' pour une nouvelle rubrique
34 * @param int $id_parent
35 * Identifiant de la rubrique parente
36 * @param string $retour
37 * URL de redirection après le traitement
38 * @param int $lier_trad
39 * Identifiant éventuel d'une rubrique source de traduction
40 * @param string $config_fonc
41 * Nom de la fonction ajoutant des configurations particulières au formulaire
42 * @param array $row
43 * Valeurs de la ligne SQL de la rubrique, si connue
44 * @param string $hidden
45 * Contenu HTML ajouté en même temps que les champs cachés du formulaire.
46 * @return array
47 * Environnement du formulaire
48 **/
49 function formulaires_editer_rubrique_charger_dist(
50 $id_rubrique = 'new',
51 $id_parent = 0,
52 $retour = '',
53 $lier_trad = 0,
54 $config_fonc = 'rubriques_edit_config',
55 $row = array(),
56 $hidden = ''
57 ) {
58 return formulaires_editer_objet_charger(
59 'rubrique',
60 $id_rubrique,
61 $id_parent,
62 $lier_trad,
63 $retour,
64 $config_fonc,
65 $row,
66 $hidden
67 );
68 }
69
70 /**
71 * Choix par défaut des options de présentation
72 *
73 * @param array $row
74 * Valeurs de la ligne SQL d'une rubrique, si connue
75 * return array
76 * Configuration pour le formulaire
77 */
78 function rubriques_edit_config($row) {
79 global $spip_lang;
80
81 $config = $GLOBALS['meta'];
82 $config['lignes'] = 8;
83 $config['langue'] = $spip_lang;
84
85 $config['restreint'] = (!$GLOBALS['connect_toutes_rubriques']);
86
87 return $config;
88 }
89
90 /**
91 * Identifier le formulaire en faisant abstraction des paramètres qui
92 * ne représentent pas l'objet édité
93 *
94 * @param int|string $id_rubrique
95 * Identifiant de la rubrique. 'new' pour une nouvelle rubrique
96 * @param int $id_parent
97 * Identifiant de la rubrique parente
98 * @param string $retour
99 * URL de redirection après le traitement
100 * @param int $lier_trad
101 * Identifiant éventuel d'une rubrique source de traduction
102 * @param string $config_fonc
103 * Nom de la fonction ajoutant des configurations particulières au formulaire
104 * @param array $row
105 * Valeurs de la ligne SQL de la rubrique, si connue
106 * @param string $hidden
107 * Contenu HTML ajouté en même temps que les champs cachés du formulaire.
108 * @return string
109 * Hash du formulaire
110 */
111 function formulaires_editer_rubrique_identifier_dist(
112 $id_rubrique = 'new',
113 $id_parent = 0,
114 $retour = '',
115 $lier_trad = 0,
116 $config_fonc = 'rubriques_edit_config',
117 $row = array(),
118 $hidden = ''
119 ) {
120 return serialize(array(intval($id_rubrique), $lier_trad));
121 }
122
123 /**
124 * Vérifications du formulaire d'édition d'une rubrique
125 *
126 * @see formulaires_editer_objet_verifier()
127 *
128 * @param int|string $id_rubrique
129 * Identifiant de la rubrique. 'new' pour une nouvelle rubrique
130 * @param int $id_parent
131 * Identifiant de la rubrique parente
132 * @param string $retour
133 * URL de redirection après le traitement
134 * @param int $lier_trad
135 * Identifiant éventuel d'une rubrique source de traduction
136 * @param string $config_fonc
137 * Nom de la fonction ajoutant des configurations particulières au formulaire
138 * @param array $row
139 * Valeurs de la ligne SQL de la rubrique, si connue
140 * @param string $hidden
141 * Contenu HTML ajouté en même temps que les champs cachés du formulaire.
142 * @return array
143 * Erreurs du formulaire
144 **/
145 function formulaires_editer_rubrique_verifier_dist(
146 $id_rubrique = 'new',
147 $id_parent = 0,
148 $retour = '',
149 $lier_trad = 0,
150 $config_fonc = 'rubriques_edit_config',
151 $row = array(),
152 $hidden = ''
153 ) {
154 // auto-renseigner le titre si il n'existe pas
155 titre_automatique('titre', array('descriptif', 'texte'));
156 // on ne demande pas le titre obligatoire : il sera rempli a la volee dans editer_rubrique si vide
157 $erreurs = formulaires_editer_objet_verifier('rubrique', $id_rubrique, array());
158
159 return $erreurs;
160 }
161
162 /**
163 * Traitements du formulaire d'édition d'une rubrique
164 *
165 * @see formulaires_editer_objet_traiter()
166 *
167 * @param int|string $id_rubrique
168 * Identifiant de la rubrique. 'new' pour une nouvelle rubrique
169 * @param int $id_parent
170 * Identifiant de la rubrique parente
171 * @param string $retour
172 * URL de redirection après le traitement
173 * @param int $lier_trad
174 * Identifiant éventuel d'une rubrique source de traduction
175 * @param string $config_fonc
176 * Nom de la fonction ajoutant des configurations particulières au formulaire
177 * @param array $row
178 * Valeurs de la ligne SQL de la rubrique, si connue
179 * @param string $hidden
180 * Contenu HTML ajouté en même temps que les champs cachés du formulaire.
181 * @return array
182 * Retour des traitements
183 **/
184 function formulaires_editer_rubrique_traiter_dist(
185 $id_rubrique = 'new',
186 $id_parent = 0,
187 $retour = '',
188 $lier_trad = 0,
189 $config_fonc = 'rubriques_edit_config',
190 $row = array(),
191 $hidden = ''
192 ) {
193 return formulaires_editer_objet_traiter(
194 'rubrique',
195 $id_rubrique,
196 $id_parent,
197 $lier_trad,
198 $retour,
199 $config_fonc,
200 $row,
201 $hidden
202 );
203 }