3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
6 * Copyright (c) 2001-2016 *
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(
66 // un bug a permis a un moment que des breves soient dans des sous rubriques
67 // lorsque ce cas se presente, il faut relocaliser la breve dans son secteur, plutot que n'importe ou
68 if ($valeurs['id_parent']) {
69 $valeurs['id_parent'] = sql_getfetsel(
72 'id_rubrique=' . intval($valeurs['id_parent'])
81 * Identifier le formulaire en faisant abstraction des paramètres qui
82 * ne representent pas l'objet édité
84 * @param int|string $id_breve
85 * Identifiant de la brève. 'new' pour une nouvelle brève.
86 * @param int $id_rubrique
87 * Identifiant de la rubrique parente (si connue)
88 * @param string $retour
89 * URL de redirection après le traitement
90 * @param int $lier_trad
91 * Identifiant de la brève que l'on cherche à traduire
92 * @param string $config_fonc
93 * Nom de la fonction ajoutant des configurations particulières au formulaire
95 * Valeurs de la ligne SQL de la brève, si connue
96 * @param string $hidden
97 * Contenu HTML ajouté en même temps que les champs cachés du formulaire.
101 function formulaires_editer_breve_identifier_dist(
106 $config_fonc = 'breves_edit_config',
110 return serialize(array(intval($id_breve), $lier_trad));
115 * Choix par défaut des options de présentation
118 * Valeurs de la ligne SQL d'un mot, si connu
120 * Configuration pour le formulaire
122 function breves_edit_config($row) {
125 $config = $GLOBALS['meta'];
126 $config['lignes'] = 8;
127 $config['langue'] = $spip_lang;
129 $config['restreint'] = ($row['statut'] == 'publie');
135 * Vérification du formulaire d'édition d'une brève
137 * @see formulaires_editer_objet_verifier()
139 * @param int|string $id_breve
140 * Identifiant de la brève. 'new' pour une nouvelle brève.
141 * @param int $id_rubrique
142 * Identifiant de la rubrique parente (si connue)
143 * @param string $retour
144 * URL de redirection après le traitement
145 * @param int $lier_trad
146 * Identifiant de la brève que l'on cherche à traduire
147 * @param string $config_fonc
148 * Nom de la fonction ajoutant des configurations particulières au formulaire
150 * Valeurs de la ligne SQL de la brève, si connue
151 * @param string $hidden
152 * Contenu HTML ajouté en même temps que les champs cachés du formulaire.
154 * Tableau des erreurs
156 function formulaires_editer_breve_verifier_dist(
161 $config_fonc = 'breves_edit_config',
165 // auto-renseigner le titre si il n'existe pas
166 titre_automatique('titre', array('texte'));
167 // on ne demande pas le titre obligatoire : il sera rempli a la volee dans editer_article si vide
168 $erreurs = formulaires_editer_objet_verifier('breve', $id_breve, array('id_parent'));
174 * Traitements du formulaire d'édition d'une brève
176 * @see formulaires_editer_objet_traiter()
178 * @param int|string $id_breve
179 * Identifiant de la brève. 'new' pour une nouvelle brève.
180 * @param int $id_rubrique
181 * Identifiant de la rubrique parente (si connue)
182 * @param string $retour
183 * URL de redirection après le traitement
184 * @param int $lier_trad
185 * Identifiant de la brève que l'on cherche à traduire
186 * @param string $config_fonc
187 * Nom de la fonction ajoutant des configurations particulières au formulaire
189 * Valeurs de la ligne SQL de la brève, si connue
190 * @param string $hidden
191 * Contenu HTML ajouté en même temps que les champs cachés du formulaire.
193 * Tableau des erreurs
195 function formulaires_editer_breve_traiter_dist(
200 $config_fonc = 'breves_edit_config',
204 return formulaires_editer_objet_traiter(