Completed
Push — master ( 762316...b41555 )
by cam
01:50
created
ecrire/public/aiguiller.php 1 patch
Indentation   +289 added lines, -289 removed lines patch added patch discarded remove patch
@@ -10,7 +10,7 @@  discard block
 block discarded – undo
10 10
 \***************************************************************************/
11 11
 
12 12
 if (!defined('_ECRIRE_INC_VERSION')) {
13
-	return;
13
+    return;
14 14
 }
15 15
 
16 16
 /**
@@ -18,154 +18,154 @@  discard block
 block discarded – undo
18 18
  * @return string
19 19
  */
20 20
 function securiser_redirect_action($redirect) {
21
-	$redirect ??= '';
22
-	// cas d'un double urlencode : si un urldecode de l'url n'est pas secure, on retient ca comme redirect
23
-	if (str_contains($redirect, '%')) {
24
-		$r2 = urldecode($redirect);
25
-		if (($r3 = securiser_redirect_action($r2)) !== $r2) {
26
-			return $r3;
27
-		}
28
-	}
29
-	if (
30
-		(tester_url_absolue($redirect) || preg_match(',^\w+:,', trim($redirect)))
31
-		&& !defined('_AUTORISER_ACTION_ABS_REDIRECT')
32
-	) {
33
-		// si l'url est une url du site, on la laisse passer sans rien faire
34
-		// c'est encore le plus simple
35
-		$base = $GLOBALS['meta']['adresse_site'] . '/';
36
-		if (strlen($base) && str_starts_with($redirect, $base)) {
37
-			return $redirect;
38
-		}
39
-		$base = url_de_base();
40
-		if (strlen($base) && str_starts_with($redirect, $base)) {
41
-			return $redirect;
42
-		}
21
+    $redirect ??= '';
22
+    // cas d'un double urlencode : si un urldecode de l'url n'est pas secure, on retient ca comme redirect
23
+    if (str_contains($redirect, '%')) {
24
+        $r2 = urldecode($redirect);
25
+        if (($r3 = securiser_redirect_action($r2)) !== $r2) {
26
+            return $r3;
27
+        }
28
+    }
29
+    if (
30
+        (tester_url_absolue($redirect) || preg_match(',^\w+:,', trim($redirect)))
31
+        && !defined('_AUTORISER_ACTION_ABS_REDIRECT')
32
+    ) {
33
+        // si l'url est une url du site, on la laisse passer sans rien faire
34
+        // c'est encore le plus simple
35
+        $base = $GLOBALS['meta']['adresse_site'] . '/';
36
+        if (strlen($base) && str_starts_with($redirect, $base)) {
37
+            return $redirect;
38
+        }
39
+        $base = url_de_base();
40
+        if (strlen($base) && str_starts_with($redirect, $base)) {
41
+            return $redirect;
42
+        }
43 43
 
44
-		return '';
45
-	}
44
+        return '';
45
+    }
46 46
 
47
-	return $redirect;
47
+    return $redirect;
48 48
 }
49 49
 
