source: spip-zone/_plugins_/fabrique/branches/v1/fabrique/formulaires/editer_objet.php.html @ 79327

Last change on this file since 79327 was 79327, checked in by marcimat@…, 7 years ago

2è version de l'option qui change le statut des rubriques (peetdu) :

  • manquait la déclaration du pipeline,
  • utiliser le nom d'objet, pas son type ;
  • id_rubrique correctement déclaré !
File size: 6.9 KB
Line 
1#PHP
2[(#INCLURE{fond=fabrique/entetes/php,env,
3        description=Gestion du formulaire de d'édition de #TYPE,
4        package=Formulaires})]
5
6include_spip('inc/actions');
7include_spip('inc/editer');
8[(#REM)
9
10        Y a t'il un champ de rubrique a prendre en compte ?
11
12][(#SET{id_rubrique,[(#OBJET|champ_present{id_rubrique})]})][    (#REM)
13][(#SET{id_rubrique_param,#GET{id_rubrique}|?{'$id_rubrique=0,'}})][     (#REM)
14][(#SET{id_rubrique_val,#GET{id_rubrique}|?{'$id_rubrique', "''"}})][    (#REM)
15
16        Y a t'il une association a prendre en compte ?
17
18][(#SET{associer,[(#OBJET|option_presente{vue_liens})]})][     (#REM)
19][(#SET{associer_param,#GET{associer}|?{"$associer_objet='',"}})][   (#REM)
20][(#SET{associer_val,#GET{associer}|?{'$associer_objet'}})][    (#REM)
21
22        Y a t'il des champs obligatoire a verifier ?
23        Il faut qu'il soit obligatoire et dispose d'une saisie
24
25][(#SET{obligatoires,[(#ENV{objet/champs}|champs_options_presentes{#LISTE{obligatoire,saisie},champ})]})][   (#REM)
26
27
28        Fonctions de chargement de l'objet
29
30
31]
32/**
33 * Identifier le formulaire en faisant abstraction des paramètres qui ne représentent pas l'objet edité
34 *
35 * @param int|string $#ID_OBJET
36 *     Identifiant du #TYPE. 'new' pour un nouveau #TYPE.[
37 * @param int $(#GET{id_rubrique}|?{id_rubrique})
38 *     Identifiant de la rubrique parente (si connue)]
39 * @param string $retour
40 *     URL de redirection après le traitement[
41 * @param string $(#GET{associer}|?{associer_objet})
42 *     Éventuel `objet|x` indiquant de lier le #TYPE créé à cet objet,
43 *     tel que `article|3`]
44 * @param int $lier_trad
45 *     Identifiant éventuel d'un #TYPE source d'une traduction
46 * @param string $config_fonc
47 *     Nom de la fonction ajoutant des configurations particulières au formulaire
48 * @param array $row
49 *     Valeurs de la ligne SQL du #TYPE, si connu
50 * @param string $hidden
51 *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
52 * @return string
53 *     Hash du formulaire
54 */
55function formulaires_editer_[(#TYPE)]_identifier_dist($#ID_OBJET='new',[ (#GET{id_rubrique_param})] $retour='',[ (#GET{associer_param})] $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
56        return serialize(array(intval($#ID_OBJET)[, (#GET{associer_val})]));
57}
58
59/**
60 * Chargement du formulaire d'édition de #TYPE
61 *
62 * Déclarer les champs postés et y intégrer les valeurs par défaut
63 *
64 * @uses formulaires_editer_objet_charger()
65 *
66 * @param int|string $#ID_OBJET
67 *     Identifiant du #TYPE. 'new' pour un nouveau #TYPE.[
68 * @param int $(#GET{id_rubrique}|?{id_rubrique})
69 *     Identifiant de la rubrique parente (si connue)]
70 * @param string $retour
71 *     URL de redirection après le traitement[
72 * @param string $(#GET{associer}|?{associer_objet})
73 *     Éventuel `objet|x` indiquant de lier le #TYPE créé à cet objet,
74 *     tel que `article|3`]
75 * @param int $lier_trad
76 *     Identifiant éventuel d'un #TYPE source d'une traduction
77 * @param string $config_fonc
78 *     Nom de la fonction ajoutant des configurations particulières au formulaire
79 * @param array $row
80 *     Valeurs de la ligne SQL du #TYPE, si connu
81 * @param string $hidden
82 *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
83 * @return array
84 *     Environnement du formulaire
85 */
86function formulaires_editer_[(#TYPE)]_charger_dist($#ID_OBJET='new',[ (#GET{id_rubrique_param})] $retour='',[ (#GET{associer_param})] $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
87        $valeurs = formulaires_editer_objet_charger('#TYPE',$#ID_OBJET,#GET{id_rubrique_val},$lier_trad,$retour,$config_fonc,$row,$hidden);
88        return $valeurs;
89}
90
91/**
92 * Vérifications du formulaire d'édition de #TYPE
93 *
94 * Vérifier les champs postés et signaler d'éventuelles erreurs
95 *
96 * @uses formulaires_editer_objet_verifier()
97 *
98 * @param int|string $#ID_OBJET
99 *     Identifiant du #TYPE. 'new' pour un nouveau #TYPE.[
100 * @param int $(#GET{id_rubrique}|?{id_rubrique})
101 *     Identifiant de la rubrique parente (si connue)]
102 * @param string $retour
103 *     URL de redirection après le traitement[
104 * @param string $(#GET{associer}|?{associer_objet})
105 *     Éventuel `objet|x` indiquant de lier le #TYPE créé à cet objet,
106 *     tel que `article|3`]
107 * @param int $lier_trad
108 *     Identifiant éventuel d'un #TYPE source d'une traduction
109 * @param string $config_fonc
110 *     Nom de la fonction ajoutant des configurations particulières au formulaire
111 * @param array $row
112 *     Valeurs de la ligne SQL du #TYPE, si connu
113 * @param string $hidden
114 *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
115 * @return array
116 *     Tableau des erreurs
117 */
118function formulaires_editer_[(#TYPE)]_verifier_dist($#ID_OBJET='new',[ (#GET{id_rubrique_param})] $retour='',[ (#GET{associer_param})] $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
119<B_saisies_type_date>
120
121<BOUCLE_saisies_type_date(DATA){source tableau,#ENV{objet/champs}}{saisie = date}>
122</BOUCLE_saisies_type_date>
123</B_saisies_type_date>
124        return formulaires_editer_objet_verifier('#TYPE',$#ID_OBJET[, (#GET{obligatoires}|ecrire_tableau_sinon_rien)]);
125<//B_saisies_type_date>
126}
127
128/**
129 * Traitement du formulaire d'édition de #TYPE
130 *
131 * Traiter les champs postés
132 *
133 * @uses formulaires_editer_objet_traiter()
134 *
135 * @param int|string $#ID_OBJET
136 *     Identifiant du #TYPE. 'new' pour un nouveau #TYPE.[
137 * @param int $(#GET{id_rubrique}|?{id_rubrique})
138 *     Identifiant de la rubrique parente (si connue)]
139 * @param string $retour
140 *     URL de redirection après le traitement[
141 * @param string $(#GET{associer}|?{associer_objet})
142 *     Éventuel `objet|x` indiquant de lier le #TYPE créé à cet objet,
143 *     tel que `article|3`]
144 * @param int $lier_trad
145 *     Identifiant éventuel d'un #TYPE source d'une traduction
146 * @param string $config_fonc
147 *     Nom de la fonction ajoutant des configurations particulières au formulaire
148 * @param array $row
149 *     Valeurs de la ligne SQL du #TYPE, si connu
150 * @param string $hidden
151 *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
152 * @return array
153 *     Retours des traitements
154 */
155function formulaires_editer_[(#TYPE)]_traiter_dist($#ID_OBJET='new',[ (#GET{id_rubrique_param})] $retour='',[ (#GET{associer_param})] $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
156        [(#GET{associer}|?{'$res =', 'return'})] formulaires_editer_objet_traiter('#TYPE',$#ID_OBJET,#GET{id_rubrique_val},$lier_trad,$retour,$config_fonc,$row,$hidden);[
157(#GET{associer}|oui)
158        // Un lien a prendre en compte ?
159        if ($associer_objet AND $#ID_OBJET = $res\['#ID_OBJET'\]) {
160                list($objet, $id_objet) = explode('|', $associer_objet);
161
162                if ($objet AND $id_objet AND autoriser('modifier', $objet, $id_objet)) {
163                        include_spip('action/editer_liens');
164                        objet_associer(array('#TYPE' => $#ID_OBJET), array($objet => $id_objet));
165                        if (isset($res\['redirect'\])) {
166                                $res\['redirect'\] = parametre_url ($res\['redirect'\], "id_lien_ajoute", $#ID_OBJET, '&');
167                        }
168                }
169        }
170        return $res;
171]
172}
173
174
175?>
176
Note: See TracBrowser for help on using the repository browser.