Completed
Push — master ( 37aa61...be7234 )
by cam
01:24
created
ecrire/balise/formulaire_.php 1 patch
Indentation   +250 added lines, -250 removed lines patch added patch discarded remove patch
@@ -15,7 +15,7 @@  discard block
 block discarded – undo
15 15
  * @package SPIP\Core\Formulaires
16 16
  **/
17 17
 if (!defined('_ECRIRE_INC_VERSION')) {
18
-	return;
18
+    return;
19 19
 }
20 20
 
21 21
 include_spip('inc/filtres');
@@ -34,26 +34,26 @@  discard block
 block discarded – undo
34 34
  * @see spip_htmlspecialchars()
35 35
  */
36 36
 function protege_champ(mixed $valeur, $max_prof = 128) {
37
-	if (is_array($valeur)) {
38
-		if ($max_prof > 0) {
39
-			return array_map(
40
-				fn($v) => protege_champ($v, $max_prof - 1),
41
-				$valeur
42
-			);
43
-		}
44
-		// si on dépasse la prof max on tronque
45
-		return [];
46
-	} elseif ($valeur === null) {
47
-		return $valeur;
48
-	} elseif (is_bool($valeur)) {
49
-		return $valeur ? '1' : '';
50
-	} elseif (is_string($valeur) && $valeur) {
51
-		if (strpbrk($valeur, "&\"'<>") !== false) {
52
-			return spip_htmlspecialchars($valeur, ENT_QUOTES);
53
-		}
54
-	}
55
-
56
-	return $valeur;
37
+    if (is_array($valeur)) {
38
+        if ($max_prof > 0) {
39
+            return array_map(
40
+                fn($v) => protege_champ($v, $max_prof - 1),
41
+                $valeur
42
+            );
43
+        }
44
+        // si on dépasse la prof max on tronque
45
+        return [];
46
+    } elseif ($valeur === null) {
47
+        return $valeur;
48
+    } elseif (is_bool($valeur)) {
49
+        return $valeur ? '1' : '';
50
+    } elseif (is_string($valeur) && $valeur) {
51
+        if (strpbrk($valeur, "&\"'<>") !== false) {
52
+            return spip_htmlspecialchars($valeur, ENT_QUOTES);
53
+        }
54
+    }
55
+
56
+    return $valeur;
57 57
 }
58 58
 
59 59
 /**
@@ -67,13 +67,13 @@  discard block
 block discarded – undo
67 67
  *     - false : pas de squelette trouvé
68 68
  **/
69 69
 function existe_formulaire($form) {
70
-	$form = str_starts_with($form, 'FORMULAIRE_') ? strtolower(substr($form, 11)) : strtolower($form);
70
+    $form = str_starts_with($form, 'FORMULAIRE_') ? strtolower(substr($form, 11)) : strtolower($form);
71 71
 
72
-	if (!$form) {
73
-		return '';
74
-	} // on ne sait pas, le nom du formulaire n'est pas fourni ici
72
+    if (!$form) {
73
+        return '';
74
+    } // on ne sait pas, le nom du formulaire n'est pas fourni ici
75 75
 
76
-	return trouver_fond($form, 'formulaires/') ? $form : false;
76
+    return trouver_fond($form, 'formulaires/') ? $form : false;
77 77
 }
78 78
 
79 79
 /**
@@ -82,30 +82,30 @@  discard block
 block discarded – undo
82 82
  * @return false|array
83 83
  */
84 84
 function test_formulaire_inclus_par_modele() {
85
-	$trace = debug_backtrace(0, 20);
86
-	$trace_fonctions = array_column($trace, 'function');
87
-	$trace_fonctions = array_map('strtolower', $trace_fonctions);
88
-
89
-	// regarder si un flag a ete leve juste avant l'appel de balise_FORMULAIRE_dyn
90
-	if (
91
-		function_exists('arguments_balise_dyn_depuis_modele')
92
-		&& ($form = arguments_balise_dyn_depuis_modele(null, 'read'))
93
-		&& in_array('balise_formulaire__dyn', $trace_fonctions)
94
-	) {
95
-		$k = array_search('balise_formulaire__dyn', $trace_fonctions);
96
-		if ($trace[$k]['args'][0] === $form) {
97
-			return $trace[$k]['args'];
98
-		}
99
-	}
100
-
101
-	// fallback qui ne repose pas sur le flag lie a l'analyse de contexte_compil,
102
-	// mais ne marche pas si executer_balise_dynamique est appelee via du php dans le squelette
103
-	if (in_array('eval', $trace_fonctions) && in_array('inclure_modele', $trace_fonctions)) {
104
-		$k = array_search('inclure_modele', $trace_fonctions);
105
-		// les arguments de recuperer_fond() passes par inclure_modele()
106
-		return $trace[$k - 1]['args'][1]['args'];
107
-	}
108
-	return false;
85
+    $trace = debug_backtrace(0, 20);
86
+    $trace_fonctions = array_column($trace, 'function');
87
+    $trace_fonctions = array_map('strtolower', $trace_fonctions);
88
+
89
+    // regarder si un flag a ete leve juste avant l'appel de balise_FORMULAIRE_dyn
90
+    if (
91
+        function_exists('arguments_balise_dyn_depuis_modele')
92
+        && ($form = arguments_balise_dyn_depuis_modele(null, 'read'))
93
+        && in_array('balise_formulaire__dyn', $trace_fonctions)
94
+    ) {
95
+        $k = array_search('balise_formulaire__dyn', $trace_fonctions);
96
+        if ($trace[$k]['args'][0] === $form) {
97
+            return $trace[$k]['args'];
98
+        }
99
+    }
100
+
101
+    // fallback qui ne repose pas sur le flag lie a l'analyse de contexte_compil,
102
+    // mais ne marche pas si executer_balise_dynamique est appelee via du php dans le squelette
103
+    if (in_array('eval', $trace_fonctions) && in_array('inclure_modele', $trace_fonctions)) {
104
+        $k = array_search('inclure_modele', $trace_fonctions);
105
+        // les arguments de recuperer_fond() passes par inclure_modele()
106
+        return $trace[$k - 1]['args'][1]['args'];
107
+    }
108
+    return false;
109 109
 }
110 110
 
111 111
 /**
@@ -120,19 +120,19 @@  discard block
 block discarded – undo
120 120
  **/
121 121
 function balise_FORMULAIRE__dist($p) {
122 122
 
123
-	// Cas d'un #FORMULAIRE_TOTO inexistant : renvoyer la chaine vide.
124
-	// mais si #FORMULAIRE_{toto} on ne peut pas savoir a la compilation, continuer
125
-	if (existe_formulaire($p->nom_champ) === false) {
126
-		$p->code = "''";
127
-		$p->interdire_scripts = false;
123
+    // Cas d'un #FORMULAIRE_TOTO inexistant : renvoyer la chaine vide.
124
+    // mais si #FORMULAIRE_{toto} on ne peut pas savoir a la compilation, continuer
125
+    if (existe_formulaire($p->nom_champ) === false) {
126
+        $p->code = "''";
127
+        $p->interdire_scripts = false;
128 128
 
129
-		return $p;
130
-	}
129
+        return $p;
130
+    }
131 131
 
132
-	// sinon renvoyer un code php dynamique
133
-	$p = calculer_balise_dynamique($p, $p->nom_champ, []);
132
+    // sinon renvoyer un code php dynamique
133
+    $p = calculer_balise_dynamique($p, $p->nom_champ, []);
134 134
 
135
-	return $p;
135
+    return $p;
136 136
 }
137 137
 
138 138
 /**
@@ -152,17 +152,17 @@  discard block
 block discarded – undo
152 152
  *     - string : texte à afficher directement
153 153
  */
154 154
 function balise_FORMULAIRE__dyn($form, ...$args) {
155
-	$form = existe_formulaire($form);
156
-	if (!$form) {
157
-		return '';
158
-	}
155
+    $form = existe_formulaire($form);
156
+    if (!$form) {
157
+        return '';
158
+    }
159 159
 
160
-	$contexte = balise_FORMULAIRE__contexte($form, $args);
161
-	if (!is_array($contexte)) {
162
-		return $contexte;
163
-	}
160
+    $contexte = balise_FORMULAIRE__contexte($form, $args);
161
+    if (!is_array($contexte)) {
162
+        return $contexte;
163
+    }
164 164
 
165
-	return ["formulaires/$form", 3600, $contexte];
165
+    return ["formulaires/$form", 3600, $contexte];
166 166
 }
167 167
 
168 168
 /**
@@ -177,85 +177,85 @@  discard block
 block discarded – undo
177 177
  *     string: Formulaire non applicable (message d’explication)
178 178
  **/