50 50
 function traiter_appels_actions() {
51
-	// cas de l'appel qui renvoie une redirection (302) ou rien (204)
52
-	if ($action = _request('action')) {
53
-		include_spip('base/abstract_sql'); // chargement systematique pour les actions
54
-		include_spip('inc/autoriser');
55
-		include_spip('inc/headers');
56
-		include_spip('inc/actions');
57
-		// des actions peuvent appeler _T
58
-		if (!isset($GLOBALS['spip_lang'])) {
59
-			include_spip('inc/lang');
60
-			utiliser_langue_visiteur();
61
-		}
62
-		// si l'action est provoque par un hit {ajax}
63
-		// il faut transmettre l'env ajax au redirect
64
-		// on le met avant dans la query string au cas ou l'action fait elle meme sa redirection
65
-		if (
66
-			($v = _request('var_ajax'))
67
-			&& $v !== 'form'
68
-			&& ($args = _request('var_ajax_env'))
69
-			&& ($url = _request('redirect'))
70
-		) {
71
-			$url = parametre_url($url, 'var_ajax', $v, '&');
72
-			$url = parametre_url($url, 'var_ajax_env', $args, '&');
73
-			set_request('redirect', $url);
74
-		} else {
75
-			if (_request('redirect')) {
76
-				set_request('redirect', securiser_redirect_action(_request('redirect')));
77
-			}
78
-		}
79
-		$var_f = charger_fonction($action, 'action');
80
-		$var_f();
81
-		if (!isset($GLOBALS['redirect'])) {
82
-			$GLOBALS['redirect'] = _request('redirect') ?? '';
83
-			if ($_SERVER['REQUEST_METHOD'] === 'POST') {
84
-				$GLOBALS['redirect'] = urldecode($GLOBALS['redirect']);
85
-			}
86
-			$GLOBALS['redirect'] = securiser_redirect_action($GLOBALS['redirect']);
87
-		}
88
-		if ($url = $GLOBALS['redirect']) {
89
-			// si l'action est provoque par un hit {ajax}
90
-			// il faut transmettre l'env ajax au redirect
91
-			// qui a pu etre defini par l'action
92
-			if (
93
-				($v = _request('var_ajax'))
94
-				&& $v !== 'form'
95
-				&& ($args = _request('var_ajax_env'))
96
-			) {
97
-				$url = parametre_url($url, 'var_ajax', $v, '&');
98
-				$url = parametre_url($url, 'var_ajax_env', $args, '&');
99
-				// passer l'ancre en variable pour pouvoir la gerer cote serveur
100
-				$url = preg_replace(',#([^#&?]+)$,', "&var_ajax_ancre=\\1", $url);
101
-			}
102
-			$url = str_replace('&', '&', $url); // les redirections se font en &, pas en en &
103
-			redirige_par_entete($url);
104
-		}
51
+    // cas de l'appel qui renvoie une redirection (302) ou rien (204)
52
+    if ($action = _request('action')) {
53
+        include_spip('base/abstract_sql'); // chargement systematique pour les actions
54
+        include_spip('inc/autoriser');
55
+        include_spip('inc/headers');
56
+        include_spip('inc/actions');
57
+        // des actions peuvent appeler _T
58
+        if (!isset($GLOBALS['spip_lang'])) {
59
+            include_spip('inc/lang');
60
+            utiliser_langue_visiteur();
61
+        }
62
+        // si l'action est provoque par un hit {ajax}
63
+        // il faut transmettre l'env ajax au redirect
64
+        // on le met avant dans la query string au cas ou l'action fait elle meme sa redirection
65
+        if (
66
+            ($v = _request('var_ajax'))
67
+            && $v !== 'form'
68
+            && ($args = _request('var_ajax_env'))
69
+            && ($url = _request('redirect'))
70
+        ) {
71
+            $url = parametre_url($url, 'var_ajax', $v, '&');
72
+            $url = parametre_url($url, 'var_ajax_env', $args, '&');
73
+            set_request('redirect', $url);
74
+        } else {
75
+            if (_request('redirect')) {
76
+                set_request('redirect', securiser_redirect_action(_request('redirect')));
77
+            }
78
+        }
79
+        $var_f = charger_fonction($action, 'action');
80
+        $var_f();
81
+        if (!isset($GLOBALS['redirect'])) {
82
+            $GLOBALS['redirect'] = _request('redirect') ?? '';
83
+            if ($_SERVER['REQUEST_METHOD'] === 'POST') {
84
+                $GLOBALS['redirect'] = urldecode($GLOBALS['redirect']);
85
+            }
86
+            $GLOBALS['redirect'] = securiser_redirect_action($GLOBALS['redirect']);
87
+        }
88
+        if ($url = $GLOBALS['redirect']) {
89
+            // si l'action est provoque par un hit {ajax}
90
+            // il faut transmettre l'env ajax au redirect
91
+            // qui a pu etre defini par l'action
92
+            if (
93
+                ($v = _request('var_ajax'))
94
+                && $v !== 'form'
95
+                && ($args = _request('var_ajax_env'))
96
+            ) {
97
+                $url = parametre_url($url, 'var_ajax', $v, '&');
98
+                $url = parametre_url($url, 'var_ajax_env', $args, '&');
99
+                // passer l'ancre en variable pour pouvoir la gerer cote serveur
100
+                $url = preg_replace(',#([^#&?]+)$,', "&var_ajax_ancre=\\1", $url);
101
+            }
102
+            $url = str_replace('&', '&', $url); // les redirections se font en &, pas en en &
103
+            redirige_par_entete($url);
104
+        }
105 105
 
106
-		// attention : avec zlib.output_compression=1 on a vu des cas de ob_get_length() qui renvoi 0
107
-		// et du coup en renvoi un status 204 a tort (vu sur le menu rubriques notamment)
108
-		if (!headers_sent() && !ob_get_length()) {
109
-			http_response_code(204);
110
-		} // No Content
111
-		return true;
112
-	}
106
+        // attention : avec zlib.output_compression=1 on a vu des cas de ob_get_length() qui renvoi 0
107
+        // et du coup en renvoi un status 204 a tort (vu sur le menu rubriques notamment)
108
+        if (!headers_sent() && !ob_get_length()) {
109
+            http_response_code(204);
110
+        } // No Content
111
+        return true;
112
+    }
113 113
 
114
-	return false;
114
+    return false;
115 115
 }
