3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
6 * Copyright (c) 2001-2017 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
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 \***************************************************************************/
14 * Gestion du formulaire de d'édition de rubrique
16 * @package SPIP\Core\Rubriques\Formulaires
19 if (!defined('_ECRIRE_INC_VERSION')) {
23 include_spip('inc/actions');
24 include_spip('inc/editer');
28 * Chargement du formulaire d'édition d'une rubrique
30 * @see formulaires_editer_objet_charger()
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
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.
47 * Environnement du formulaire
49 function formulaires_editer_rubrique_charger_dist(
54 $config_fonc = 'rubriques_edit_config',
58 return formulaires_editer_objet_charger(
71 * Choix par défaut des options de présentation
74 * Valeurs de la ligne SQL d'une rubrique, si connue
76 * Configuration pour le formulaire
78 function rubriques_edit_config($row) {
81 $config = $GLOBALS['meta'];
82 $config['lignes'] = 8;
83 $config['langue'] = $spip_lang;
85 $config['restreint'] = (!$GLOBALS['connect_toutes_rubriques']);
91 * Identifier le formulaire en faisant abstraction des paramètres qui
92 * ne représentent pas l'objet édité
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
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.
111 function formulaires_editer_rubrique_identifier_dist(
112 $id_rubrique = 'new',
116 $config_fonc = 'rubriques_edit_config',
120 return serialize(array(intval($id_rubrique), $lier_trad));
124 * Vérifications du formulaire d'édition d'une rubrique
126 * @see formulaires_editer_objet_verifier()
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
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.
143 * Erreurs du formulaire
145 function formulaires_editer_rubrique_verifier_dist(
146 $id_rubrique = 'new',
150 $config_fonc = 'rubriques_edit_config',
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());
163 * Traitements du formulaire d'édition d'une rubrique
165 * @see formulaires_editer_objet_traiter()
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
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.
182 * Retour des traitements
184 function formulaires_editer_rubrique_traiter_dist(
185 $id_rubrique = 'new',
189 $config_fonc = 'rubriques_edit_config',
193 return formulaires_editer_objet_traiter(