179 179
 function balise_FORMULAIRE__contexte($form, $args) {
180
-	// tester si ce formulaire vient d'etre poste (memes arguments)
181
-	// pour ne pas confondre 2 #FORMULAIRES_XX identiques sur une meme page
182
-	// si poste, on recupere les erreurs
183
-
184
-	$je_suis_poste = false;
185
-	if (
186
-		($post_form = _request('formulaire_action'))
187
-		&& $post_form == $form
188
-		&& ($p = _request('formulaire_action_args'))
189
-		&& is_array($p = decoder_contexte_ajax($p, $post_form))
190
-	) {
191
-		// enlever le faux attribut de langue masque
192
-		array_shift($p);
193
-		if (formulaire__identifier($form, $args, $p)) {
194
-			$je_suis_poste = true;
195
-		}
196
-	}
197
-
198
-	$editable = true;
199
-	$erreurs = $post = [];
200
-	if ($je_suis_poste) {
201
-		$post = traiter_formulaires_dynamiques(true);
202
-		$e = "erreurs_$form";
203
-		$erreurs = $post[$e] ?? [];
204
-		$editable = "editable_$form";
205
-		$editable = (!isset($post[$e]))
206
-			|| (is_countable($erreurs) ? count($erreurs) : 0)
207
-			|| (isset($post[$editable]) && $post[$editable]);
208
-	}
209
-
210
-	$valeurs = formulaire__charger($form, $args, $je_suis_poste);
211
-
212
-	// si $valeurs n'est pas un tableau, le formulaire n'est pas applicable
213
-	// C'est plus fort qu'editable qui est gere par le squelette
214
-	// Idealement $valeur doit etre alors un message explicatif.
215
-	if (!is_array($valeurs)) {
216
-		return is_string($valeurs) ? $valeurs : '';
217
-	}
218
-
219
-	// charger peut passer une action si le formulaire ne tourne pas sur self()
220
-	// ou une action vide si elle ne sert pas
221
-	$action = $valeurs['action'] ?? self('&amp;', true);
222
-	// bug IEx : si action finit par /
223
-	// IE croit que le <form ... action=../ > est autoferme
224
-	if (str_ends_with((string) $action, '/')) {
225
-		// on ajoute une ancre pour feinter IE, au pire ca tue l'ancre qui finit par un /
226
-		$action .= '#';
227
-	}
228
-
229
-	// recuperer la saisie en cours si erreurs
230
-	// seulement si c'est ce formulaire qui est poste
231
-	// ou si on le demande explicitement par le parametre _forcer_request = true
232
-	$dispo = ($je_suis_poste || (isset($valeurs['_forcer_request']) && $valeurs['_forcer_request']));
233
-	foreach (array_keys($valeurs) as $champ) {
234
-		if ($champ[0] !== '_' && !in_array($champ, ['message_ok', 'message_erreur', 'editable'])) {
235
-			if ($dispo && ($v = _request($champ)) !== null) {
236
-				$valeurs[$champ] = $v;
237
-			}
238
-			// nettoyer l'url des champs qui vont etre saisis
239
-			if ($action) {
240
-				$action = parametre_url($action, $champ, '');
241
-			}
242
-			// proteger les ' et les " dans les champs que l'on va injecter
243
-			$valeurs[$champ] = protege_champ($valeurs[$champ]);
244
-		}
245
-	}
246
-
247
-	if ($action) {
248
-		// nettoyer l'url
249
-		$action = parametre_url($action, 'formulaire_action', '');
250
-		$action = parametre_url($action, 'formulaire_action_args', '');
251
-		$action = parametre_url($action, 'formulaire_action_sign', '');
252
-	}
253
-
254
-	/**
255
-	 * @deprecated 4.0
256
-	 * servait pour poster sur les actions de type editer_xxx() qui ne prenaient pas d'argument autrement que par _request('arg') et pour lesquelles il fallait donc passer un hash valide
257
-	 */
258
-	/*
180
+    // tester si ce formulaire vient d'etre poste (memes arguments)
181
+    // pour ne pas confondre 2 #FORMULAIRES_XX identiques sur une meme page
182
+    // si poste, on recupere les erreurs
183
+
184
+    $je_suis_poste = false;
185
+    if (
186
+        ($post_form = _request('formulaire_action'))
187
+        && $post_form == $form
188
+        && ($p = _request('formulaire_action_args'))
189
+        && is_array($p = decoder_contexte_ajax($p, $post_form))
190
+    ) {
191
+        // enlever le faux attribut de langue masque
192
+        array_shift($p);
193
+        if (formulaire__identifier($form, $args, $p)) {
194
+            $je_suis_poste = true;
195
+        }
196
+    }
197
+
198
+    $editable = true;
199
+    $erreurs = $post = [];
200
+    if ($je_suis_poste) {
201
+        $post = traiter_formulaires_dynamiques(true);
202
+        $e = "erreurs_$form";
203
+        $erreurs = $post[$e] ?? [];
204
+        $editable = "editable_$form";
205
+        $editable = (!isset($post[$e]))
206
+            || (is_countable($erreurs) ? count($erreurs) : 0)
207
+            || (isset($post[$editable]) && $post[$editable]);
208
+    }
209
+
210
+    $valeurs = formulaire__charger($form, $args, $je_suis_poste);
211
+
212
+    // si $valeurs n'est pas un tableau, le formulaire n'est pas applicable
213
+    // C'est plus fort qu'editable qui est gere par le squelette
214
+    // Idealement $valeur doit etre alors un message explicatif.
215
+    if (!is_array($valeurs)) {
216
+        return is_string($valeurs) ? $valeurs : '';
217
+    }
218
+
219
+    // charger peut passer une action si le formulaire ne tourne pas sur self()
220
+    // ou une action vide si elle ne sert pas
221
+    $action = $valeurs['action'] ?? self('&amp;', true);
222
+    // bug IEx : si action finit par /
223
+    // IE croit que le <form ... action=../ > est autoferme
224
+    if (str_ends_with((string) $action, '/')) {
225
+        // on ajoute une ancre pour feinter IE, au pire ca tue l'ancre qui finit par un /
226
+        $action .= '#';
227
+    }
228
+
229
+    // recuperer la saisie en cours si erreurs
230
+    // seulement si c'est ce formulaire qui est poste
231
+    // ou si on le demande explicitement par le parametre _forcer_request = true
232
+    $dispo = ($je_suis_poste || (isset($valeurs['_forcer_request']) && $valeurs['_forcer_request']));
233
+    foreach (array_keys($valeurs) as $champ) {
234
+        if ($champ[0] !== '_' && !in_array($champ, ['message_ok', 'message_erreur', 'editable'])) {
235
+            if ($dispo && ($v = _request($champ)) !== null) {
236
+                $valeurs[$champ] = $v;
237
+            }
238
+            // nettoyer l'url des champs qui vont etre saisis
239
+            if ($action) {
240
+                $action = parametre_url($action, $champ, '');
241
+            }
242
+            // proteger les ' et les " dans les champs que l'on va injecter
243
+            $valeurs[$champ] = protege_champ($valeurs[$champ]);
244
+        }
245
+    }
246
+
247
+    if ($action) {
248
+        // nettoyer l'url
249
+        $action = parametre_url($action, 'formulaire_action', '');
250
+        $action = parametre_url($action, 'formulaire_action_args', '');
251
+        $action = parametre_url($action, 'formulaire_action_sign', '');
252
+    }
253
+
254
+    /**
255
+     * @deprecated 4.0
256
+     * servait pour poster sur les actions de type editer_xxx() qui ne prenaient pas d'argument autrement que par _request('arg') et pour lesquelles il fallait donc passer un hash valide
257
+     */
258
+    /*
259 259
 	if (isset($valeurs['_action'])) {
260 260
 		$securiser_action = charger_fonction('securiser_action', 'inc');
261 261
 		$secu = $securiser_action(reset($valeurs['_action']), end($valeurs['_action']), '', -1);
@@ -265,59 +265,59 @@  discard block
 block discarded – undo
265 265
 	}
266 266
 	*/
267 267
 
268
-	// empiler la lang en tant que premier argument implicite du CVT
269
-	// pour permettre de la restaurer au moment du Verifier et du Traiter
270
-	array_unshift($args, $GLOBALS['spip_lang']);
271
-
272
-	$valeurs['formulaire_args'] = encoder_contexte_ajax($args, $form);
273
-	$valeurs['erreurs'] = $erreurs;
274
-	$valeurs['action'] = $action;
275
-	$valeurs['form'] = $form;
276
-
277
-	$valeurs['formulaire_sign'] = '';
278
-	if (!empty($GLOBALS['visiteur_session']['id_auteur'])) {
279
-		$securiser_action = charger_fonction('securiser_action', 'inc');
280
-		$secu = $securiser_action($valeurs['form'], $valeurs['formulaire_args'], '', -1);
281
-		$valeurs['formulaire_sign'] = $secu['hash'];
282
-	}
283
-
284
-	if (!isset($valeurs['id'])) {
285
-		$valeurs['id'] = 'new';
286
-	}
287
-	// editable peut venir de charger() ou de traiter() sinon
288
-	if (!isset($valeurs['editable'])) {
289
-		$valeurs['editable'] = $editable;
290
-	}
291
-	// dans tous les cas, renvoyer un espace ou vide (et pas un booleen)
292
-	$valeurs['editable'] = ($valeurs['editable'] ? ' ' : '');
293
-
294
-	if ($je_suis_poste) {
295
-		$valeurs['message_erreur'] = '';
296
-		if (isset($erreurs['message_erreur'])) {
297
-			$valeurs['message_erreur'] = $erreurs['message_erreur'];
298
-		}
299
-
300
-		$valeurs['message_ok'] = '';
301
-		if (isset($post["message_ok_$form"])) {
302
-			$valeurs['message_ok'] = $post["message_ok_$form"];
303
-		} elseif (isset($erreurs['message_ok'])) {
304
-			$valeurs['message_ok'] = $erreurs['message_ok'];
305
-		}
306
-
307
-		// accessibilite : encapsuler toutes les erreurs dans un role='alert'
308
-		// uniquement si c'est une string et au premier niveau (on ne touche pas au tableaux)
309
-		// et si $k ne commence pas par un _ (c'est bien une vrai erreur sur un vrai champ)
310
-		if (html5_permis()) {
311
-			foreach ($erreurs as $k => $v) {
312
-				if (is_string($v) && strlen(trim($v)) && !str_starts_with((string) $k, '_')) {
313
-					// on encapsule dans un span car ces messages sont en general simple, juste du texte, et deja dans un span dans le form
314
-					$valeurs['erreurs'][$k] = "<span role='alert'>" . $erreurs[$k] . '</span>';
315
-				}
316
-			}
317
-		}
318
-	}
319
-
320
-	return $valeurs;
268
+    // empiler la lang en tant que premier argument implicite du CVT
269
+    // pour permettre de la restaurer au moment du Verifier et du Traiter
270
+    array_unshift($args, $GLOBALS['spip_lang']);
271
+
272
+    $valeurs['formulaire_args'] = encoder_contexte_ajax($args, $form);
273
+    $valeurs['erreurs'] = $erreurs;
274
+    $valeurs['action'] = $action;
275
+    $valeurs['form'] = $form;
276
+
277
+    $valeurs['formulaire_sign'] = '';
278
+    if (!empty($GLOBALS['visiteur_session']['id_auteur'])) {
279
+        $securiser_action = charger_fonction('securiser_action', 'inc');
280
+        $secu = $securiser_action($valeurs['form'], $valeurs['formulaire_args'], '', -1);
281
+        $valeurs['formulaire_sign'] = $secu['hash'];
282
+    }
283
+
284
+    if (!isset($valeurs['id'])) {
285
+        $valeurs['id'] = 'new';
286
+    }
287
+    // editable peut venir de charger() ou de traiter() sinon
288
+    if (!isset($valeurs['editable'])) {
289
+        $valeurs['editable'] = $editable;
290
+    }
291
+    // dans tous les cas, renvoyer un espace ou vide (et pas un booleen)
292
+    $valeurs['editable'] = ($valeurs['editable'] ? ' ' : '');
293
+
294
+    if ($je_suis_poste) {
295
+        $valeurs['message_erreur'] = '';
296
+        if (isset($erreurs['message_erreur'])) {
297
+            $valeurs['message_erreur'] = $erreurs['message_erreur'];
298
+        }
299
+
300
+        $valeurs['message_ok'] = '';
301
+        if (isset($post["message_ok_$form"])) {
302
+            $valeurs['message_ok'] = $post["message_ok_$form"];
303
+        } elseif (isset($erreurs['message_ok'])) {
304
+            $valeurs['message_ok'] = $erreurs['message_ok'];
305
+        }
306
+
307
+        // accessibilite : encapsuler toutes les erreurs dans un role='alert'
308
+        // uniquement si c'est une string et au premier niveau (on ne touche pas au tableaux)
309
+        // et si $k ne commence pas par un _ (c'est bien une vrai erreur sur un vrai champ)
310
+        if (html5_permis()) {
311
+            foreach ($erreurs as $k => $v) {
312
+                if (is_string($v) && strlen(trim($v)) && !str_starts_with((string) $k, '_')) {
313
+                    // on encapsule dans un span car ces messages sont en general simple, juste du texte, et deja dans un span dans le form
314
+                    $valeurs['erreurs'][$k] = "<span role='alert'>" . $erreurs[$k] . '</span>';
315
+                }
316
+            }
317
+        }
318
+    }
319
+
320
+    return $valeurs;
321 321
 }