116 116
 
117 117
 
118 118
 function refuser_traiter_formulaire_ajax() {
119
-	if (
120
-		($v = _request('var_ajax'))
121
-		&& $v == 'form'
122
-		&& ($form = _request('formulaire_action'))
123
-		&& ($args = _request('formulaire_action_args'))
124
-		&& decoder_contexte_ajax($args, $form) !== false
125
-	) {
126
-		// on est bien dans le contexte de traitement d'un formulaire en ajax
127
-		// mais traiter ne veut pas
128
-		// on le dit a la page qui va resumbit
129
-		// sans ajax
130
-		include_spip('inc/actions');
131
-		ajax_retour('noajax', false);
132
-		exit;
133
-	}
119
+    if (
120
+        ($v = _request('var_ajax'))
121
+        && $v == 'form'
122
+        && ($form = _request('formulaire_action'))
123
+        && ($args = _request('formulaire_action_args'))
124
+        && decoder_contexte_ajax($args, $form) !== false
125
+    ) {
126
+        // on est bien dans le contexte de traitement d'un formulaire en ajax
127
+        // mais traiter ne veut pas
128
+        // on le dit a la page qui va resumbit
129
+        // sans ajax
130
+        include_spip('inc/actions');
131
+        ajax_retour('noajax', false);
132
+        exit;
133
+    }
134 134
 }
135 135
 
136 136
 function traiter_appels_inclusions_ajax() {
137
-	// traiter les appels de bloc ajax (ex: pagination)
138
-	if (
139
-		($v = _request('var_ajax'))
140
-		&& $v !== 'form'
141
-		&& ($args = _request('var_ajax_env'))
142
-	) {
143
-		include_spip('inc/filtres');
144
-		include_spip('inc/actions');
145
-		if (
146
-			($args = decoder_contexte_ajax($args)) && ($fond = $args['fond'])
147
-		) {
148
-			include_spip('public/assembler');
149
-			$contexte = calculer_contexte();
150
-			$contexte = array_merge($args, $contexte);
151
-			$page = recuperer_fond($fond, $contexte, ['trim' => false]);
152
-			$texte = $page;
153
-			if ($ancre = _request('var_ajax_ancre')) {
154
-				// pas n'importe quoi quand meme dans la variable !
155
-				$ancre = str_replace(['<', '"', "'"], ['&lt;', '&quot;', ''], $ancre);
156
-				$texte = "<a href='#$ancre' name='ajax_ancre' style='display:none;'>anchor</a>" . $texte;
157
-			}
158
-		} else {
159
-			include_spip('inc/headers');
160
-			http_response_code(400);
161
-			$texte = _L('signature ajax bloc incorrecte');
162
-		}
163
-		ajax_retour($texte, false);
137
+    // traiter les appels de bloc ajax (ex: pagination)
138
+    if (
139
+        ($v = _request('var_ajax'))
140
+        && $v !== 'form'
141
+        && ($args = _request('var_ajax_env'))
142
+    ) {
143
+        include_spip('inc/filtres');
144
+        include_spip('inc/actions');
145
+        if (
146
+            ($args = decoder_contexte_ajax($args)) && ($fond = $args['fond'])
147
+        ) {
148
+            include_spip('public/assembler');
149
+            $contexte = calculer_contexte();
150
+            $contexte = array_merge($args, $contexte);
151
+            $page = recuperer_fond($fond, $contexte, ['trim' => false]);
152
+            $texte = $page;
153
+            if ($ancre = _request('var_ajax_ancre')) {
154
+                // pas n'importe quoi quand meme dans la variable !
155
+                $ancre = str_replace(['<', '"', "'"], ['&lt;', '&quot;', ''], $ancre);
156
+                $texte = "<a href='#$ancre' name='ajax_ancre' style='display:none;'>anchor</a>" . $texte;
157
+            }
158
+        } else {
159
+            include_spip('inc/headers');
160
+            http_response_code(400);
161
+            $texte = _L('signature ajax bloc incorrecte');
162
+        }
163
+        ajax_retour($texte, false);
164 164
 
165
-		return true; // on a fini le hit
166
-	}
165
+        return true; // on a fini le hit
166
+    }
167 167
 
168
-	return false;
168
+    return false;
169 169
 }
