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'un groupe de mots
16 * @package SPIP\Mots\Formulaires
18 if (!defined('_ECRIRE_INC_VERSION')) {
22 include_spip('inc/actions');
23 include_spip('inc/editer');
26 * Chargement du formulaire d'édition d'un groupe de mots
28 * @param int|string $id_groupe
29 * Identifiant du groupe de mots. 'new' pour un nouveau groupe.
30 * @param string $retour
31 * URL de redirection après le traitement
32 * @param string $config_fonc
33 * Nom de la fonction ajoutant des configurations particulières au formulaire
35 * Valeurs de la ligne SQL du groupe de mot, si connu
36 * @param string $hidden
37 * Contenu HTML ajouté en même temps que les champs cachés du formulaire.
39 * Environnement du formulaire
41 function formulaires_editer_groupe_mot_charger_dist(
44 $config_fonc = 'groupes_mots_edit_config',
48 $valeurs = formulaires_editer_objet_charger('groupe_mots', $id_groupe, 0, '', $retour, $config_fonc, $row, $hidden);
50 if (test_formulaire_inclus_par_modele()) {
51 if (intval($id_groupe) and !autoriser('modifier', 'groupemots', intval($id_groupe))) {
52 $valeurs['editable'] = '';
57 $valeurs['tables_liees'] = explode(',', $valeurs['tables_liees']);
59 // par defaut a la creation de groupe
60 if (!intval($id_groupe)) {
61 $valeurs['tables_liees'] = array('articles');
62 $valeurs['minirezo'] = 'oui';
63 $valeurs['comite'] = 'oui';
70 * Identifier le formulaire en faisant abstraction des paramètres qui
71 * ne representent pas l'objet édité
73 * @param int|string $id_groupe
74 * Identifiant du groupe de mots. 'new' pour un nouveau groupe.
75 * @param string $retour
76 * URL de redirection après le traitement
77 * @param string $config_fonc
78 * Nom de la fonction ajoutant des configurations particulières au formulaire
80 * Valeurs de la ligne SQL du groupe de mot, si connu
81 * @param string $hidden
82 * Contenu HTML ajouté en même temps que les champs cachés du formulaire.
86 function formulaires_editer_groupe_mot_identifier_dist(
89 $config_fonc = 'groupes_mots_edit_config',
93 return serialize(array(intval($id_groupe)));
97 * Choix par défaut des options de présentation
100 * Valeurs de la ligne SQL du groupe de mot, si connu
102 * Configuration pour le formulaire
104 function groupes_mots_edit_config($row) {
105 global $spip_ecran, $spip_lang;
107 $config = $GLOBALS['meta'];
108 $config['lignes'] = ($spip_ecran == 'large') ?
8 : 5;
109 $config['langue'] = $spip_lang;
115 * Vérification du formulaire d'édition d'un groupe de mots
117 * @param int|string $id_groupe
118 * Identifiant du groupe de mots. 'new' pour un nouveau groupe.
119 * @param string $retour
120 * URL de redirection après le traitement
121 * @param string $config_fonc
122 * Nom de la fonction ajoutant des configurations particulières au formulaire
124 * Valeurs de la ligne SQL du groupe de mot, si connu
125 * @param string $hidden
126 * Contenu HTML ajouté en même temps que les champs cachés du formulaire.
128 * Tableau des erreurs
130 function formulaires_editer_groupe_mot_verifier_dist(
133 $config_fonc = 'groupes_mots_edit_config',
138 $erreurs = formulaires_editer_objet_verifier('groupe_mots', 0, array('titre'));
144 * Traitement du formulaire d'édition d'un groupe de mots
146 * @param int|string $id_groupe
147 * Identifiant du groupe de mots. 'new' pour un nouveau groupe.
148 * @param string $retour
149 * URL de redirection après le traitement
150 * @param string $config_fonc
151 * Nom de la fonction ajoutant des configurations particulières au formulaire
153 * Valeurs de la ligne SQL du groupe de mot, si connu
154 * @param string $hidden
155 * Contenu HTML ajouté en même temps que les champs cachés du formulaire.
157 * Retour des traitements
159 function formulaires_editer_groupe_mot_traiter_dist(
162 $config_fonc = 'groupes_mots_edit_config',
166 set_request('redirect', '');
167 // cas des checkbox : injecter la valeur non si rien de coche
175 if (!_request($champ)) {
176 set_request($champ, 'non');
180 $res = formulaires_editer_objet_traiter('groupe_mots', $id_groupe, 0, 0, $retour, $config_fonc, $row, $hidden);