322 322
 
323 323
 /**
@@ -329,51 +329,51 @@  discard block
 block discarded – undo
329 329
  * @return array
330 330
  */
331 331
 function formulaire__charger($form, $args, $poste) {
332
-	if ($charger_valeurs = charger_fonction('charger', "formulaires/$form", true)) {
333
-		$valeurs = $charger_valeurs(...$args);
334
-	} else {
335
-		$valeurs = [];
336
-	}
337
-
338
-	$valeurs = pipeline(
339
-		'formulaire_charger',
340
-		[
341
-			'args' => ['form' => $form, 'args' => $args, 'je_suis_poste' => $poste],
342
-			'data' => $valeurs
343
-		]
344
-	);
345
-
346
-	// prise en charge CVT multi etape
347
-	if (is_array($valeurs) && isset($valeurs['_etapes'])) {
348
-		include_spip('inc/cvt_multietapes');
349
-		$valeurs = cvtmulti_formulaire_charger_etapes(
350
-			['form' => $form, 'args' => $args, 'je_suis_poste' => $poste],
351
-			$valeurs
352
-		);
353
-	}
354
-
355
-	// si $valeurs et false ou une chaine, pas de formulaire, donc pas de pipeline !
356
-	if (is_array($valeurs)) {
357
-		if (!isset($valeurs['_pipelines'])) {
358
-			$valeurs['_pipelines'] = [];
359
-		}
360
-		// l'ancien argument _pipeline devient maintenant _pipelines
361
-		// reinjectons le vieux _pipeline au debut de _pipelines
362
-		if (isset($valeurs['_pipeline'])) {
363
-			$pipe = is_array($valeurs['_pipeline']) ? reset($valeurs['_pipeline']) : $valeurs['_pipeline'];
364
-			$args = is_array($valeurs['_pipeline']) ? end($valeurs['_pipeline']) : [];
365
-
366
-			$pipelines = [$pipe => $args];
367
-			$valeurs['_pipelines'] = array_merge($pipelines, $valeurs['_pipelines']);
368
-		}
369
-
370
-		// et enfin, ajoutons systematiquement un pipeline sur le squelette du formulaire
371
-		// qui constitue le cas le plus courant d'utilisation du pipeline recuperer_fond
372
-		// (performance, cela evite de s'injecter dans recuperer_fond utilise pour *tous* les squelettes)
373
-		$valeurs['_pipelines']['formulaire_fond'] = ['form' => $form, 'args' => $args, 'je_suis_poste' => $poste];
374
-	}
375
-
376
-	return $valeurs;
332
+    if ($charger_valeurs = charger_fonction('charger', "formulaires/$form", true)) {
333
+        $valeurs = $charger_valeurs(...$args);
334
+    } else {
335
+        $valeurs = [];
336
+    }
337
+
338
+    $valeurs = pipeline(
339
+        'formulaire_charger',
340
+        [
341
+            'args' => ['form' => $form, 'args' => $args, 'je_suis_poste' => $poste],
342
+            'data' => $valeurs
343
+        ]
344
+    );
345
+
346
+    // prise en charge CVT multi etape
347
+    if (is_array($valeurs) && isset($valeurs['_etapes'])) {
348
+        include_spip('inc/cvt_multietapes');
349
+        $valeurs = cvtmulti_formulaire_charger_etapes(
350
+            ['form' => $form, 'args' => $args, 'je_suis_poste' => $poste],
351
+            $valeurs
352
+        );
353
+    }
354
+
355
+    // si $valeurs et false ou une chaine, pas de formulaire, donc pas de pipeline !
356
+    if (is_array($valeurs)) {
357
+        if (!isset($valeurs['_pipelines'])) {
358
+            $valeurs['_pipelines'] = [];
359
+        }
360
+        // l'ancien argument _pipeline devient maintenant _pipelines
361
+        // reinjectons le vieux _pipeline au debut de _pipelines
362
+        if (isset($valeurs['_pipeline'])) {
363
+            $pipe = is_array($valeurs['_pipeline']) ? reset($valeurs['_pipeline']) : $valeurs['_pipeline'];
364
+            $args = is_array($valeurs['_pipeline']) ? end($valeurs['_pipeline']) : [];
365
+
366
+            $pipelines = [$pipe => $args];
367
+            $valeurs['_pipelines'] = array_merge($pipelines, $valeurs['_pipelines']);
368
+        }
369
+
370
+        // et enfin, ajoutons systematiquement un pipeline sur le squelette du formulaire
371
+        // qui constitue le cas le plus courant d'utilisation du pipeline recuperer_fond
372
+        // (performance, cela evite de s'injecter dans recuperer_fond utilise pour *tous* les squelettes)
373
+        $valeurs['_pipelines']['formulaire_fond'] = ['form' => $form, 'args' => $args, 'je_suis_poste' => $poste];
374
+    }
375
+
376
+    return $valeurs;
377 377
 }
378 378
 
379 379
 /**
@@ -392,9 +392,9 @@  discard block
 block discarded – undo
392 392
  * @return bool
393 393
  */
394 394
 function formulaire__identifier($form, $args, $p) {
395
-	if ($identifier_args = charger_fonction('identifier', "formulaires/$form", true)) {
396
-		return $identifier_args(...$args) === $identifier_args(...$p);
397
-	}
395
+    if ($identifier_args = charger_fonction('identifier', "formulaires/$form", true)) {
396
+        return $identifier_args(...$args) === $identifier_args(...$p);
397
+    }
398 398
 
399
-	return $args === $p;
399
+    return $args === $p;
400 400
 }
Please login to merge, or discard this patch.
ecrire/balise/info_.php 1 patch
Indentation   +23 added lines, -23 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  **/
17 17
 
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 /**
@@ -39,29 +39,29 @@  discard block
 block discarded – undo
39 39
  *     Pile complétée par le code à générer
40 40
  */
41 41
 function balise_INFO__dist($p) {
42
-	$info = $p->nom_champ;
43
-	$type_objet = interprete_argument_balise(1, $p);
44
-	$id_objet = interprete_argument_balise(2, $p);
45
-	if ($info === 'INFO_' || !$type_objet || !$id_objet) {
46
-		$msg = _T('zbug_balise_sans_argument', ['balise' => ' INFO_']);
47
-		erreur_squelette($msg, $p);
48
-		$p->interdire_scripts = true;
42
+    $info = $p->nom_champ;
43
+    $type_objet = interprete_argument_balise(1, $p);
44
+    $id_objet = interprete_argument_balise(2, $p);
45
+    if ($info === 'INFO_' || !$type_objet || !$id_objet) {
46
+        $msg = _T('zbug_balise_sans_argument', ['balise' => ' INFO_']);
47
+        erreur_squelette($msg, $p);
48
+        $p->interdire_scripts = true;
49 49
 
50
-		return $p;
51
-	} else {
52
-		// Récupérer tous les params à la suite de objet et id_objet
53
-		$_params = '[';
54
-		$nb_params = is_countable($p->param[0]) ? count($p->param[0]) : 0; // 1ère valeur vide donc 1 en plus
55
-		for ($i = 3; $i < $nb_params; $i++) {
56
-			$_params .= interprete_argument_balise($i, $p) . ',';
57
-		}
58
-		$_params .= ']';
50
+        return $p;
51
+    } else {
52
+        // Récupérer tous les params à la suite de objet et id_objet
53
+        $_params = '[';
54
+        $nb_params = is_countable($p->param[0]) ? count($p->param[0]) : 0; // 1ère valeur vide donc 1 en plus
55
+        for ($i = 3; $i < $nb_params; $i++) {
56
+            $_params .= interprete_argument_balise($i, $p) . ',';
57
+        }
58
+        $_params .= ']';
59 59
 
60
-		$info_sql = strtolower(substr((string) $info, 5));
61
-		$code = "generer_objet_info($id_objet, $type_objet, '$info_sql', " . ($p->etoile ? _q($p->etoile) : "''") . ", $_params)";
62
-		$p->code = champ_sql($info, $p, $code);
63
-		$p->interdire_scripts = true;
60
+        $info_sql = strtolower(substr((string) $info, 5));
61
+        $code = "generer_objet_info($id_objet, $type_objet, '$info_sql', " . ($p->etoile ? _q($p->etoile) : "''") . ", $_params)";
62
+        $p->code = champ_sql($info, $p, $code);
63
+        $p->interdire_scripts = true;
64 64
 
65
-		return $p;
66
-	}
65
+        return $p;
66
+    }
67 67
 }