170 170
 
171 171
 // au 1er appel, traite les formulaires dynamiques charger/verifier/traiter
@@ -173,176 +173,176 @@  discard block
 block discarded – undo
173 173
 // Le 1er renvoie True si il faut faire exit a la sortie
174 174
 
175 175
 function traiter_formulaires_dynamiques($get = false) {
176
-	static $post = [];
177
-	static $done = false;
176
+    static $post = [];
177
+    static $done = false;
178 178
 
179
-	if ($get) {
180
-		return $post;
181
-	}
182
-	if ($done) {
183
-		return false;
184
-	}
185
-	$done = true;
179
+    if ($get) {
180
+        return $post;
181
+    }
182
+    if ($done) {
183
+        return false;
184
+    }
185
+    $done = true;
186 186
 
187
-	if (
188
-		!(($form = _request('formulaire_action'))
189
-		&& ($args = _request('formulaire_action_args')))
190
-	) {
191
-		return false;
192
-	} // le hit peut continuer normalement
187
+    if (
188
+        !(($form = _request('formulaire_action'))
189
+        && ($args = _request('formulaire_action_args')))
190
+    ) {
191
+        return false;
192
+    } // le hit peut continuer normalement
193 193
 
194
-	// verifier que le post est licite (du meme auteur ou d'une session anonyme)
195
-	$sign = _request('formulaire_action_sign');
196
-	if (!empty($GLOBALS['visiteur_session']['id_auteur'])) {
197
-		if (empty($sign)) {
198
-			spip_log("signature ajax form incorrecte : $form (formulaire non signe mais on a une session)", 'formulaires' . _LOG_ERREUR);
199
-			return false;
200
-		}
201
-		$securiser_action = charger_fonction('securiser_action', 'inc');
202
-		$secu = $securiser_action($form, $args, '', -1);
203
-		if ($sign !== $secu['hash']) {
204
-			spip_log("signature ajax form incorrecte : $form (formulaire signe mais ne correspond pas a la session)", 'formulaires' . _LOG_ERREUR);
205
-			return false;
206
-		}
207
-	}
208
-	else {
209
-		if (!empty($sign)) {
210
-			spip_log("signature ajax form incorrecte : $form (formulaire signe mais pas de session)", 'formulaires' . _LOG_ERREUR);
211
-			return false;
212
-		}
213
-	}
194
+    // verifier que le post est licite (du meme auteur ou d'une session anonyme)
195
+    $sign = _request('formulaire_action_sign');
196
+    if (!empty($GLOBALS['visiteur_session']['id_auteur'])) {
197
+        if (empty($sign)) {
198
+            spip_log("signature ajax form incorrecte : $form (formulaire non signe mais on a une session)", 'formulaires' . _LOG_ERREUR);
199
+            return false;
200
+        }
201
+        $securiser_action = charger_fonction('securiser_action', 'inc');
202
+        $secu = $securiser_action($form, $args, '', -1);
203
+        if ($sign !== $secu['hash']) {
204
+            spip_log("signature ajax form incorrecte : $form (formulaire signe mais ne correspond pas a la session)", 'formulaires' . _LOG_ERREUR);
205
+            return false;
206
+        }
207
+    }
208
+    else {
209
+        if (!empty($sign)) {
210
+            spip_log("signature ajax form incorrecte : $form (formulaire signe mais pas de session)", 'formulaires' . _LOG_ERREUR);
211
+            return false;
212
+        }
213
+    }
214 214
 
215
-	include_spip('inc/filtres');
216
-	if (($args = decoder_contexte_ajax($args, $form)) === false) {
217
-		spip_log("signature ajax form incorrecte : $form (encodage corrompu)", 'formulaires' . _LOG_ERREUR);
215
+    include_spip('inc/filtres');
216
+    if (($args = decoder_contexte_ajax($args, $form)) === false) {
217
+        spip_log("signature ajax form incorrecte : $form (encodage corrompu)", 'formulaires' . _LOG_ERREUR);
218 218
 
219
-		return false; // continuons le hit comme si de rien etait
220
-	} else {
221
-		include_spip('inc/lang');
222
-		// sauvegarder la lang en cours
223
-		$old_lang = $GLOBALS['spip_lang'];
224
-		// changer la langue avec celle qui a cours dans le formulaire
225
-		// on la depile de $args car c'est un argument implicite masque
226
-		changer_langue(array_shift($args));
219
+        return false; // continuons le hit comme si de rien etait
220
+    } else {
221
+        include_spip('inc/lang');
222
+        // sauvegarder la lang en cours
223
+        $old_lang = $GLOBALS['spip_lang'];
224
+        // changer la langue avec celle qui a cours dans le formulaire
225
+        // on la depile de $args car c'est un argument implicite masque
226
+        changer_langue(array_shift($args));
227 227
 
228 228
 
229
-		// inclure mes_fonctions et autres filtres avant verifier/traiter
230
-		include_fichiers_fonctions();
231
-		// ainsi que l'API SQL bien utile dans verifier/traiter
232
-		include_spip('base/abstract_sql');
229
+        // inclure mes_fonctions et autres filtres avant verifier/traiter
230
+        include_fichiers_fonctions();
231
+        // ainsi que l'API SQL bien utile dans verifier/traiter
232
+        include_spip('base/abstract_sql');
233 233
 
234
-		/**
235
-		 * Pipeline exécuté lors de la soumission d'un formulaire,
236
-		 * mais avant l'appel de la fonction de vérification.
237
-		 */
238
-		pipeline(
239
-			'formulaire_receptionner',
240
-			[
241
-				'args' => ['form' => $form, 'args' => $args],
242
-				'data' => null,
243
-			]
244
-		);
234
+        /**
235
+         * Pipeline exécuté lors de la soumission d'un formulaire,
236
+         * mais avant l'appel de la fonction de vérification.
237
+         */
238
+        pipeline(
239
+            'formulaire_receptionner',
240
+            [
241
+                'args' => ['form' => $form, 'args' => $args],
242
+                'data' => null,
243
+            ]
244
+        );
245 245
 
246
-		$verifier = charger_fonction('verifier', "formulaires/$form/", true);
247
-		$post["erreurs_$form"] = pipeline(
248
-			'formulaire_verifier',
249
-			[
250
-				'args' => ['form' => $form, 'args' => $args],
251
-				'data' => $verifier ? $verifier(...$args) : []
252
-			]
253
-		);
254
-		// prise en charge CVT multi etape si besoin
255
-		if (_request('cvtm_prev_post')) {
256
-			include_spip('inc/cvt_multietapes');
257
-			$post["erreurs_$form"] = cvtmulti_formulaire_verifier_etapes(
258
-				['form' => $form, 'args' => $args],
259
-				$post["erreurs_$form"]
260
-			);
261
-		}
246
+        $verifier = charger_fonction('verifier', "formulaires/$form/", true);
247
+        $post["erreurs_$form"] = pipeline(
248
+            'formulaire_verifier',
249
+            [
250
+                'args' => ['form' => $form, 'args' => $args],
251
+                'data' => $verifier ? $verifier(...$args) : []
252
+            ]
253
+        );
254
+        // prise en charge CVT multi etape si besoin
255
+        if (_request('cvtm_prev_post')) {
256
+            include_spip('inc/cvt_multietapes');
257
+            $post["erreurs_$form"] = cvtmulti_formulaire_verifier_etapes(
258
+                ['form' => $form, 'args' => $args],
259
+                $post["erreurs_$form"]
260
+            );
261
+        }
262 262
 
263
-		// accessibilite : si des erreurs mais pas de message general l'ajouter
264
-		if (isset($post["erreurs_$form"]) && (is_countable($post["erreurs_$form"]) ? count($post["erreurs_$form"]) : 0) && !isset($post["erreurs_$form"]['message_erreur'])) {
265
-			$post["erreurs_$form"]['message_erreur'] = singulier_ou_pluriel(
266
-				is_countable($post["erreurs_$form"]) ? count($post["erreurs_$form"]) : 0,
267
-				'avis_1_erreur_saisie',
268
-				'avis_nb_erreurs_saisie'
269
-			);
270
-		}
263
+        // accessibilite : si des erreurs mais pas de message general l'ajouter
264
+        if (isset($post["erreurs_$form"]) && (is_countable($post["erreurs_$form"]) ? count($post["erreurs_$form"]) : 0) && !isset($post["erreurs_$form"]['message_erreur'])) {
265
+            $post["erreurs_$form"]['message_erreur'] = singulier_ou_pluriel(
266
+                is_countable($post["erreurs_$form"]) ? count($post["erreurs_$form"]) : 0,
267
+                'avis_1_erreur_saisie',
268
+                'avis_nb_erreurs_saisie'
269
+            );
270
+        }
271 271
 
272
-		// si on ne demandait qu'une verif json
273
-		if (_request('formulaire_action_verifier_json')) {
274
-			include_spip('inc/json');
275
-			include_spip('inc/actions');
276
-			ajax_retour(json_encode($post["erreurs_$form"], JSON_THROW_ON_ERROR), 'text/plain');
272
+        // si on ne demandait qu'une verif json
273
+        if (_request('formulaire_action_verifier_json')) {
274
+            include_spip('inc/json');
275
+            include_spip('inc/actions');
276
+            ajax_retour(json_encode($post["erreurs_$form"], JSON_THROW_ON_ERROR), 'text/plain');
277 277
 
278
-			return true; // on a fini le hit
279
-		}
280
-		$retour = '';
281
-		if (isset($post["erreurs_$form"]) && (is_countable($post["erreurs_$form"]) ? count($post["erreurs_$form"]) : 0) == 0) {
282
-			$rev = '';
283
-			if ($traiter = charger_fonction('traiter', "formulaires/$form/", true)) {
284
-				$rev = $traiter(...$args);
285
-			}
278
+            return true; // on a fini le hit
279
+        }
280
+        $retour = '';
281
+        if (isset($post["erreurs_$form"]) && (is_countable($post["erreurs_$form"]) ? count($post["erreurs_$form"]) : 0) == 0) {
282
+            $rev = '';
283
+            if ($traiter = charger_fonction('traiter', "formulaires/$form/", true)) {
284
+                $rev = $traiter(...$args);
285
+            }
286 286
 
287
-			$rev = pipeline(
288
-				'formulaire_traiter',
289
-				[
290
-					'args' => ['form' => $form, 'args' => $args],
291
-					'data' => $rev
292
-				]
293
-			);
294
-			// le retour de traiter est
295
-			// un tableau explicite ('editable'=>$editable,'message_ok'=>$message,'redirect'=>$redirect,'id_xx'=>$id_xx)
296
-			// il permet le pipelinage, en particulier
297
-			// en y passant l'id de l'objet cree/modifie
298
-			// si message_erreur est present, on considere que le traitement a echoue
299
-			$post["message_ok_$form"] = '';
300
-			// on peut avoir message_ok et message_erreur
301
-			if (isset($rev['message_ok'])) {
302
-				$post["message_ok_$form"] = $rev['message_ok'];
303
-			}
287
+            $rev = pipeline(
288
+                'formulaire_traiter',
289
+                [
290
+                    'args' => ['form' => $form, 'args' => $args],
291
+                    'data' => $rev
292
+                ]
293
+            );
294
+            // le retour de traiter est
295
+            // un tableau explicite ('editable'=>$editable,'message_ok'=>$message,'redirect'=>$redirect,'id_xx'=>$id_xx)
296
+            // il permet le pipelinage, en particulier
297
+            // en y passant l'id de l'objet cree/modifie
298
+            // si message_erreur est present, on considere que le traitement a echoue
299
+            $post["message_ok_$form"] = '';
300
+            // on peut avoir message_ok et message_erreur
301
+            if (isset($rev['message_ok'])) {
302
+                $post["message_ok_$form"] = $rev['message_ok'];
303
+            }
304 304
 
305
-			// verifier si traiter n'a pas echoue avec une erreur :
306
-			if (isset($rev['message_erreur'])) {
307
-				$post["erreurs_$form"]['message_erreur'] = $rev['message_erreur'];
308
-				// si il y a une erreur on ne redirige pas
309
-			} else {
310
-				// sinon faire ce qu'il faut :
311
-				if (isset($rev['editable'])) {
312
-					$post["editable_$form"] = $rev['editable'];
313
-				}
314
-				// si une redirection est demandee, appeler redirigae_formulaire qui choisira
315
-				// le bon mode de redirection (302 et on ne revient pas ici, ou javascript et on continue)
316
-				if (isset($rev['redirect']) && $rev['redirect']) {
317
-					include_spip('inc/headers');
318
-					[$masque, $message] = redirige_formulaire($rev['redirect'], '', 'ajaxform');
319
-					$post["message_ok_$form"] .= $message;
320
-					$retour .= $masque;
321
-				}
322
-				// Si multiétape, puisqu'on a tout fait, on peut recommencer à zéro
323
-				if (_request('_etapes')) {
324
-					set_request('_etape', null);
325
-				}
326
-			}
327
-		}
328
-		// si le formulaire a ete soumis en ajax, on le renvoie direct !
329
-		if (_request('var_ajax')) {
330
-			if (find_in_path('formulaire_.php', 'balise/', true)) {
331
-				include_spip('inc/actions');
332
-				include_spip('public/assembler');
333
-				$retour .= inclure_balise_dynamique(balise_formulaire__dyn($form, ...$args), false);
334
-				// on ajoute un br en display none en tete du retour ajax pour regler un bug dans IE6/7
335
-				// sans cela le formulaire n'est pas actif apres le hit ajax
336
-				// la classe ajax-form-is-ok sert a s'assurer que le retour ajax s'est bien passe
337
-				$retour = "<br class='bugajaxie ajax-form-is-ok' style='display:none;'/>" . $retour;
338
-				ajax_retour($retour, false);
305
+            // verifier si traiter n'a pas echoue avec une erreur :
306
+            if (isset($rev['message_erreur'])) {
307
+                $post["erreurs_$form"]['message_erreur'] = $rev['message_erreur'];
308
+                // si il y a une erreur on ne redirige pas
309
+            } else {
310
+                // sinon faire ce qu'il faut :
311
+                if (isset($rev['editable'])) {
312
+                    $post["editable_$form"] = $rev['editable'];
313
+                }
314
+                // si une redirection est demandee, appeler redirigae_formulaire qui choisira
315
+                // le bon mode de redirection (302 et on ne revient pas ici, ou javascript et on continue)
316
+                if (isset($rev['redirect']) && $rev['redirect']) {
317
+                    include_spip('inc/headers');
318
+                    [$masque, $message] = redirige_formulaire($rev['redirect'], '', 'ajaxform');
319
+                    $post["message_ok_$form"] .= $message;
320
+                    $retour .= $masque;
321
+                }
322
+                // Si multiétape, puisqu'on a tout fait, on peut recommencer à zéro
323
+                if (_request('_etapes')) {
324
+                    set_request('_etape', null);
325
+                }
326
+            }
327
+        }
328
+        // si le formulaire a ete soumis en ajax, on le renvoie direct !
329
+        if (_request('var_ajax')) {
330
+            if (find_in_path('formulaire_.php', 'balise/', true)) {
331
+                include_spip('inc/actions');
332
+                include_spip('public/assembler');
333
+                $retour .= inclure_balise_dynamique(balise_formulaire__dyn($form, ...$args), false);
334
+                // on ajoute un br en display none en tete du retour ajax pour regler un bug dans IE6/7
335
+                // sans cela le formulaire n'est pas actif apres le hit ajax
336
+                // la classe ajax-form-is-ok sert a s'assurer que le retour ajax s'est bien passe
337
+                $retour = "<br class='bugajaxie ajax-form-is-ok' style='display:none;'/>" . $retour;
338
+                ajax_retour($retour, false);
339 339
 
340
-				return true; // on a fini le hit
341
-			}
342
-		}
343
-		// restaurer la lang en cours
344
-		changer_langue($old_lang);
345
-	}
340
+                return true; // on a fini le hit
341
+            }
342
+        }
343
+        // restaurer la lang en cours
344
+        changer_langue($old_lang);
345
+    }
346 346
 
347
-	return false; // le hit peut continuer normalement
347
+    return false; // le hit peut continuer normalement
348 348
 }
Please login to merge, or discard this patch.