4082b44c19b180e8d11a229a86e12472e261c9af
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
6 * Copyright (c) 2001-2020 *
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 d'une brève
16 * @package SPIP\Breves\Formulaires
18 if (!defined('_ECRIRE_INC_VERSION')) {
22 include_spip('inc/actions');
23 include_spip('inc/editer');
26 * Chargement du formulaire d'édition d'une brève
28 * @see formulaires_editer_objet_charger()
30 * @param int|string $id_breve
31 * Identifiant de la brève. 'new' pour une nouvelle brève.
32 * @param int $id_rubrique
33 * Identifiant de la rubrique parente (si connue)
34 * @param string $retour
35 * URL de redirection après le traitement
36 * @param int $lier_trad
37 * Identifiant de la brève que l'on cherche à traduire
38 * @param string $config_fonc
39 * Nom de la fonction ajoutant des configurations particulières au formulaire
41 * Valeurs de la ligne SQL de la brève, si connue
42 * @param string $hidden
43 * Contenu HTML ajouté en même temps que les champs cachés du formulaire.
45 * Environnement du formulaire
47 function formulaires_editer_breve_charger_dist(
52 $config_fonc = 'breves_edit_config',
56 $valeurs = formulaires_editer_objet_charger(
67 if (test_formulaire_inclus_par_modele()) {
68 if (intval($id_breve) and !autoriser('modifier', 'breve', intval($id_breve))) {
69 $valeurs['editable'] = '';
73 // un bug a permis a un moment que des breves soient dans des sous rubriques
74 // lorsque ce cas se presente, il faut relocaliser la breve dans son secteur, plutot que n'importe ou
75 if ($valeurs['id_parent']) {
76 $valeurs['id_parent'] = sql_getfetsel(
79 'id_rubrique=' . intval($valeurs['id_parent'])
88 * Identifier le formulaire en faisant abstraction des paramètres qui
89 * ne representent pas l'objet édité
91 * @param int|string $id_breve
92 * Identifiant de la brève. 'new' pour une nouvelle brève.
93 * @param int $id_rubrique
94 * Identifiant de la rubrique parente (si connue)
95 * @param string $retour
96 * URL de redirection après le traitement
97 * @param int $lier_trad
98 * Identifiant de la brève que l'on cherche à traduire
99 * @param string $config_fonc
100 * Nom de la fonction ajoutant des configurations particulières au formulaire
102 * Valeurs de la ligne SQL de la brève, si connue
103 * @param string $hidden
104 * Contenu HTML ajouté en même temps que les champs cachés du formulaire.
108 function formulaires_editer_breve_identifier_dist(
113 $config_fonc = 'breves_edit_config',
117 return serialize(array(intval($id_breve), $lier_trad));
122 * Choix par défaut des options de présentation
125 * Valeurs de la ligne SQL d'un mot, si connu
127 * Configuration pour le formulaire
129 function breves_edit_config($row) {
132 $config = $GLOBALS['meta'];
133 $config['lignes'] = 8;
134 $config['langue'] = $spip_lang;
136 $config['restreint'] = ($row['statut'] == 'publie');
142 * Vérification du formulaire d'édition d'une brève
144 * @see formulaires_editer_objet_verifier()
146 * @param int|string $id_breve
147 * Identifiant de la brève. 'new' pour une nouvelle brève.
148 * @param int $id_rubrique
149 * Identifiant de la rubrique parente (si connue)
150 * @param string $retour
151 * URL de redirection après le traitement
152 * @param int $lier_trad
153 * Identifiant de la brève que l'on cherche à traduire
154 * @param string $config_fonc
155 * Nom de la fonction ajoutant des configurations particulières au formulaire
157 * Valeurs de la ligne SQL de la brève, si connue
158 * @param string $hidden
159 * Contenu HTML ajouté en même temps que les champs cachés du formulaire.
161 * Tableau des erreurs
163 function formulaires_editer_breve_verifier_dist(
168 $config_fonc = 'breves_edit_config',
172 // auto-renseigner le titre si il n'existe pas
173 titre_automatique('titre', array('texte'));
174 // on ne demande pas le titre obligatoire : il sera rempli a la volee dans editer_article si vide
175 $erreurs = formulaires_editer_objet_verifier('breve', $id_breve, array('id_parent'));
181 * Traitements du formulaire d'édition d'une brève
183 * @see formulaires_editer_objet_traiter()
185 * @param int|string $id_breve
186 * Identifiant de la brève. 'new' pour une nouvelle brève.
187 * @param int $id_rubrique
188 * Identifiant de la rubrique parente (si connue)
189 * @param string $retour
190 * URL de redirection après le traitement
191 * @param int $lier_trad
192 * Identifiant de la brève que l'on cherche à traduire
193 * @param string $config_fonc
194 * Nom de la fonction ajoutant des configurations particulières au formulaire
196 * Valeurs de la ligne SQL de la brève, si connue
197 * @param string $hidden
198 * Contenu HTML ajouté en même temps que les champs cachés du formulaire.
200 * Tableau des erreurs
202 function formulaires_editer_breve_traiter_dist(
207 $config_fonc = 'breves_edit_config',
211 return formulaires_editer_objet_traiter(