Please login to merge, or discard this patch.
ecrire/balise/url_logout.php 1 patch
Indentation   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  **/
17 17
 
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 /**
@@ -35,7 +35,7 @@  discard block
 block discarded – undo
35 35
  *     Pile complétée du code compilé
36 36
  **/
37 37
 function balise_URL_LOGOUT($p) {
38
-	return calculer_balise_dynamique($p, 'URL_LOGOUT', []);
38
+    return calculer_balise_dynamique($p, 'URL_LOGOUT', []);
39 39
 }
40 40
 
41 41
 
@@ -51,9 +51,9 @@  discard block
 block discarded – undo
51 51
  *   Liste (url) des arguments collectés.
52 52
  */
53 53
 function balise_URL_LOGOUT_stat($args, $context_compil) {
54
-	$url = $args[0] ?? '';
54
+    $url = $args[0] ?? '';
55 55
 
56
-	return [$url];
56
+    return [$url];
57 57
 }
58 58
 
59 59
 /**
@@ -68,9 +68,9 @@  discard block
 block discarded – undo
68 68
  **/
69 69
 function balise_URL_LOGOUT_dyn($cible) {
70 70
 
71
-	if (empty($GLOBALS['visiteur_session']['login']) && empty($GLOBALS['visiteur_session']['statut'])) {
72
-		return '';
73
-	}
71
+    if (empty($GLOBALS['visiteur_session']['login']) && empty($GLOBALS['visiteur_session']['statut'])) {
72
+        return '';
73
+    }
74 74
 
75
-	return generer_url_action('logout', 'logout=public&url=' . rawurlencode((string) ($cible ?: self('&'))));
75
+    return generer_url_action('logout', 'logout=public&url=' . rawurlencode((string) ($cible ?: self('&'))));
76 76
 }
Please login to merge, or discard this patch.
ecrire/balise/menu_lang.php 1 patch
Indentation   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  **/
17 17
 
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 /**
@@ -36,7 +36,7 @@  discard block
 block discarded – undo
36 36
  *     Pile complétée du code compilé
37 37
  **/
38 38
 function balise_MENU_LANG($p) {
39
-	return calculer_balise_dynamique($p, 'MENU_LANG', ['lang']);
39
+    return calculer_balise_dynamique($p, 'MENU_LANG', ['lang']);
40 40
 }
41 41
 
42 42
 /**
@@ -55,11 +55,11 @@  discard block
 block discarded – undo
55 55
  *   string: (vide) si pas de multilinguisme
56 56
  */
57 57
 function balise_MENU_LANG_stat($args, $context_compil) {
58
-	if (!str_contains((string) $GLOBALS['meta']['langues_multilingue'], ',')) {
59
-		return '';
60
-	}
58
+    if (!str_contains((string) $GLOBALS['meta']['langues_multilingue'], ',')) {
59
+        return '';
60
+    }
61 61
 
62
-	return $args;
62
+    return $args;
63 63
 }
64 64
 
65 65
 /**
@@ -75,7 +75,7 @@  discard block
 block discarded – undo
75 75
  *     Liste : Chemin du squelette, durée du cache, contexte
76 76
  **/
77 77
 function balise_MENU_LANG_dyn($opt) {
78
-	include_spip('balise/menu_lang_ecrire');
78
+    include_spip('balise/menu_lang_ecrire');
79 79
 
80
-	return menu_lang_pour_tous('var_lang', $opt);
80
+    return menu_lang_pour_tous('var_lang', $opt);
81 81
 }
Please login to merge, or discard this patch.
ecrire/balise/url_.php 1 patch
Indentation   +151 added lines, -151 removed lines patch added patch discarded remove patch
@@ -18,7 +18,7 @@  discard block
 block discarded – undo
18 18
  **/
19 19
 
20 20
 if (!defined('_ECRIRE_INC_VERSION')) {
21
-	return;
21
+    return;
22 22
 }
23 23
 
24 24
 /**
@@ -36,14 +36,14 @@  discard block
 block discarded – undo
36 36
  *     Code compilé
37 37
  **/
38 38
 function generer_generer_url($type, $p) {
39
-	$_id = interprete_argument_balise(1, $p);
39
+    $_id = interprete_argument_balise(1, $p);
40 40
 
41
-	if (!$_id) {
42
-		$primary = id_table_objet($type);
43
-		$_id = champ_sql($primary, $p);
44
-	}
41
+    if (!$_id) {
42
+        $primary = id_table_objet($type);
43
+        $_id = champ_sql($primary, $p);
44
+    }
45 45
 
46
-	return generer_generer_url_arg($type, $p, $_id);
46
+    return generer_generer_url_arg($type, $p, $_id);
47 47
 }
48 48
 
49 49
 /**
@@ -72,28 +72,28 @@  discard block
 block discarded – undo
72 72
  *     Code compilé
73 73
  **/
74 74
 function generer_generer_url_arg($type, $p, $_id) {
75
-	if ($s = trouver_nom_serveur_distant($p)) {
76
-		// si une fonction de generation des url a ete definie pour ce connect l'utiliser
77
-		if (function_exists($f = 'generer_generer_url_' . $s)) {
78
-			return $f($type, $_id, $s);
79
-		}
80
-		if (!$GLOBALS['connexions'][strtolower((string) $s)]['spip_connect_version']) {
81
-			return null;
82
-		}
83
-		$s = _q($s);
84
-		# exception des urls de documents sur un serveur distant...
85
-		if ($type == 'document') {
86
-			return
87
-				"quete_meta('adresse_site', $s) . '/' .\n\t" .
88
-				"quete_meta('dir_img', $s) . \n\t" .
89
-				"quete_fichier($_id,$s)";
90
-		}
91
-		$s = ", '', '', $s, quete_meta('type_urls', $s)";
92
-	} else {
93
-		$s = ", '', '', true";
94
-	}
95
-
96
-	return "urlencode_1738(generer_objet_url($_id, '$type'$s))";
75
+    if ($s = trouver_nom_serveur_distant($p)) {
76
+        // si une fonction de generation des url a ete definie pour ce connect l'utiliser
77
+        if (function_exists($f = 'generer_generer_url_' . $s)) {
78
+            return $f($type, $_id, $s);
79
+        }
80
+        if (!$GLOBALS['connexions'][strtolower((string) $s)]['spip_connect_version']) {
81
+            return null;
82
+        }
83
+        $s = _q($s);
84
+        # exception des urls de documents sur un serveur distant...
85
+        if ($type == 'document') {
86
+            return
87
+                "quete_meta('adresse_site', $s) . '/' .\n\t" .
88
+                "quete_meta('dir_img', $s) . \n\t" .
89
+                "quete_fichier($_id,$s)";
90
+        }
91
+        $s = ", '', '', $s, quete_meta('type_urls', $s)";
92
+    } else {
93
+        $s = ", '', '', true";
94
+    }
95
+
96
+    return "urlencode_1738(generer_objet_url($_id, '$type'$s))";
97 97
 }
98 98
 
99 99
 
@@ -118,27 +118,27 @@  discard block
 block discarded – undo
118 118
  */
119 119
 function balise_URL__dist($p) {
120 120
 
121
-	$nom = $p->nom_champ;
122
-	if ($nom === 'URL_') {
123
-		$msg = ['zbug_balise_sans_argument', ['balise' => ' URL_']];
124
-		erreur_squelette($msg, $p);
125
-		$p->interdire_scripts = false;
126
-
127
-		return $p;
128
-	} elseif ($f = charger_fonction($nom, 'balise', true)) {
129
-		return $f($p);
130
-	} else {
131
-		$nom = strtolower((string) $nom);
132
-		$code = generer_generer_url(substr($nom, 4), $p);
133
-		$code = champ_sql($nom, $p, $code);
134
-		$p->code = $code;
135
-		if (!$p->etoile) {
136
-			$p->code = "vider_url($code)";
137
-		}
138
-		$p->interdire_scripts = false;
139
-
140
-		return $p;
141
-	}
121
+    $nom = $p->nom_champ;
122
+    if ($nom === 'URL_') {
123
+        $msg = ['zbug_balise_sans_argument', ['balise' => ' URL_']];
124
+        erreur_squelette($msg, $p);
125
+        $p->interdire_scripts = false;
126
+
127
+        return $p;
128
+    } elseif ($f = charger_fonction($nom, 'balise', true)) {
129
+        return $f($p);
130
+    } else {
131
+        $nom = strtolower((string) $nom);
132
+        $code = generer_generer_url(substr($nom, 4), $p);
133
+        $code = champ_sql($nom, $p, $code);
134
+        $p->code = $code;
135
+        if (!$p->etoile) {
136
+            $p->code = "vider_url($code)";
137
+        }
138
+        $p->interdire_scripts = false;
139
+
140
+        return $p;
141
+    }
142 142
 }
143 143
 
144 144
 /**
@@ -162,16 +162,16 @@  discard block
 block discarded – undo
162 162
  */
163 163
 function balise_URL_ARTICLE_dist($p) {
164 164
 
165
-	// Cas particulier des boucles (SYNDIC_ARTICLES)
166
-	$code = $p->type_requete == 'syndic_articles' ? champ_sql('url', $p) : generer_generer_url('article', $p);
165
+    // Cas particulier des boucles (SYNDIC_ARTICLES)
166
+    $code = $p->type_requete == 'syndic_articles' ? champ_sql('url', $p) : generer_generer_url('article', $p);
167 167
 
168
-	$p->code = $code;
169
-	if (!$p->etoile) {
170
-		$p->code = "vider_url($code)";
171
-	}
172
-	$p->interdire_scripts = false;
168
+    $p->code = $code;
169
+    if (!$p->etoile) {
170
+        $p->code = "vider_url($code)";
171
+    }
172
+    $p->interdire_scripts = false;
173 173
 
174
-	return $p;
174
+    return $p;
175 175
 }
