source: spip-zone/_plugins_/fabrique/trunk/fabrique/formulaires/editer_objet.php.html @ 70030

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

La fabrique génère le phpDoc complet du plugin en même temps que ses fichiers.

File size: 6.7 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        return formulaires_editer_objet_verifier('#TYPE',$#ID_OBJET[, (#GET{obligatoires}|ecrire_tableau_sinon_rien)]);
120}
121
122/**
123 * Traitement du formulaire d'édition de #TYPE
124 *
125 * Traiter les champs postés
126 *
127 * @uses formulaires_editer_objet_traiter()
128 *
129 * @param int|string $#ID_OBJET
130 *     Identifiant du #TYPE. 'new' pour un nouveau #TYPE.[
131 * @param int $(#GET{id_rubrique}|?{id_rubrique})
132 *     Identifiant de la rubrique parente (si connue)]
133 * @param string $retour
134 *     URL de redirection après le traitement[
135 * @param string $(#GET{associer}|?{associer_objet})
136 *     Éventuel `objet|x` indiquant de lier le #TYPE créé à cet objet,
137 *     tel que `article|3`]
138 * @param int $lier_trad
139 *     Identifiant éventuel d'un #TYPE source d'une traduction
140 * @param string $config_fonc
141 *     Nom de la fonction ajoutant des configurations particulières au formulaire
142 * @param array $row
143 *     Valeurs de la ligne SQL du #TYPE, si connu
144 * @param string $hidden
145 *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
146 * @return array
147 *     Retours des traitements
148 */
149function formulaires_editer_[(#TYPE)]_traiter_dist($#ID_OBJET='new',[ (#GET{id_rubrique_param})] $retour='',[ (#GET{associer_param})] $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
150        [(#GET{associer}|?{'$res =', 'return'})] formulaires_editer_objet_traiter('#TYPE',$#ID_OBJET,#GET{id_rubrique_val},$lier_trad,$retour,$config_fonc,$row,$hidden);[
151(#GET{associer}|oui)
152        // Un lien a prendre en compte ?
153        if ($associer_objet AND $#ID_OBJET = $res\['#ID_OBJET'\]) {
154                list($objet, $id_objet) = explode('|', $associer_objet);
155
156                if ($objet AND $id_objet AND autoriser('modifier', $objet, $id_objet)) {
157                        include_spip('action/editer_liens');
158                        objet_associer(array('#TYPE' => $#ID_OBJET), array($objet => $id_objet));
159                        if (isset($res\['redirect'\])) {
160                                $res\['redirect'\] = parametre_url ($res\['redirect'\], "id_lien_ajoute", $#ID_OBJET, '&');
161                        }
162                }
163        }
164        return $res;
165]
166}
167
168
169?>
170
Note: See TracBrowser for help on using the repository browser.