176 176
 
177 177
 /**
@@ -191,21 +191,21 @@  discard block
 block discarded – undo
191 191
  *     Pile complétée par le code à générer
192 192
  */
193 193
 function balise_URL_SITE_dist($p) {
194
-	$code = champ_sql('url_site', $p, '');
195
-	if (!$code) {
196
-		$code = generer_generer_url('site', $p);
197
-		if ($code === null) {
198
-			return null;
199
-		}
200
-	} else {
201
-		if (!$p->etoile) {
202
-			$code = "calculer_url($code,'','url', \$connect)";
203
-		}
204
-	}
205
-	$p->code = $code;
206
-	$p->interdire_scripts = false;
207
-
208
-	return $p;
194
+    $code = champ_sql('url_site', $p, '');
195
+    if (!$code) {
196
+        $code = generer_generer_url('site', $p);
197
+        if ($code === null) {
198
+            return null;
199
+        }
200
+    } else {
201
+        if (!$p->etoile) {
202
+            $code = "calculer_url($code,'','url', \$connect)";
203
+        }
204
+    }
205
+    $p->code = $code;
206
+    $p->interdire_scripts = false;
207
+
208
+    return $p;
209 209
 }
210 210
 
211 211
 // Autres balises URL_*, qui ne concernent pas une table
@@ -224,11 +224,11 @@  discard block
 block discarded – undo
224 224
  *     Pile complétée par le code à générer
225 225
  */
226 226
 function balise_URL_SITE_SPIP_dist($p) {
227
-	$p->code = "sinon(\$GLOBALS['meta']['adresse_site'],'.')";
228
-	$p->code = 'spip_htmlspecialchars(' . $p->code . ')';
229
-	$p->interdire_scripts = false;
227
+    $p->code = "sinon(\$GLOBALS['meta']['adresse_site'],'.')";
228
+    $p->code = 'spip_htmlspecialchars(' . $p->code . ')';
229
+    $p->interdire_scripts = false;
230 230
 
231
-	return $p;
231
+    return $p;
232 232
 }
233 233
 
234 234
 
@@ -257,42 +257,42 @@  discard block
 block discarded – undo
257 257
  */
258 258
 function balise_URL_PAGE_dist($p) {
259 259
 
260
-	$code = interprete_argument_balise(1, $p);
261
-	$args = interprete_argument_balise(2, $p);
262
-	if ($args == null) {
263
-		$args = "''";
264
-	}
265
-
266
-	if ($s = trouver_nom_serveur_distant($p)) {
267
-		// si une fonction de generation des url a ete definie pour ce connect l'utiliser
268
-		// elle devra aussi traiter le cas derogatoire type=page
269
-		if (function_exists($f = 'generer_generer_url_' . $s)) {
270
-			if ($args && $args !== "''") {
271
-				$code .= ", $args";
272
-			}
273
-			$code = $f('page', $code, $s);
274
-			$p->code = $code;
275
-			return $p;
276
-		}
277
-		$s = 'connect=' . addslashes((string) $s);
278
-		$args = (($args && $args !== "''") ? "$args . '&$s'" : "'$s'");
279
-	}
280
-
281
-	if (!$code) {
282
-		$noentities = $p->etoile ? "'&'" : '';
283
-		$code = "url_de_base() . preg_replace(',^./,', '', self($noentities))";
284
-	} else {
285
-		if (!$args) {
286
-			$args = "''";
287
-		}
288
-		$noentities = $p->etoile ? ', true' : '';
289
-		$code = "generer_url_public($code, $args$noentities)";
290
-	}
291
-	$p->code = $code;
292
-	spip_log("Calcul url page : connect vaut $s ca donne :" . $p->code . " args $args", _LOG_INFO);
293
-
294
-	#$p->interdire_scripts = true;
295
-	return $p;
260
+    $code = interprete_argument_balise(1, $p);
261
+    $args = interprete_argument_balise(2, $p);
262
+    if ($args == null) {
263
+        $args = "''";
264
+    }
265
+
266
+    if ($s = trouver_nom_serveur_distant($p)) {
267
+        // si une fonction de generation des url a ete definie pour ce connect l'utiliser
268
+        // elle devra aussi traiter le cas derogatoire type=page
269
+        if (function_exists($f = 'generer_generer_url_' . $s)) {
270
+            if ($args && $args !== "''") {
271
+                $code .= ", $args";
272
+            }
273
+            $code = $f('page', $code, $s);
274
+            $p->code = $code;
275
+            return $p;
276
+        }
277
+        $s = 'connect=' . addslashes((string) $s);
278
+        $args = (($args && $args !== "''") ? "$args . '&$s'" : "'$s'");
279
+    }
280
+
281
+    if (!$code) {
282
+        $noentities = $p->etoile ? "'&'" : '';
283
+        $code = "url_de_base() . preg_replace(',^./,', '', self($noentities))";
284
+    } else {
285
+        if (!$args) {
286
+            $args = "''";
287
+        }
288
+        $noentities = $p->etoile ? ', true' : '';
289
+        $code = "generer_url_public($code, $args$noentities)";
290
+    }
291
+    $p->code = $code;
292
+    spip_log("Calcul url page : connect vaut $s ca donne :" . $p->code . " args $args", _LOG_INFO);
293
+
294
+    #$p->interdire_scripts = true;
295
+    return $p;
296 296
 }
297 297
 
298 298
 
@@ -319,24 +319,24 @@  discard block
 block discarded – undo
319 319
  */
320 320
 function balise_URL_ECRIRE_dist($p) {
321 321
 
322
-	$code = interprete_argument_balise(1, $p);
323
-	if (!$code) {
324
-		$fonc = "''";
325
-	} else {
326
-		$fonc = $code;
327
-		$args = interprete_argument_balise(2, $p);
328
-		if ($args === null) {
329
-			$args = "''";
330
-		}
331
-		$noentities = $p->etoile ? ', true' : '';
332
-		if ($args != "''" || $noentities) {
333
-			$fonc .= ",$args$noentities";
334
-		}
335
-	}
336
-	$p->code = 'generer_url_ecrire(' . $fonc . ')';
337
-	$p->interdire_scripts = false;
338
-
339
-	return $p;
322
+    $code = interprete_argument_balise(1, $p);
323
+    if (!$code) {
324
+        $fonc = "''";
325
+    } else {
326
+        $fonc = $code;
327
+        $args = interprete_argument_balise(2, $p);
328
+        if ($args === null) {
329
+            $args = "''";
330
+        }
331
+        $noentities = $p->etoile ? ', true' : '';
332
+        if ($args != "''" || $noentities) {
333
+            $fonc .= ",$args$noentities";
334
+        }
335
+    }
336
+    $p->code = 'generer_url_ecrire(' . $fonc . ')';
337
+    $p->interdire_scripts = false;
338
+
339
+    return $p;
340 340
 }
341 341
 
342 342
 
@@ -362,24 +362,24 @@  discard block
 block discarded – undo
362 362
  *     Pile complétée par le code à générer
363 363
  */
364 364
 function balise_URL_ACTION_AUTEUR_dist($p) {
365
-	$p->descr['session'] = true;
366
-
367
-	$p->code = interprete_argument_balise(1, $p);
368
-
369
-	$args = interprete_argument_balise(2, $p);
370
-	if ($args != "''" && $args !== null) {
371
-		$p->code .= ',' . $args;
372
-	}
373
-	$redirect = interprete_argument_balise(3, $p);
374
-	if ($redirect != "''" && $redirect !== null) {
375
-		if ($args == "''" || $args === null) {
376
-			$p->code .= ",''";
377
-		}
378
-		$p->code .= ',' . $redirect;
379
-	}
380
-
381
-	$p->code = 'generer_action_auteur(' . $p->code . ')';
382
-	$p->interdire_scripts = false;
383
-
384
-	return $p;
365
+    $p->descr['session'] = true;
366
+
367
+    $p->code = interprete_argument_balise(1, $p);
368
+
369
+    $args = interprete_argument_balise(2, $p);
370
+    if ($args != "''" && $args !== null) {
371
+        $p->code .= ',' . $args;
372
+    }
373
+    $redirect = interprete_argument_balise(3, $p);
374
+    if ($redirect != "''" && $redirect !== null) {
375
+        if ($args == "''" || $args === null) {
376
+            $p->code .= ",''";
377
+        }
378
+        $p->code .= ',' . $redirect;
379
+    }
380
+
381
+    $p->code = 'generer_action_auteur(' . $p->code . ')';
382
+    $p->interdire_scripts = false;
383
+
384
+    return $p;
385 385
 }
Please login to merge, or discard this patch.
ecrire/balise/logo_.php 1 patch
Indentation   +85 added lines, -85 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  **/
17 17
 
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 
@@ -55,88 +55,88 @@  discard block
 block discarded – undo
55 55
  */
56 56
 function balise_LOGO__dist($p) {
57 57
 
58
-	preg_match(',^LOGO_([A-Z_]+?)(|_NORMAL|_SURVOL|_RUBRIQUE)$,i', $p->nom_champ, $regs);
59
-	$type = strtolower($regs[1]);
60
-	$suite_logo = $regs[2];
61
-
62
-	// cas de #LOGO_SITE_SPIP
63
-	if ($type == 'site_spip') {
64
-		$type = 'site';
65
-		$_id_objet = "\"'0'\"";
66
-	}
67
-
68
-	$id_objet = id_table_objet($type);
69
-	if (!isset($_id_objet)) {
70
-		$_id_objet = champ_sql($id_objet, $p);
71
-	}
72
-
73
-	$fichier = ($p->etoile === '**') ? -1 : 0;
74
-	$coord = [];
75
-	$align = $lien = '';
76
-	$mode_logo = '';
77
-
78
-	if ($p->param && !$p->param[0][0]) {
79
-		$params = $p->param[0];
80
-		array_shift($params);
81
-		foreach ($params as $a) {
82
-			if ($a[0]->type === 'texte') {
83
-				$n = $a[0]->texte;
84
-				if (is_numeric($n)) {
85
-					$coord[] = $n;
86
-				} elseif (in_array($n, ['top', 'left', 'right', 'center', 'bottom'])) {
87
-					$align = $n;
88
-				} elseif (in_array($n, ['auto', 'icone', 'apercu', 'vignette'])) {
89
-					$mode_logo = $n;
90
-				}
91
-			} else {
92
-				$lien = calculer_liste($a, $p->descr, $p->boucles, $p->id_boucle);
93
-			}
94
-		}
95
-	}
96
-
97
-	$coord_x = $coord ? (int) array_shift($coord) : 0;
98
-	$coord_y = $coord ? (int) array_shift($coord) : 0;
99
-
100
-	if ($p->etoile === '*') {
101
-		include_spip('balise/url_');
102
-		$lien = generer_generer_url_arg($type, $p, $_id_objet);
103
-	}
104
-
105
-	$connect = $p->id_boucle ? $p->boucles[$p->id_boucle]->sql_serveur : '';
106
-	if ($type == 'document') {
107
-		$qconnect = _q($connect);
108
-		$doc = "quete_document($_id_objet, $qconnect)";
109
-		if ($fichier) {
110
-			$code = "quete_logo_file($doc, $qconnect)";
111
-		} else {
112
-			$code = "quete_logo_document($doc, " . ($lien ?: "''") . ", '$align', '$mode_logo', $coord_x, $coord_y, $qconnect)";
113
-		}
114
-		// (x=non-faux ? y : '') pour affecter x en retournant y
115
-		if ($p->descr['documents']) {
116
-			$code = '(($doublons["documents"] .= ",". '
117
-				. $_id_objet
118
-				. ") ? $code : '')";
119
-		}
120
-	} elseif ($connect) {
121
-		$code = "''";
122
-		spip_log('Les logos distants ne sont pas prevus');
123
-	} else {
124
-		// pour generer_code_logo
125
-		include_spip('balise/id_logo_');
126
-		$champ_logo = '';
127
-		if ($fichier) {
128
-			$champ_logo = 'fichier';
129
-		}
130
-		$code = generer_code_logo($id_objet, $_id_objet, $type, $align, $lien, $p, $suite_logo, $champ_logo);
131
-	}
132
-
133
-	// demande de reduction sur logo avec ecriture spip 2.1 : #LOGO_xxx{200, 0}
134
-	if ($coord_x || $coord_y) {
135
-		$code = "filtrer('image_graver',filtrer('image_reduire'," . $code . ", '$coord_x', '$coord_y'))";
136
-	}
137
-
138
-	$p->code = $code;
139
-	$p->interdire_scripts = false;
140
-
141
-	return $p;
58
+    preg_match(',^LOGO_([A-Z_]+?)(|_NORMAL|_SURVOL|_RUBRIQUE)$,i', $p->nom_champ, $regs);
59
+    $type = strtolower($regs[1]);
60
+    $suite_logo = $regs[2];
61
+
62
+    // cas de #LOGO_SITE_SPIP
63
+    if ($type == 'site_spip') {
64
+        $type = 'site';
65
+        $_id_objet = "\"'0'\"";
66
+    }
67
+
68
+    $id_objet = id_table_objet($type);
69
+    if (!isset($_id_objet)) {
70
+        $_id_objet = champ_sql($id_objet, $p);
71
+    }
72
+
73
+    $fichier = ($p->etoile === '**') ? -1 : 0;
74
+    $coord = [];
75
+    $align = $lien = '';
76
+    $mode_logo = '';
77
+
78
+    if ($p->param && !$p->param[0][0]) {
79
+        $params = $p->param[0];
80
+        array_shift($params);
81
+        foreach ($params as $a) {
82
+            if ($a[0]->type === 'texte') {
83
+                $n = $a[0]->texte;
84
+                if (is_numeric($n)) {
85
+                    $coord[] = $n;
86
+                } elseif (in_array($n, ['top', 'left', 'right', 'center', 'bottom'])) {
87
+                    $align = $n;
88
+                } elseif (in_array($n, ['auto', 'icone', 'apercu', 'vignette'])) {
89
+                    $mode_logo = $n;
90
+                }
91
+            } else {
92
+                $lien = calculer_liste($a, $p->descr, $p->boucles, $p->id_boucle);
93
+            }
94
+        }
95
+    }
96
+
97
+    $coord_x = $coord ? (int) array_shift($coord) : 0;
98
+    $coord_y = $coord ? (int) array_shift($coord) : 0;
99
+
100
+    if ($p->etoile === '*') {
101
+        include_spip('balise/url_');
102
+        $lien = generer_generer_url_arg($type, $p, $_id_objet);
103
+    }
104
+
105
+    $connect = $p->id_boucle ? $p->boucles[$p->id_boucle]->sql_serveur : '';
106
+    if ($type == 'document') {
107
+        $qconnect = _q($connect);
108
+        $doc = "quete_document($_id_objet, $qconnect)";
109
+        if ($fichier) {
110
+            $code = "quete_logo_file($doc, $qconnect)";
111
+        } else {
112
+            $code = "quete_logo_document($doc, " . ($lien ?: "''") . ", '$align', '$mode_logo', $coord_x, $coord_y, $qconnect)";
113
+        }
114
+        // (x=non-faux ? y : '') pour affecter x en retournant y
115
+        if ($p->descr['documents']) {
116
+            $code = '(($doublons["documents"] .= ",". '
117
+                . $_id_objet
118
+                . ") ? $code : '')";
119
+        }
120
+    } elseif ($connect) {
121
+        $code = "''";
122
+        spip_log('Les logos distants ne sont pas prevus');
123
+    } else {
124
+        // pour generer_code_logo
125
+        include_spip('balise/id_logo_');
126
+        $champ_logo = '';
127
+        if ($fichier) {
128
+            $champ_logo = 'fichier';
129
+        }
130
+        $code = generer_code_logo($id_objet, $_id_objet, $type, $align, $lien, $p, $suite_logo, $champ_logo);
131
+    }
132
+
133
+    // demande de reduction sur logo avec ecriture spip 2.1 : #LOGO_xxx{200, 0}
134
+    if ($coord_x || $coord_y) {
135
+        $code = "filtrer('image_graver',filtrer('image_reduire'," . $code . ", '$coord_x', '$coord_y'))";
136
+    }
137
+
138
+    $p->code = $code;
139
+    $p->interdire_scripts = false;
140
+
141
+    return $p;
142 142
 }
Please login to merge, or discard this patch.
ecrire/balise/menu_lang_ecrire.php 1 patch
Indentation   +31 added lines, -31 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  **/
17 17
 
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 /**
@@ -36,7 +36,7 @@  discard block
 block discarded – undo
36 36
  *     Pile complétée du code compilé
37 37
  **/
38 38
 function balise_MENU_LANG_ECRIRE($p) {
39
-	return calculer_balise_dynamique($p, 'MENU_LANG_ECRIRE', ['lang']);
39
+    return calculer_balise_dynamique($p, 'MENU_LANG_ECRIRE', ['lang']);
40 40
 }
41 41
 
42 42
 /**
@@ -55,12 +55,12 @@  discard block
 block discarded – undo
55 55
  *   - string: Si pas de multilinguisme
56 56
  */
57 57
 function balise_MENU_LANG_ECRIRE_stat($args, $context_compil) {
58
-	include_spip('inc/lang');
59
-	if (!str_contains((string) $GLOBALS['meta']['langues_proposees'], ',')) {
60
-		return '';
61
-	}
58
+    include_spip('inc/lang');
59
+    if (!str_contains((string) $GLOBALS['meta']['langues_proposees'], ',')) {
60
+        return '';
61
+    }
62 62
 
63
-	return $args;
63
+    return $args;
64 64
 }
65 65
 
66 66
 /**
@@ -76,7 +76,7 @@  discard block
 block discarded – undo
76 76
  *     Liste : Chemin du squelette, durée du cache, contexte
77 77
  **/
78 78
 function balise_MENU_LANG_ECRIRE_dyn($opt) {
79
-	return menu_lang_pour_tous('var_lang_ecrire', $opt);
79
+    return menu_lang_pour_tous('var_lang_ecrire', $opt);
80 80
 }
81 81
 
82 82
 /**
@@ -96,30 +96,30 @@  discard block
 block discarded – undo
96 96
  *     Liste : Chemin du squelette, durée du cache, contexte
97 97
  **/
98 98
 function menu_lang_pour_tous($nom, $default) {
99
-	include_spip('inc/lang');
99
+    include_spip('inc/lang');
100 100
 
101
-	if ($GLOBALS['spip_lang'] != $default) {
102
-		$opt = lang_select($default);  # et remplace
103
-		if ($GLOBALS['spip_lang'] != $default) {
104
-			$default = '';  # annule tout choix par defaut
105
-			if ($opt) {
106
-				lang_select();
107
-			}
108
-		}
109
-	}
101
+    if ($GLOBALS['spip_lang'] != $default) {
102
+        $opt = lang_select($default);  # et remplace
103
+        if ($GLOBALS['spip_lang'] != $default) {
104
+            $default = '';  # annule tout choix par defaut
105
+            if ($opt) {
106
+                lang_select();
107
+            }
108
+        }
109
+    }
110 110
 
111
-	# lien a partir de /
112
-	$cible = parametre_url(self(), 'lang', '', '&');
113
-	$post = generer_url_action('converser', 'redirect=' . rawurlencode((string) $cible), true);
111
+    # lien a partir de /
112
+    $cible = parametre_url(self(), 'lang', '', '&');
113
+    $post = generer_url_action('converser', 'redirect=' . rawurlencode((string) $cible), true);
114 114
 
115
-	return [
116
-		'formulaires/menu_lang',
117
-		3600,
118
-		[
119
-			'nom' => $nom,
120
-			'url' => $post,
121
-			'name' => $nom,
122
-			'default' => $default,
123
-		]
124
-	];
115
+    return [
116
+        'formulaires/menu_lang',
117
+        3600,
118
+        [
119
+            'nom' => $nom,
120
+            'url' => $post,
121
+            'name' => $nom,
122
+            'default' => $default,
123
+        ]
124
+    ];
125 125
 }
Please login to merge, or discard this patch.
ecrire/balise/formulaire_admin.php 1 patch
Indentation   +141 added lines, -141 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  **/
17 17
 
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 /**
@@ -41,7 +41,7 @@  discard block
 block discarded – undo
41 41
  *     Pile complétée du code compilé
42 42
  **/
43 43
 function balise_FORMULAIRE_ADMIN($p) {
44
-	return calculer_balise_dynamique($p, 'FORMULAIRE_ADMIN', []);
44
+    return calculer_balise_dynamique($p, 'FORMULAIRE_ADMIN', []);
45 45
 }
46 46
 
47 47
 /**
@@ -58,7 +58,7 @@  discard block
 block discarded – undo
58 58
  *   - chaîne vide sinon.
59 59
  */
60 60
 function balise_FORMULAIRE_ADMIN_stat($args, $context_compil) {
61
-	return $args;
61
+    return $args;
62 62
 }
63 63
 
64 64
 
@@ -83,64 +83,64 @@  discard block
 block discarded – undo
83 83
  **/
84 84
 function balise_FORMULAIRE_ADMIN_dyn($float = '', $debug = '') {
85 85
 
86
-	static $dejafait = false;
86
+    static $dejafait = false;
87 87
 
88
-	if (empty($_COOKIE['spip_admin'])) {
89
-		return '';
90
-	}
88
+    if (empty($_COOKIE['spip_admin'])) {
89
+        return '';
90
+    }
91 91
 
92
-	if (!is_array($debug)) {
93
-		if ($dejafait) {
94
-			return '';
95
-		}
96
-	} else {
97
-		if ($dejafait) {
98
-			if (empty($debug['sourcefile'])) {
99
-				return '';
100
-			}
101
-			foreach ($debug['sourcefile'] as $k => $v) {
102
-				if (str_contains((string) $v, 'administration.') && isset($debug['resultat'][$k . 'tout'])) {
103
-					return $debug['resultat'][$k . 'tout'];
104
-				}
105
-			}
92
+    if (!is_array($debug)) {
93
+        if ($dejafait) {
94
+            return '';
95
+        }
96
+    } else {
97
+        if ($dejafait) {
98
+            if (empty($debug['sourcefile'])) {
99
+                return '';
100
+            }
101
+            foreach ($debug['sourcefile'] as $k => $v) {
102
+                if (str_contains((string) $v, 'administration.') && isset($debug['resultat'][$k . 'tout'])) {
103
+                    return $debug['resultat'][$k . 'tout'];
104
+                }
105
+            }
106 106
 
107
-			return '';
108
-		}
109
-	}
107
+            return '';
108
+        }
109
+    }
110 110
 
111
-	include_spip('inc/autoriser');
112
-	include_spip('base/abstract_sql');
111
+    include_spip('inc/autoriser');
112
+    include_spip('base/abstract_sql');
113 113
 
114 114
 
115
-	$dejafait = true;
115
+    $dejafait = true;
116 116
 
117
-	// Preparer le #ENV des boutons
117
+    // Preparer le #ENV des boutons
118 118
 
119
-	$env = admin_objet();
119
+    $env = admin_objet();
120 120
 
121
-	// Pas de "modifier ce..." ? -> donner "acces a l'espace prive"
122
-	if (!$env) {
123
-		$env['ecrire'] = _DIR_RESTREINT_ABS;
124
-	}
121
+    // Pas de "modifier ce..." ? -> donner "acces a l'espace prive"
122
+    if (!$env) {
123
+        $env['ecrire'] = _DIR_RESTREINT_ABS;
124
+    }
125 125
 
126
-	$env['divclass'] = $float;
127
-	$env['lang'] = admin_lang();
128
-	$env['calcul'] = (_request('var_mode') ? 'recalcul' : 'calcul');
129
-	$env['debug'] = ((defined('_VAR_PREVIEW') && _VAR_PREVIEW) ? '' : admin_debug());
130
-	$env['analyser'] = (!$env['debug'] && !$GLOBALS['xhtml']) ? '' : admin_valider();
131
-	$env['inclure'] = ((defined('_VAR_INCLURE') && _VAR_INCLURE) ? 'inclure' : '');
126
+    $env['divclass'] = $float;
127
+    $env['lang'] = admin_lang();
128
+    $env['calcul'] = (_request('var_mode') ? 'recalcul' : 'calcul');
129
+    $env['debug'] = ((defined('_VAR_PREVIEW') && _VAR_PREVIEW) ? '' : admin_debug());
130
+    $env['analyser'] = (!$env['debug'] && !$GLOBALS['xhtml']) ? '' : admin_valider();
131
+    $env['inclure'] = ((defined('_VAR_INCLURE') && _VAR_INCLURE) ? 'inclure' : '');
132 132
 
133
-	if (empty($GLOBALS['use_cache'])) {
134
-		$env['use_cache'] = ' *';
135
-	}
133
+    if (empty($GLOBALS['use_cache'])) {
134
+        $env['use_cache'] = ' *';
135
+    }
136 136
 
137
-	if (isset($debug['validation'])) {
138
-		$env['xhtml_error'] = $debug['validation'];
139
-	}
137
+    if (isset($debug['validation'])) {
138
+        $env['xhtml_error'] = $debug['validation'];
139
+    }
140 140
 
141
-	$env['_pipelines']['formulaire_admin'] = [];
141
+    $env['_pipelines']['formulaire_admin'] = [];
142 142
 
143
-	return ['formulaires/administration', 0, $env];
143
+    return ['formulaires/administration', 0, $env];
144 144
 }
145 145
 
146 146
 
@@ -158,46 +158,46 @@  discard block
 block discarded – undo
158 158
  *     Tableau de l'environnement calculé
159 159
  **/
160 160
 function admin_objet() {
161
-	include_spip('inc/urls');
162
-	$env = [];
163
-
164
-	$trouver_table = charger_fonction('trouver_table', 'base');
165
-	$objets = urls_liste_objets(false);
166
-	$objets = array_diff($objets, ['rubrique']);
167
-	$objets = array_reverse($objets);
168
-	array_unshift($objets, 'rubrique');
169
-	foreach ($objets as $obj) {
170
-		$type = $obj;
171
-		if (
172
-			$type == objet_type($type, false)
173
-			&& ($_id_type = id_table_objet($type))
174
-			&& isset($GLOBALS['contexte'][$_id_type])
175
-			&& ($id = $GLOBALS['contexte'][$_id_type])
176
-			&& !is_array($id)
177
-			&& ($id = (int) $id)
178
-			&& ($desc = $trouver_table(table_objet_sql($type)))
179
-		) {
180
-			$id = sql_getfetsel($_id_type, table_objet_sql($type), "$_id_type=" . (int) $id);
181
-			if ($id) {
182
-				$env[$_id_type] = $id;
183
-				$env['objet'] = $type;
184
-				$env['id_objet'] = $id;
185
-				$env['voir_' . $obj] = str_replace('&amp;', '&', (string) generer_objet_url($id, $obj, '', '', false));
186
-				if (
187
-					isset($desc['field']['id_rubrique'])
188
-					&& $type != 'rubrique'
189
-				) {
190
-					unset($env['id_rubrique']);
191
-					unset($env['voir_rubrique']);
192
-					if (admin_preview($type, $id, $desc)) {
193
-						$env['preview'] = parametre_url(self(), 'var_mode', 'preview', '&');
194
-					}
195
-				}
196
-			}
197
-		}
198
-	}
199
-
200
-	return $env;
161
+    include_spip('inc/urls');
162
+    $env = [];
163
+
164
+    $trouver_table = charger_fonction('trouver_table', 'base');
165
+    $objets = urls_liste_objets(false);
166
+    $objets = array_diff($objets, ['rubrique']);
167
+    $objets = array_reverse($objets);
168
+    array_unshift($objets, 'rubrique');
169
+    foreach ($objets as $obj) {
170
+        $type = $obj;
171
+        if (
172
+            $type == objet_type($type, false)
173
+            && ($_id_type = id_table_objet($type))
174
+            && isset($GLOBALS['contexte'][$_id_type])
175
+            && ($id = $GLOBALS['contexte'][$_id_type])
176
+            && !is_array($id)
177
+            && ($id = (int) $id)
178
+            && ($desc = $trouver_table(table_objet_sql($type)))
179
+        ) {
180
+            $id = sql_getfetsel($_id_type, table_objet_sql($type), "$_id_type=" . (int) $id);
181
+            if ($id) {
182
+                $env[$_id_type] = $id;
183
+                $env['objet'] = $type;
184
+                $env['id_objet'] = $id;
185
+                $env['voir_' . $obj] = str_replace('&amp;', '&', (string) generer_objet_url($id, $obj, '', '', false));
186
+                if (
187
+                    isset($desc['field']['id_rubrique'])
188
+                    && $type != 'rubrique'
189
+                ) {
190
+                    unset($env['id_rubrique']);
191
+                    unset($env['voir_rubrique']);
192
+                    if (admin_preview($type, $id, $desc)) {
193
+                        $env['preview'] = parametre_url(self(), 'var_mode', 'preview', '&');
194
+                    }
195
+                }
196
+            }
197
+        }
198
+    }
199
+
200
+    return $env;
201 201
 }
202 202
 
203 203
 
@@ -215,30 +215,30 @@  discard block
 block discarded – undo
215 215
  *     - Tableau d'un élément sinon.
216 216
  **/
217 217
 function admin_preview($type, $id, $desc = null) {
218
-	if (defined('_VAR_PREVIEW') && _VAR_PREVIEW) {
219
-		return '';
220
-	}
221
-
222
-	if (!$desc) {
223
-		$trouver_table = charger_fonction('trouver_table', 'base');
224
-		$desc = $trouver_table(table_objet_sql($type));
225
-	}
226
-	if (!$desc || !isset($desc['field']['statut'])) {
227
-		return '';
228
-	}
229
-
230
-	include_spip('inc/autoriser');
231
-	if (!autoriser('previsualiser')) {
232
-		return '';
233
-	}
234
-
235
-	$notpub = sql_in('statut', ['prop', 'prive']);
236
-
237
-	if ($type == 'article' && $GLOBALS['meta']['post_dates'] != 'oui') {
238
-		$notpub .= " OR (statut='publie' AND date>" . sql_quote(date('Y-m-d H:i:s')) . ')';
239
-	}
240
-
241
-	return sql_fetsel('1', table_objet_sql($type), id_table_objet($type) . '=' . $id . " AND ($notpub)");
218
+    if (defined('_VAR_PREVIEW') && _VAR_PREVIEW) {
219
+        return '';
220
+    }
221
+
222
+    if (!$desc) {
223
+        $trouver_table = charger_fonction('trouver_table', 'base');
224
+        $desc = $trouver_table(table_objet_sql($type));
225
+    }
226
+    if (!$desc || !isset($desc['field']['statut'])) {
227
+        return '';
228
+    }
229
+
230
+    include_spip('inc/autoriser');
231
+    if (!autoriser('previsualiser')) {
232
+        return '';
233
+    }
234
+
235
+    $notpub = sql_in('statut', ['prop', 'prive']);
236
+
237
+    if ($type == 'article' && $GLOBALS['meta']['post_dates'] != 'oui') {
238
+        $notpub .= " OR (statut='publie' AND date>" . sql_quote(date('Y-m-d H:i:s')) . ')';
239
+    }
240
+
241
+    return sql_fetsel('1', table_objet_sql($type), id_table_objet($type) . '=' . $id . " AND ($notpub)");
242 242
 }
243 243
 
244 244
 
@@ -249,25 +249,25 @@  discard block
 block discarded – undo
249 249
  *     Code de langue
250 250
  **/
251 251
 function admin_lang() {
252
-	$alang = '';
253
-	if (!empty($_COOKIE['spip_admin'])) {
254
-		$email_or_login = preg_replace(',^@,', '', (string) $_COOKIE['spip_admin']);
255
-		$alang = sql_getfetsel('lang', 'spip_auteurs', 'email=' . sql_quote($email_or_login));
256
-		if (!$alang) {
257
-			$alang = sql_getfetsel('lang', 'spip_auteurs', 'login=' . sql_quote($email_or_login));
258
-		}
259
-	}
260
-	if (!$alang) {
261
-		return '';
262
-	}
263
-
264
-	$l = lang_select($alang);
265
-	$alang = $GLOBALS['spip_lang'];
266
-	if ($l) {
267
-		lang_select();
268
-	}
269
-
270
-	return $alang;
252
+    $alang = '';
253
+    if (!empty($_COOKIE['spip_admin'])) {
254
+        $email_or_login = preg_replace(',^@,', '', (string) $_COOKIE['spip_admin']);
255
+        $alang = sql_getfetsel('lang', 'spip_auteurs', 'email=' . sql_quote($email_or_login));
256
+        if (!$alang) {
257
+            $alang = sql_getfetsel('lang', 'spip_auteurs', 'login=' . sql_quote($email_or_login));
258
+        }
259
+    }
260
+    if (!$alang) {
261
+        return '';
262
+    }
263
+
264
+    $l = lang_select($alang);
265
+    $alang = $GLOBALS['spip_lang'];
266
+    if ($l) {
267
+        lang_select();
268
+    }
269
+
270
+    return $alang;
271 271
 }
272 272
 
273 273
 /**
@@ -277,11 +277,11 @@  discard block
 block discarded – undo
277 277
  **/
278 278
 function admin_valider() {
279 279
 
280
-	return ((!isset($GLOBALS['xhtml']) || $GLOBALS['xhtml'] !== 'true') ?
281
-		(parametre_url(self(), 'var_mode', 'debug', '&')
282
-			. '&var_mode_affiche=validation') :
283
-		('http://validator.w3.org/check?uri='
284
-			. rawurlencode('http://' . $_SERVER['HTTP_HOST'] . nettoyer_uri())));
280
+    return ((!isset($GLOBALS['xhtml']) || $GLOBALS['xhtml'] !== 'true') ?
281
+        (parametre_url(self(), 'var_mode', 'debug', '&')
282
+            . '&var_mode_affiche=validation') :
283
+        ('http://validator.w3.org/check?uri='
284
+            . rawurlencode('http://' . $_SERVER['HTTP_HOST'] . nettoyer_uri())));
285 285
 }
286 286
 
287 287
 /**
@@ -290,10 +290,10 @@  discard block
 block discarded – undo
290 290
  * @return string
291 291
  **/
292 292
 function admin_debug() {
293
-	return (
294
-		(isset($GLOBALS['forcer_debug']) && $GLOBALS['forcer_debug']
295
-		|| isset($GLOBALS['bouton_admin_debug']) && $GLOBALS['bouton_admin_debug']
296
-		|| defined('_VAR_MODE') && _VAR_MODE == 'debug' && isset($_COOKIE['spip_debug']) && $_COOKIE['spip_debug']) && autoriser('debug')
297
-	)
298
-		? parametre_url(self(), 'var_mode', 'debug', '&') : '';
293
+    return (
294
+        (isset($GLOBALS['forcer_debug']) && $GLOBALS['forcer_debug']
295
+        || isset($GLOBALS['bouton_admin_debug']) && $GLOBALS['bouton_admin_debug']
296
+        || defined('_VAR_MODE') && _VAR_MODE == 'debug' && isset($_COOKIE['spip_debug']) && $_COOKIE['spip_debug']) && autoriser('debug')
297
+    )
298
+        ? parametre_url(self(), 'var_mode', 'debug', '&') : '';
299 299
 }
Please login to merge, or discard this patch.
ecrire/maj/legacy/v40.php 1 patch
Indentation   +42 added lines, -42 removed lines patch added patch discarded remove patch
@@ -19,7 +19,7 @@  discard block
 block discarded – undo
19 19
  * @package SPIP\Core\SQL\Upgrade
20 20
  **/
21 21
 if (!defined('_ECRIRE_INC_VERSION')) {
22
-	return;
22
+    return;
23 23
 }
24 24
 
25 25
 
@@ -34,49 +34,49 @@  discard block
 block discarded – undo
34 34
  **/
35 35
 function maj_timestamp_mysql($tables = null) {
36 36
 
37
-	include_spip('base/dump');
38
-	if (is_null($tables)) {
39
-		$tables = base_lister_toutes_tables();
40
-	} elseif (is_string($tables)) {
41
-		$tables = [$tables];
42
-	} elseif (!is_array($tables)) {
43
-		return;
44
-	}
37
+    include_spip('base/dump');
38
+    if (is_null($tables)) {
39
+        $tables = base_lister_toutes_tables();
40
+    } elseif (is_string($tables)) {
41
+        $tables = [$tables];
42
+    } elseif (!is_array($tables)) {
43
+        return;
44
+    }
45 45
 
46
-	// rien a faire si base non mysql
47
-	if (!str_starts_with((string) $GLOBALS['connexions'][0]['type'], 'mysql')) {
48
-		return;
49
-	}
46
+    // rien a faire si base non mysql
47
+    if (!str_starts_with((string) $GLOBALS['connexions'][0]['type'], 'mysql')) {
48
+        return;
49
+    }
50 50
 
51
-	$trouver_table = charger_fonction('trouver_table', 'base');
52
-	// forcer le vidage de cache
53
-	$trouver_table('');
51
+    $trouver_table = charger_fonction('trouver_table', 'base');
52
+    // forcer le vidage de cache
53
+    $trouver_table('');
54 54
 
55
-	foreach ($tables as $table) {
56
-		if (time() >= _TIME_OUT) {
57
-			return;
58
-		}
59
-		if ($desc = $trouver_table($table)) {
60
-			$fields_corrected = _mysql_remplacements_definitions_table($desc['field']);
61
-			$d = array_diff($desc['field'], $fields_corrected);
62
-			if ($d) {
63
-				spip_log("Table $table TIMESTAMP incorrect", 'maj');
64
-				foreach ($desc['field'] as $field => $type) {
65
-					if ($desc['field'][$field] !== $fields_corrected[$field]) {
66
-						spip_log("Adaptation TIMESTAMP table $table", 'maj.' . _LOG_INFO_IMPORTANTE);
67
-						sql_alter("table $table change $field $field " . $fields_corrected[$field]);
68
-						$trouver_table('');
69
-						$new_desc = $trouver_table($table);
70
-						spip_log(
71
-							"Apres conversion $table : " . var_export($new_desc['field'], true),
72
-							'maj.' . _LOG_INFO_IMPORTANTE
73
-						);
74
-					}
75
-				}
76
-			}
77
-		}
78
-	}
55
+    foreach ($tables as $table) {
56
+        if (time() >= _TIME_OUT) {
57
+            return;
58
+        }
59
+        if ($desc = $trouver_table($table)) {
60
+            $fields_corrected = _mysql_remplacements_definitions_table($desc['field']);
61
+            $d = array_diff($desc['field'], $fields_corrected);
62
+            if ($d) {
63
+                spip_log("Table $table TIMESTAMP incorrect", 'maj');
64
+                foreach ($desc['field'] as $field => $type) {
65
+                    if ($desc['field'][$field] !== $fields_corrected[$field]) {
66
+                        spip_log("Adaptation TIMESTAMP table $table", 'maj.' . _LOG_INFO_IMPORTANTE);
67
+                        sql_alter("table $table change $field $field " . $fields_corrected[$field]);
68
+                        $trouver_table('');
69
+                        $new_desc = $trouver_table($table);
70
+                        spip_log(
71
+                            "Apres conversion $table : " . var_export($new_desc['field'], true),
72
+                            'maj.' . _LOG_INFO_IMPORTANTE
73
+                        );
74
+                    }
75
+                }
76
+            }
77
+        }
78
+    }
79 79
 
80
-	// forcer le vidage de cache
81
-	$trouver_table('');
80
+    // forcer le vidage de cache
81
+    $trouver_table('');
82 82
 }
Please login to merge, or discard this patch.