Completed
Push — master ( 579209...5b53e6 )
by cam
01:04
created
ecrire/plugins/afficher_liste.php 2 patches
Indentation   +75 added lines, -75 removed lines patch added patch discarded remove patch
@@ -11,7 +11,7 @@  discard block
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 include_spip('inc/charsets');
17 17
 
@@ -27,90 +27,90 @@  discard block
 block discarded – undo
27 27
  * @return string
28 28
  */
29 29
 function plugins_afficher_liste_dist(
30
-	$url_page,
31
-	$liste_plugins,
32
-	$liste_plugins_checked,
33
-	$liste_plugins_actifs,
34
-	$dir_plugins = _DIR_PLUGINS,
35
-	$afficher_un = 'afficher_plugin'
30
+    $url_page,
31
+    $liste_plugins,
32
+    $liste_plugins_checked,
33
+    $liste_plugins_actifs,
34
+    $dir_plugins = _DIR_PLUGINS,
35
+    $afficher_un = 'afficher_plugin'
36 36
 ) {
37
-	$get_infos = charger_fonction('get_infos', 'plugins');
38
-	$ligne_plug = charger_fonction($afficher_un, 'plugins');
37
+    $get_infos = charger_fonction('get_infos', 'plugins');
38
+    $ligne_plug = charger_fonction($afficher_un, 'plugins');
39 39
 
40
-	$all_infos = $get_infos($liste_plugins, false, $dir_plugins);
40
+    $all_infos = $get_infos($liste_plugins, false, $dir_plugins);
41 41
 
42
-	$all_infos = pipeline(
43
-		'filtrer_liste_plugins',
44
-		[
45
-			'args' => [
46
-				'liste_plugins' => $liste_plugins,
47
-				'liste_plugins_checked' => $liste_plugins_checked,
48
-				'liste_plugins_actifs' => $liste_plugins_actifs,
49
-				'dir_plugins' => $dir_plugins
50
-			],
51
-			'data' => $all_infos
52
-		]
53
-	);
42
+    $all_infos = pipeline(
43
+        'filtrer_liste_plugins',
44
+        [
45
+            'args' => [
46
+                'liste_plugins' => $liste_plugins,
47
+                'liste_plugins_checked' => $liste_plugins_checked,
48
+                'liste_plugins_actifs' => $liste_plugins_actifs,
49
+                'dir_plugins' => $dir_plugins
50
+            ],
51
+            'data' => $all_infos
52
+        ]
53
+    );
54 54
 
55
-	$liste_plugins = array_flip($liste_plugins);
56
-	foreach ($liste_plugins as $chemin => $v) {
57
-		// des plugins ont pu etre enleves de la liste par le pipeline. On en tient compte.
58
-		if (isset($all_infos[$chemin])) {
59
-			$liste_plugins[$chemin] = strtoupper(trim(typo(translitteration(unicode2charset(html2unicode($all_infos[$chemin]['nom']))))));
60
-		} else {
61
-			unset($liste_plugins[$chemin]);
62
-		}
63
-	}
64
-	asort($liste_plugins);
65
-	$exposed = urldecode(_request('plugin') ?? '');
55
+    $liste_plugins = array_flip($liste_plugins);
56
+    foreach ($liste_plugins as $chemin => $v) {
57
+        // des plugins ont pu etre enleves de la liste par le pipeline. On en tient compte.
58
+        if (isset($all_infos[$chemin])) {
59
+            $liste_plugins[$chemin] = strtoupper(trim(typo(translitteration(unicode2charset(html2unicode($all_infos[$chemin]['nom']))))));
60
+        } else {
61
+            unset($liste_plugins[$chemin]);
62
+        }
63
+    }
64
+    asort($liste_plugins);
65
+    $exposed = urldecode(_request('plugin') ?? '');
66 66
 
67
-	$block_par_lettre = false;//count($liste_plugins)>10;
68
-	$fast_liste_plugins_actifs = [];
69
-	$fast_liste_plugins_checked = [];
70
-	if (is_array($liste_plugins_actifs)) {
71
-		$fast_liste_plugins_actifs = array_flip($liste_plugins_actifs);
72
-	}
73
-	if (is_array($liste_plugins_checked)) {
74
-		$fast_liste_plugins_checked = array_flip($liste_plugins_checked);
75
-	}
67
+    $block_par_lettre = false;//count($liste_plugins)>10;
68
+    $fast_liste_plugins_actifs = [];
69
+    $fast_liste_plugins_checked = [];
70
+    if (is_array($liste_plugins_actifs)) {
71
+        $fast_liste_plugins_actifs = array_flip($liste_plugins_actifs);
72
+    }
73
+    if (is_array($liste_plugins_checked)) {
74
+        $fast_liste_plugins_checked = array_flip($liste_plugins_checked);
75
+    }
76 76
 
77
-	$res = '';
78
-	$block = '';
79
-	$initiale = '';
80
-	$block_actif = false;
81
-	foreach ($liste_plugins as $plug => $nom) {
82
-		if (($i = substr($nom, 0, 1)) !== $initiale) {
83
-			$res .= $block_par_lettre ? affiche_block_initiale($initiale, $block, $block_actif) : $block;
84
-			$initiale = $i;
85
-			$block = '';
86
-			$block_actif = false;
87
-		}
88
-		// le rep suivant
89
-		$actif = isset($fast_liste_plugins_actifs[$plug]);
90
-		$checked = isset($fast_liste_plugins_checked[$plug]);
91
-		$block_actif = $block_actif | $actif;
92
-		$expose = ($exposed and ($exposed == $plug or $exposed == $dir_plugins . $plug or $exposed == substr(
93
-			$dir_plugins,
94
-			strlen(_DIR_RACINE)
95
-		) . $plug));
96
-		$block .= $ligne_plug($url_page, $plug, $checked, $actif, $expose, 'item', $dir_plugins) . "\n";
97
-	}
98
-	$res .= $block_par_lettre ? affiche_block_initiale($initiale, $block, $block_actif) : $block;
99
-	$class = basename($dir_plugins);
77
+    $res = '';
78
+    $block = '';
79
+    $initiale = '';
80
+    $block_actif = false;
81
+    foreach ($liste_plugins as $plug => $nom) {
82
+        if (($i = substr($nom, 0, 1)) !== $initiale) {
83
+            $res .= $block_par_lettre ? affiche_block_initiale($initiale, $block, $block_actif) : $block;
84
+            $initiale = $i;
85
+            $block = '';
86
+            $block_actif = false;
87
+        }
88
+        // le rep suivant
89
+        $actif = isset($fast_liste_plugins_actifs[$plug]);
90
+        $checked = isset($fast_liste_plugins_checked[$plug]);
91
+        $block_actif = $block_actif | $actif;
92
+        $expose = ($exposed and ($exposed == $plug or $exposed == $dir_plugins . $plug or $exposed == substr(
93
+            $dir_plugins,
94
+            strlen(_DIR_RACINE)
95
+        ) . $plug));
96
+        $block .= $ligne_plug($url_page, $plug, $checked, $actif, $expose, 'item', $dir_plugins) . "\n";
97
+    }
98
+    $res .= $block_par_lettre ? affiche_block_initiale($initiale, $block, $block_actif) : $block;
99
+    $class = basename($dir_plugins);
100 100
 
101
-	return $res ? "<ul class='liste-items plugins $class'>$res</ul>" : '';
101
+    return $res ? "<ul class='liste-items plugins $class'>$res</ul>" : '';
102 102
 }
103 103
 
104 104
 
105 105
 function affiche_block_initiale($initiale, $block, $block_actif) {
106
-	if (strlen($block)) {
107
-		return "<li class='item'>"
108
-		. bouton_block_depliable($initiale, $block_actif ? true : false)
109
-		. debut_block_depliable($block_actif)
110
-		. "<ul>$block</ul>"
111
-		. fin_block()
112
-		. '</li>';
113
-	}
106
+    if (strlen($block)) {
107
+        return "<li class='item'>"
108
+        . bouton_block_depliable($initiale, $block_actif ? true : false)
109
+        . debut_block_depliable($block_actif)
110
+        . "<ul>$block</ul>"
111
+        . fin_block()
112
+        . '</li>';
113
+    }
114 114
 
115
-	return '';
115
+    return '';
116 116
 }
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -64,7 +64,7 @@  discard block
 block discarded – undo
64 64
 	asort($liste_plugins);
65 65
 	$exposed = urldecode(_request('plugin') ?? '');
66 66
 
67
-	$block_par_lettre = false;//count($liste_plugins)>10;
67
+	$block_par_lettre = false; //count($liste_plugins)>10;
68 68
 	$fast_liste_plugins_actifs = [];
69 69
 	$fast_liste_plugins_checked = [];
70 70
 	if (is_array($liste_plugins_actifs)) {
@@ -89,11 +89,11 @@  discard block
 block discarded – undo
89 89
 		$actif = isset($fast_liste_plugins_actifs[$plug]);
90 90
 		$checked = isset($fast_liste_plugins_checked[$plug]);
91 91
 		$block_actif = $block_actif | $actif;
92
-		$expose = ($exposed and ($exposed == $plug or $exposed == $dir_plugins . $plug or $exposed == substr(
92
+		$expose = ($exposed and ($exposed == $plug or $exposed == $dir_plugins.$plug or $exposed == substr(
93 93
 			$dir_plugins,
94 94
 			strlen(_DIR_RACINE)
95
-		) . $plug));
96
-		$block .= $ligne_plug($url_page, $plug, $checked, $actif, $expose, 'item', $dir_plugins) . "\n";
95
+		).$plug));
96
+		$block .= $ligne_plug($url_page, $plug, $checked, $actif, $expose, 'item', $dir_plugins)."\n";
97 97
 	}
98 98
 	$res .= $block_par_lettre ? affiche_block_initiale($initiale, $block, $block_actif) : $block;
99 99
 	$class = basename($dir_plugins);
Please login to merge, or discard this patch.
prive/formulaires/editer_auteur.php 3 patches
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -170,7 +170,7 @@  discard block
 block discarded – undo
170 170
 		unset($erreurs['new_login']);
171 171
 	}
172 172
 
173
-	$auth_methode = sql_getfetsel('source', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
173
+	$auth_methode = sql_getfetsel('source', 'spip_auteurs', 'id_auteur='.intval($id_auteur));
174 174
 	$auth_methode = ($auth_methode ?: 'spip');
175 175
 	include_spip('inc/auth');
176 176
 
@@ -186,7 +186,7 @@  discard block
 block discarded – undo
186 186
 			!autoriser('modifier', 'auteur', $id_auteur, null, ['email' => '?'])
187 187
 			and $GLOBALS['visiteur_session']['id_auteur'] == $id_auteur
188 188
 			and !strlen(trim($email))
189
-			and $email != ($email_ancien = sql_getfetsel('email', 'spip_auteurs', 'id_auteur=' . intval($id_auteur)))
189
+			and $email != ($email_ancien = sql_getfetsel('email', 'spip_auteurs', 'id_auteur='.intval($id_auteur)))
190 190
 		) {
191 191
 			$erreurs['email'] = (($id_auteur == $GLOBALS['visiteur_session']['id_auteur']) ? _T('form_email_non_valide') : _T('form_prop_indiquer_email'));
192 192
 		} else {
@@ -201,7 +201,7 @@  discard block
 block discarded – undo
201 201
 			#Nouvel auteur
202 202
 			if (intval($id_auteur) == 0) {
203 203
 				#Un auteur existe deja avec cette adresse ?
204
-				if (sql_countsel('spip_auteurs', 'email=' . sql_quote($email)) > 0) {
204
+				if (sql_countsel('spip_auteurs', 'email='.sql_quote($email)) > 0) {
205 205
 					$erreurs['email'] = _T('erreur_email_deja_existant');
206 206
 				}
207 207
 			} else {
@@ -209,11 +209,11 @@  discard block
 block discarded – undo
209 209
 				if (
210 210
 					(sql_countsel(
211 211
 						'spip_auteurs',
212
-						'email=' . sql_quote($email)
212
+						'email='.sql_quote($email)
213 213
 					) > 0) and ($id_auteur != ($id_auteur_ancien = sql_getfetsel(
214 214
 						'id_auteur',
215 215
 						'spip_auteurs',
216
-						'email=' . sql_quote($email)
216
+						'email='.sql_quote($email)
217 217
 					)))
218 218
 				) {
219 219
 					$erreurs['email'] = _T('erreur_email_deja_existant');
@@ -231,7 +231,7 @@  discard block
 block discarded – undo
231 231
 	// corriger un cas si frequent : www.example.org sans le http:// qui precede
232 232
 	if ($url = _request('url_site') and !tester_url_absolue($url)) {
233 233
 		if (strpos($url, ':') === false and strncasecmp($url, 'www.', 4) === 0) {
234
-			$url = 'http://' . $url;
234
+			$url = 'http://'.$url;
235 235
 			set_request('url_site', $url);
236 236
 		}
237 237
 	}
@@ -248,11 +248,11 @@  discard block
 block discarded – undo
248 248
 	}
249 249
 	elseif (
250 250
 		($login = _request('new_login')) and
251
-		$login !== sql_getfetsel('login', 'spip_auteurs', 'id_auteur=' . intval($id_auteur))
251
+		$login !== sql_getfetsel('login', 'spip_auteurs', 'id_auteur='.intval($id_auteur))
252 252
 	) {
253 253
 		// on verifie la meme chose que dans auteurs_edit_config()
254 254
 		if (
255
-			! auth_autoriser_modifier_login($auth_methode)
255
+			!auth_autoriser_modifier_login($auth_methode)
256 256
 			or !autoriser('modifier', 'auteur', intval($id_auteur), null, ['login' => true])
257 257
 			// legacy : ne pas risquer d'autoriser la modif login si fonction d'autorisation pas mise a jour et ne teste que l'option email
258 258
 			or !autoriser('modifier', 'auteur', intval($id_auteur), null, ['email' => true])
@@ -359,7 +359,7 @@  discard block
 block discarded – undo
359 359
 		if (
360 360
 			$GLOBALS['visiteur_session']['id_auteur'] == $id_auteur
361 361
 			and $email_nouveau !=
362
-				($email_ancien = sql_getfetsel('email', 'spip_auteurs', 'id_auteur=' . intval($id_auteur)))
362
+				($email_ancien = sql_getfetsel('email', 'spip_auteurs', 'id_auteur='.intval($id_auteur)))
363 363
 		) {
364 364
 			$envoyer_mail = charger_fonction('envoyer_mail', 'inc');
365 365
 			$texte = _T(
@@ -393,12 +393,12 @@  discard block
 block discarded – undo
393 393
 		if (isset($erreurs['message_ok'])) {
394 394
 			if (!isset($res['message_ok'])) { $res['message_ok'] = '';
395 395
 			}
396
-			$res['message_ok'] = trim($res['message_ok'] . ' ' . $erreurs['message_ok']);
396
+			$res['message_ok'] = trim($res['message_ok'].' '.$erreurs['message_ok']);
397 397
 		}
398 398
 		if (isset($erreurs['message_erreur']) and $erreurs['message_erreur']) {
399 399
 			if (!isset($res['message_erreur'])) { $res['message_erreur'] = '';
400 400
 			}
401
-			$res['message_erreur'] = trim($res['message_erreur'] . ' ' . $erreurs['message_erreur']);
401
+			$res['message_erreur'] = trim($res['message_erreur'].' '.$erreurs['message_erreur']);
402 402
 		}
403 403
 	}
404 404
 
@@ -425,7 +425,7 @@  discard block
 block discarded – undo
425 425
 
426 426
 
427 427
 function auteur_reset_password($id_auteur, $erreurs = []) {
428
-	$auteur = sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
428
+	$auteur = sql_fetsel('*', 'spip_auteurs', 'id_auteur='.intval($id_auteur));
429 429
 	$config = auteurs_edit_config($auteur);
430 430
 
431 431
 	if ($config['edit_pass']) {
@@ -460,7 +460,7 @@  discard block
 block discarded – undo
460 460
 		include_spip('action/editer_auteur');
461 461
 		auteur_modifier($id_auteur, $set);
462 462
 
463
-		$row = sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
463
+		$row = sql_fetsel('*', 'spip_auteurs', 'id_auteur='.intval($id_auteur));
464 464
 		include_spip('inc/filtres');
465 465
 		if (
466 466
 			$notifier
Please login to merge, or discard this patch.
Braces   +2 added lines, -4 removed lines patch added patch discarded remove patch
@@ -245,8 +245,7 @@  discard block
 block discarded – undo
245 245
 	if (_request('login')) {
246 246
 		// on n'est jamais cense poster le name 'login'
247 247
 		$erreurs['login'] = _T('info_non_modifiable');
248
-	}
249
-	elseif (
248
+	} elseif (
250 249
 		($login = _request('new_login')) and
251 250
 		$login !== sql_getfetsel('login', 'spip_auteurs', 'id_auteur=' . intval($id_auteur))
252 251
 	) {
@@ -483,8 +482,7 @@  discard block
 block discarded – undo
483 482
 			if (!isset($contexte['lang']) or !$contexte['lang']) {
484 483
 				if (isset($row['lang']) and $row['lang']) {
485 484
 					$contexte['lang'] = $row['lang'];
486
-				}
487
-				else {
485
+				} else {
488 486
 					$contexte['lang'] = $GLOBALS['meta']['langue_site'];
489 487
 				}
490 488
 			}
Please login to merge, or discard this patch.
Indentation   +369 added lines, -369 removed lines patch added patch discarded remove patch
@@ -7,7 +7,7 @@  discard block
 block discarded – undo
7 7
  **/
8 8
 
9 9
 if (!defined('_ECRIRE_INC_VERSION')) {
10
-	return;
10
+    return;
11 11
 }
12 12
 
13 13
 include_spip('inc/actions');
@@ -38,24 +38,24 @@  discard block
 block discarded – undo
38 38
  *     Environnement du formulaire
39 39
  **/
40 40
 function formulaires_editer_auteur_charger_dist(
41
-	$id_auteur = 'new',
42
-	$retour = '',
43
-	$associer_objet = '',
44
-	$config_fonc = 'auteurs_edit_config',
45
-	$row = [],
46
-	$hidden = ''
41
+    $id_auteur = 'new',
42
+    $retour = '',
43
+    $associer_objet = '',
44
+    $config_fonc = 'auteurs_edit_config',
45
+    $row = [],
46
+    $hidden = ''
47 47
 ) {
48
-	$valeurs = formulaires_editer_objet_charger('auteur', $id_auteur, 0, 0, $retour, $config_fonc, $row, $hidden);
49
-	$valeurs['new_login'] = $valeurs['login'];
48
+    $valeurs = formulaires_editer_objet_charger('auteur', $id_auteur, 0, 0, $retour, $config_fonc, $row, $hidden);
49
+    $valeurs['new_login'] = $valeurs['login'];
50 50
 	
51
-	// S'il n'y a pas la langue, on prend la langue du site
52
-	$valeurs['langue'] = $valeurs['langue'] ?: $GLOBALS['meta']['langue_site'];
51
+    // S'il n'y a pas la langue, on prend la langue du site
52
+    $valeurs['langue'] = $valeurs['langue'] ?: $GLOBALS['meta']['langue_site'];
53 53
 
54
-	if (!autoriser('modifier', 'auteur', intval($id_auteur))) {
55
-		$valeurs['editable'] = '';
56
-	}
54
+    if (!autoriser('modifier', 'auteur', intval($id_auteur))) {
55
+        $valeurs['editable'] = '';
56
+    }
57 57
 
58
-	return $valeurs;
58
+    return $valeurs;
59 59
 }
60 60
 
61 61
 /**
@@ -79,14 +79,14 @@  discard block
 block discarded – undo
79 79
  *     Hash du formulaire
80 80
  */
81 81
 function formulaires_editer_auteur_identifier_dist(
82
-	$id_auteur = 'new',
83
-	$retour = '',
84
-	$associer_objet = '',
85
-	$config_fonc = 'auteurs_edit_config',
86
-	$row = [],
87
-	$hidden = ''
82
+    $id_auteur = 'new',
83
+    $retour = '',
84
+    $associer_objet = '',
85
+    $config_fonc = 'auteurs_edit_config',
86
+    $row = [],
87
+    $hidden = ''
88 88
 ) {
89
-	return serialize([intval($id_auteur), $associer_objet]);
89
+    return serialize([intval($id_auteur), $associer_objet]);
90 90
 }
91 91
 
92 92
 
@@ -100,27 +100,27 @@  discard block
 block discarded – undo
100 100
  */
101 101
 function auteurs_edit_config(array $row): array {
102 102
 
103
-	$config = [];
104
-	$config['lignes'] = 8;
105
-	$config['langue'] = $GLOBALS['spip_lang'];
106
-
107
-	// pour instituer_auteur
108
-	$config['auteur'] = $row;
109
-
110
-	//$config['restreint'] = ($row['statut'] == 'publie');
111
-	$auth_methode = $row['source'];
112
-	include_spip('inc/auth');
113
-	$config['edit_login'] =
114
-		(auth_autoriser_modifier_login($auth_methode)
115
-			and autoriser('modifier', 'auteur', $row['id_auteur'], null, ['login' => true])
116
-			// legacy : ne pas risquer d'autoriser la modif login si fonction d'autorisation pas mise a jour et ne teste que l'option email
117
-			and autoriser('modifier', 'auteur', $row['id_auteur'], null, ['email' => true])
118
-		);
119
-	$config['edit_pass'] =
120
-		(auth_autoriser_modifier_pass($auth_methode)
121
-			and autoriser('modifier', 'auteur', $row['id_auteur']));
122
-
123
-	return $config;
103
+    $config = [];
104
+    $config['lignes'] = 8;
105
+    $config['langue'] = $GLOBALS['spip_lang'];
106
+
107
+    // pour instituer_auteur
108
+    $config['auteur'] = $row;
109
+
110
+    //$config['restreint'] = ($row['statut'] == 'publie');
111
+    $auth_methode = $row['source'];
112
+    include_spip('inc/auth');
113
+    $config['edit_login'] =
114
+        (auth_autoriser_modifier_login($auth_methode)
115
+            and autoriser('modifier', 'auteur', $row['id_auteur'], null, ['login' => true])
116
+            // legacy : ne pas risquer d'autoriser la modif login si fonction d'autorisation pas mise a jour et ne teste que l'option email
117
+            and autoriser('modifier', 'auteur', $row['id_auteur'], null, ['email' => true])
118
+        );
119
+    $config['edit_pass'] =
120
+        (auth_autoriser_modifier_pass($auth_methode)
121
+            and autoriser('modifier', 'auteur', $row['id_auteur']));
122
+
123
+    return $config;
124 124
 }
125 125
 
126 126
 /**
@@ -150,143 +150,143 @@  discard block
 block discarded – undo
150 150
  *     Erreurs des saisies
151 151
  **/
152 152
 function formulaires_editer_auteur_verifier_dist(
153
-	$id_auteur = 'new',
154
-	$retour = '',
155
-	$associer_objet = '',
156
-	$config_fonc = 'auteurs_edit_config',
157
-	$row = [],
158
-	$hidden = ''
153
+    $id_auteur = 'new',
154
+    $retour = '',
155
+    $associer_objet = '',
156
+    $config_fonc = 'auteurs_edit_config',
157
+    $row = [],
158
+    $hidden = ''
159 159
 ) {
160
-	// auto-renseigner le nom si il n'existe pas, sans couper
161
-	titre_automatique('nom', ['email', 'login'], 255);
162
-
163
-	$oblis = ['nom'];
164
-	// si on veut renvoyer des identifiants il faut un email et un login
165
-	if (_request('reset_password')) {
166
-		$oblis[] = 'email';
167
-		$oblis[] = 'new_login';
168
-	}
169
-	// mais il reste obligatoire si on a rien trouve
170
-	$erreurs = formulaires_editer_objet_verifier('auteur', $id_auteur, $oblis);
171
-	if (isset($erreurs['new_login'])) {
172
-		$erreurs['login'] = $erreurs['new_login'];
173
-		unset($erreurs['new_login']);
174
-	}
175
-
176
-	$auth_methode = sql_getfetsel('source', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
177
-	$auth_methode = ($auth_methode ?: 'spip');
178
-	include_spip('inc/auth');
179
-
180
-	if (!nom_acceptable(_request('nom'))) {
181
-		$erreurs['nom'] = _T('info_nom_pas_conforme');
182
-	}
183
-
184
-	if ($email = _request('email')) {
185
-		include_spip('inc/filtres');
186
-		include_spip('inc/autoriser');
187
-		// un redacteur qui modifie son email n'a pas le droit de le vider si il y en avait un
188
-		if (
189
-			!autoriser('modifier', 'auteur', $id_auteur, null, ['email' => '?'])
190
-			and $GLOBALS['visiteur_session']['id_auteur'] == $id_auteur
191
-			and !strlen(trim($email))
192
-			and $email != ($email_ancien = sql_getfetsel('email', 'spip_auteurs', 'id_auteur=' . intval($id_auteur)))
193
-		) {
194
-			$erreurs['email'] = (($id_auteur == $GLOBALS['visiteur_session']['id_auteur']) ? _T('form_email_non_valide') : _T('form_prop_indiquer_email'));
195
-		} else {
196
-			if (!email_valide($email)) {
197
-				$erreurs['email'] = (($id_auteur == $GLOBALS['visiteur_session']['id_auteur']) ? _T('form_email_non_valide') : _T('form_prop_indiquer_email'));
198
-			}
199
-		}
200
-		# Ne pas autoriser d'avoir deux auteurs avec le même email
201
-		# cette fonctionalité nécessite que la base soit clean à l'activation : pas de
202
-		# doublon sur la requête select email,count(*) from spip_auteurs group by email ;
203
-		if (defined('_INTERDIRE_AUTEUR_MEME_EMAIL')) {
204
-			#Nouvel auteur
205
-			if (intval($id_auteur) == 0) {
206
-				#Un auteur existe deja avec cette adresse ?
207
-				if (sql_countsel('spip_auteurs', 'email=' . sql_quote($email)) > 0) {
208
-					$erreurs['email'] = _T('erreur_email_deja_existant');
209
-				}
210
-			} else {
211
-				#Un auteur existe deja avec cette adresse ? et n'est pas le user courant.
212
-				if (
213
-					(sql_countsel(
214
-						'spip_auteurs',
215
-						'email=' . sql_quote($email)
216
-					) > 0) and ($id_auteur != ($id_auteur_ancien = sql_getfetsel(
217
-						'id_auteur',
218
-						'spip_auteurs',
219
-						'email=' . sql_quote($email)
220
-					)))
221
-				) {
222
-					$erreurs['email'] = _T('erreur_email_deja_existant');
223
-				}
224
-			}
225
-		}
226
-	}
227
-
228
-	// quand c'est un auteur existant on fait le reset password ici
229
-	if (!(is_countable($erreurs) ? count($erreurs) : 0) and _request('reset_password') and intval($id_auteur)) {
230
-		$erreurs = auteur_reset_password($id_auteur, $erreurs);
231
-		return $erreurs;
232
-	}
233
-
234
-	// corriger un cas si frequent : www.example.org sans le http:// qui precede
235
-	if ($url = _request('url_site') and !tester_url_absolue($url)) {
236
-		if (strpos($url, ':') === false and strncasecmp($url, 'www.', 4) === 0) {
237
-			$url = 'http://' . $url;
238
-			set_request('url_site', $url);
239
-		}
240
-	}
241
-	// traiter les liens implicites avant de tester l'url
242
-	include_spip('inc/lien');
243
-	if ($url = calculer_url(_request('url_site')) and !tester_url_absolue($url)) {
244
-		$erreurs['url_site'] = _T('info_url_site_pas_conforme');
245
-	}
246
-
247
-	$erreurs['message_erreur'] = '';
248
-	if (_request('login')) {
249
-		// on n'est jamais cense poster le name 'login'
250
-		$erreurs['login'] = _T('info_non_modifiable');
251
-	}
252
-	elseif (
253
-		($login = _request('new_login')) and
254
-		$login !== sql_getfetsel('login', 'spip_auteurs', 'id_auteur=' . intval($id_auteur))
255
-	) {
256
-		// on verifie la meme chose que dans auteurs_edit_config()
257
-		if (
258
-			! auth_autoriser_modifier_login($auth_methode)
259
-			or !autoriser('modifier', 'auteur', intval($id_auteur), null, ['login' => true])
260
-			// legacy : ne pas risquer d'autoriser la modif login si fonction d'autorisation pas mise a jour et ne teste que l'option email
261
-			or !autoriser('modifier', 'auteur', intval($id_auteur), null, ['email' => true])
262
-		) {
263
-			$erreurs['login'] = _T('info_non_modifiable');
264
-		}
265
-	}
266
-
267
-	if (empty($erreurs['login'])) {
268
-		if ($err = auth_verifier_login($auth_methode, _request('new_login'), $id_auteur)) {
269
-			$erreurs['login'] = $err;
270
-			$erreurs['message_erreur'] .= $err;
271
-		} else {
272
-			// pass trop court ou confirmation non identique
273
-			if ($p = _request('new_pass')) {
274
-				if ($p != _request('new_pass2')) {
275
-					$erreurs['new_pass'] = _T('info_passes_identiques');
276
-					$erreurs['message_erreur'] .= _T('info_passes_identiques');
277
-				} elseif ($err = auth_verifier_pass($auth_methode, _request('new_login'), $p, $id_auteur)) {
278
-					$erreurs['new_pass'] = $err;
279
-					$erreurs['message_erreur'] .= $err;
280
-				}
281
-			}
282
-		}
283
-	}
284
-
285
-	if (!$erreurs['message_erreur']) {
286
-		unset($erreurs['message_erreur']);
287
-	}
288
-
289
-	return $erreurs;
160
+    // auto-renseigner le nom si il n'existe pas, sans couper
161
+    titre_automatique('nom', ['email', 'login'], 255);
162
+
163
+    $oblis = ['nom'];
164
+    // si on veut renvoyer des identifiants il faut un email et un login
165
+    if (_request('reset_password')) {
166
+        $oblis[] = 'email';
167
+        $oblis[] = 'new_login';
168
+    }
169
+    // mais il reste obligatoire si on a rien trouve
170
+    $erreurs = formulaires_editer_objet_verifier('auteur', $id_auteur, $oblis);
171
+    if (isset($erreurs['new_login'])) {
172
+        $erreurs['login'] = $erreurs['new_login'];
173
+        unset($erreurs['new_login']);
174
+    }
175
+
176
+    $auth_methode = sql_getfetsel('source', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
177
+    $auth_methode = ($auth_methode ?: 'spip');
178
+    include_spip('inc/auth');
179
+
180
+    if (!nom_acceptable(_request('nom'))) {
181
+        $erreurs['nom'] = _T('info_nom_pas_conforme');
182
+    }
183
+
184
+    if ($email = _request('email')) {
185
+        include_spip('inc/filtres');
186
+        include_spip('inc/autoriser');
187
+        // un redacteur qui modifie son email n'a pas le droit de le vider si il y en avait un
188
+        if (
189
+            !autoriser('modifier', 'auteur', $id_auteur, null, ['email' => '?'])
190
+            and $GLOBALS['visiteur_session']['id_auteur'] == $id_auteur
191
+            and !strlen(trim($email))
192
+            and $email != ($email_ancien = sql_getfetsel('email', 'spip_auteurs', 'id_auteur=' . intval($id_auteur)))
193
+        ) {
194
+            $erreurs['email'] = (($id_auteur == $GLOBALS['visiteur_session']['id_auteur']) ? _T('form_email_non_valide') : _T('form_prop_indiquer_email'));
195
+        } else {
196
+            if (!email_valide($email)) {
197
+                $erreurs['email'] = (($id_auteur == $GLOBALS['visiteur_session']['id_auteur']) ? _T('form_email_non_valide') : _T('form_prop_indiquer_email'));
198
+            }
199
+        }
200
+        # Ne pas autoriser d'avoir deux auteurs avec le même email
201
+        # cette fonctionalité nécessite que la base soit clean à l'activation : pas de
202
+        # doublon sur la requête select email,count(*) from spip_auteurs group by email ;
203
+        if (defined('_INTERDIRE_AUTEUR_MEME_EMAIL')) {
204
+            #Nouvel auteur
205
+            if (intval($id_auteur) == 0) {
206
+                #Un auteur existe deja avec cette adresse ?
207
+                if (sql_countsel('spip_auteurs', 'email=' . sql_quote($email)) > 0) {
208
+                    $erreurs['email'] = _T('erreur_email_deja_existant');
209
+                }
210
+            } else {
211
+                #Un auteur existe deja avec cette adresse ? et n'est pas le user courant.
212
+                if (
213
+                    (sql_countsel(
214
+                        'spip_auteurs',
215
+                        'email=' . sql_quote($email)
216
+                    ) > 0) and ($id_auteur != ($id_auteur_ancien = sql_getfetsel(
217
+                        'id_auteur',
218
+                        'spip_auteurs',
219
+                        'email=' . sql_quote($email)
220
+                    )))
221
+                ) {
222
+                    $erreurs['email'] = _T('erreur_email_deja_existant');
223
+                }
224
+            }
225
+        }
226
+    }
227
+
228
+    // quand c'est un auteur existant on fait le reset password ici
229
+    if (!(is_countable($erreurs) ? count($erreurs) : 0) and _request('reset_password') and intval($id_auteur)) {
230
+        $erreurs = auteur_reset_password($id_auteur, $erreurs);
231
+        return $erreurs;
232
+    }
233
+
234
+    // corriger un cas si frequent : www.example.org sans le http:// qui precede
235
+    if ($url = _request('url_site') and !tester_url_absolue($url)) {
236
+        if (strpos($url, ':') === false and strncasecmp($url, 'www.', 4) === 0) {
237
+            $url = 'http://' . $url;
238
+            set_request('url_site', $url);
239
+        }
240
+    }
241
+    // traiter les liens implicites avant de tester l'url
242
+    include_spip('inc/lien');
243
+    if ($url = calculer_url(_request('url_site')) and !tester_url_absolue($url)) {
244
+        $erreurs['url_site'] = _T('info_url_site_pas_conforme');
245
+    }
246
+
247
+    $erreurs['message_erreur'] = '';
248
+    if (_request('login')) {
249
+        // on n'est jamais cense poster le name 'login'
250
+        $erreurs['login'] = _T('info_non_modifiable');
251
+    }
252
+    elseif (
253
+        ($login = _request('new_login')) and
254
+        $login !== sql_getfetsel('login', 'spip_auteurs', 'id_auteur=' . intval($id_auteur))
255
+    ) {
256
+        // on verifie la meme chose que dans auteurs_edit_config()
257
+        if (
258
+            ! auth_autoriser_modifier_login($auth_methode)
259
+            or !autoriser('modifier', 'auteur', intval($id_auteur), null, ['login' => true])
260
+            // legacy : ne pas risquer d'autoriser la modif login si fonction d'autorisation pas mise a jour et ne teste que l'option email
261
+            or !autoriser('modifier', 'auteur', intval($id_auteur), null, ['email' => true])
262
+        ) {
263
+            $erreurs['login'] = _T('info_non_modifiable');
264
+        }
265
+    }
266
+
267
+    if (empty($erreurs['login'])) {
268
+        if ($err = auth_verifier_login($auth_methode, _request('new_login'), $id_auteur)) {
269
+            $erreurs['login'] = $err;
270
+            $erreurs['message_erreur'] .= $err;
271
+        } else {
272
+            // pass trop court ou confirmation non identique
273
+            if ($p = _request('new_pass')) {
274
+                if ($p != _request('new_pass2')) {
275
+                    $erreurs['new_pass'] = _T('info_passes_identiques');
276
+                    $erreurs['message_erreur'] .= _T('info_passes_identiques');
277
+                } elseif ($err = auth_verifier_pass($auth_methode, _request('new_login'), $p, $id_auteur)) {
278
+                    $erreurs['new_pass'] = $err;
279
+                    $erreurs['message_erreur'] .= $err;
280
+                }
281
+            }
282
+        }
283
+    }
284
+
285
+    if (!$erreurs['message_erreur']) {
286
+        unset($erreurs['message_erreur']);
287
+    }
288
+
289
+    return $erreurs;
290 290
 }
291 291
 
292 292
 
@@ -323,154 +323,154 @@  discard block
 block discarded – undo
323 323
  *     Retour des traitements
324 324
  **/
325 325
 function formulaires_editer_auteur_traiter_dist(
326
-	$id_auteur = 'new',
327
-	$retour = '',
328
-	$associer_objet = '',
329
-	$config_fonc = 'auteurs_edit_config',
330
-	$row = [],
331
-	$hidden = ''
326
+    $id_auteur = 'new',
327
+    $retour = '',
328
+    $associer_objet = '',
329
+    $config_fonc = 'auteurs_edit_config',
330
+    $row = [],
331
+    $hidden = ''
332 332
 ) {
333
-	if (_request('saisie_webmestre') or _request('webmestre')) {
334
-		set_request('webmestre', _request('webmestre') ?: 'non');
335
-	}
336
-
337
-	// si il y a des modifs sensibles (statut, mot de passe), on refuse le traitement en ajax
338
-	// le formulaire ne peut être traité depuis une XMLHttpRequest
339
-	$prev = formulaires_editer_objet_charger('auteur', $id_auteur, 0, 0, $retour, $config_fonc, $row, $hidden);
340
-	if (
341
-		_request('new_pass') // nouveau mot de passe
342
-		or empty($prev['statut']) // creation auteur
343
-		or (_request('email') and $prev['email'] !== _request('email')) // modification email
344
-		or (_request('statut') === '0minirezo' and $prev['statut'] !== '0minirezo') // promotion 0minirezo
345
-		or (_request('statut') and intval(_request('statut')) < intval($prev['statut'])) // promotion de statut
346
-		or (_request('webmestre') and _request('webmestre') !== 'non' and $prev['webmestre'] !== 'oui') // promotion webmestre
347
-	) {
348
-		refuser_traiter_formulaire_ajax();
349
-		// si on arrive là encore en ajax c'est pas OK, on genere une erreur
350
-		if (_AJAX or !empty($_SERVER['HTTP_X_REQUESTED_WITH'])) {
351
-			return [
352
-				'message_erreur' => _T('erreur_technique_ajaxform')
353
-			];
354
-		}
355
-	}
356
-
357
-	$id_objet = null;
358
-	$retour = parametre_url($retour, 'email_confirm', '');
359
-
360
-	if ($restreintes = _request('restreintes')) {
361
-		foreach ($restreintes as $k => $v) {
362
-			if (strpos($v, 'rubrique|') === 0) {
363
-				$restreintes[$k] = substr($v, 9);
364
-			}
365
-		}
366
-		set_request('restreintes', $restreintes);
367
-	}
368
-
369
-	set_request(
370
-		'email',
371
-		email_valide(_request('email'))
372
-	); // eviter d'enregistrer les cas qui sont acceptés par email_valide dans le verifier :
373
-	// "[email protected]  " ou encore "Marie Toto <[email protected]>"
374
-
375
-	include_spip('inc/autoriser');
376
-	if (!autoriser('modifier', 'auteur', $id_auteur, null, ['email' => '?'])) {
377
-		$email_nouveau = _request('email');
378
-		set_request('email'); // vider la saisie car l'auteur n'a pas le droit de modifier cet email
379
-		// mais si c'est son propre profil on lui envoie un email à l'adresse qu'il a indique
380
-		// pour qu'il confirme qu'il possede bien cette adresse
381
-		// son clic sur l'url du message permettre de confirmer le changement
382
-		// et de revenir sur son profil
383
-		if (
384
-			$GLOBALS['visiteur_session']['id_auteur'] == $id_auteur
385
-			and $email_nouveau !=
386
-				($email_ancien = sql_getfetsel('email', 'spip_auteurs', 'id_auteur=' . intval($id_auteur)))
387
-		) {
388
-			$envoyer_mail = charger_fonction('envoyer_mail', 'inc');
389
-			$texte = _T(
390
-				'form_auteur_mail_confirmation',
391
-				[
392
-					'url' => generer_action_auteur(
393
-						'confirmer_email',
394
-						$email_nouveau,
395
-						parametre_url($retour, 'email_modif', 'ok')
396
-					)
397
-				]
398
-			);
399
-			$envoyer_mail($email_nouveau, _T('form_auteur_confirmation'), $texte);
400
-			set_request('email_confirm', $email_nouveau);
401
-			if ($email_ancien) {
402
-				$envoyer_mail(
403
-					$email_ancien,
404
-					_T('form_auteur_confirmation'),
405
-					_T('form_auteur_envoi_mail_confirmation', ['email' => $email_nouveau])
406
-				);
407
-			}
408
-			$retour = parametre_url($retour, 'email_confirm', $email_nouveau);
409
-		}
410
-	}
333
+    if (_request('saisie_webmestre') or _request('webmestre')) {
334
+        set_request('webmestre', _request('webmestre') ?: 'non');
335
+    }
336
+
337
+    // si il y a des modifs sensibles (statut, mot de passe), on refuse le traitement en ajax
338
+    // le formulaire ne peut être traité depuis une XMLHttpRequest
339
+    $prev = formulaires_editer_objet_charger('auteur', $id_auteur, 0, 0, $retour, $config_fonc, $row, $hidden);
340
+    if (
341
+        _request('new_pass') // nouveau mot de passe
342
+        or empty($prev['statut']) // creation auteur
343
+        or (_request('email') and $prev['email'] !== _request('email')) // modification email
344
+        or (_request('statut') === '0minirezo' and $prev['statut'] !== '0minirezo') // promotion 0minirezo
345
+        or (_request('statut') and intval(_request('statut')) < intval($prev['statut'])) // promotion de statut
346
+        or (_request('webmestre') and _request('webmestre') !== 'non' and $prev['webmestre'] !== 'oui') // promotion webmestre
347
+    ) {
348
+        refuser_traiter_formulaire_ajax();
349
+        // si on arrive là encore en ajax c'est pas OK, on genere une erreur
350
+        if (_AJAX or !empty($_SERVER['HTTP_X_REQUESTED_WITH'])) {
351
+            return [
352
+                'message_erreur' => _T('erreur_technique_ajaxform')
353
+            ];
354
+        }
355
+    }
356
+
357
+    $id_objet = null;
358
+    $retour = parametre_url($retour, 'email_confirm', '');
359
+
360
+    if ($restreintes = _request('restreintes')) {
361
+        foreach ($restreintes as $k => $v) {
362
+            if (strpos($v, 'rubrique|') === 0) {
363
+                $restreintes[$k] = substr($v, 9);
364
+            }
365
+        }
366
+        set_request('restreintes', $restreintes);
367
+    }
368
+
369
+    set_request(
370
+        'email',
371
+        email_valide(_request('email'))
372
+    ); // eviter d'enregistrer les cas qui sont acceptés par email_valide dans le verifier :
373
+    // "[email protected]  " ou encore "Marie Toto <[email protected]>"
374
+
375
+    include_spip('inc/autoriser');
376
+    if (!autoriser('modifier', 'auteur', $id_auteur, null, ['email' => '?'])) {
377
+        $email_nouveau = _request('email');
378
+        set_request('email'); // vider la saisie car l'auteur n'a pas le droit de modifier cet email
379
+        // mais si c'est son propre profil on lui envoie un email à l'adresse qu'il a indique
380
+        // pour qu'il confirme qu'il possede bien cette adresse
381
+        // son clic sur l'url du message permettre de confirmer le changement
382
+        // et de revenir sur son profil
383
+        if (
384
+            $GLOBALS['visiteur_session']['id_auteur'] == $id_auteur
385
+            and $email_nouveau !=
386
+                ($email_ancien = sql_getfetsel('email', 'spip_auteurs', 'id_auteur=' . intval($id_auteur)))
387
+        ) {
388
+            $envoyer_mail = charger_fonction('envoyer_mail', 'inc');
389
+            $texte = _T(
390
+                'form_auteur_mail_confirmation',
391
+                [
392
+                    'url' => generer_action_auteur(
393
+                        'confirmer_email',
394
+                        $email_nouveau,
395
+                        parametre_url($retour, 'email_modif', 'ok')
396
+                    )
397
+                ]
398
+            );
399
+            $envoyer_mail($email_nouveau, _T('form_auteur_confirmation'), $texte);
400
+            set_request('email_confirm', $email_nouveau);
401
+            if ($email_ancien) {
402
+                $envoyer_mail(
403
+                    $email_ancien,
404
+                    _T('form_auteur_confirmation'),
405
+                    _T('form_auteur_envoi_mail_confirmation', ['email' => $email_nouveau])
406
+                );
407
+            }
408
+            $retour = parametre_url($retour, 'email_confirm', $email_nouveau);
409
+        }
410
+    }
411 411
 	
412
-	// Trafic de langue pour enregistrer la bonne
413
-	if ($langue = _request('langue')) {
414
-		set_request('lang', $langue);
415
-	}
412
+    // Trafic de langue pour enregistrer la bonne
413
+    if ($langue = _request('langue')) {
414
+        set_request('lang', $langue);
415
+    }
416 416
 	
417
-	$res = formulaires_editer_objet_traiter('auteur', $id_auteur, 0, 0, $retour, $config_fonc, $row, $hidden);
418
-
419
-	if (_request('reset_password') and !intval($id_auteur) and intval($res['id_auteur'])) {
420
-		$erreurs = [];
421
-		$erreurs = auteur_reset_password($res['id_auteur'], $erreurs);
422
-		if (isset($erreurs['message_ok'])) {
423
-			if (!isset($res['message_ok'])) { $res['message_ok'] = '';
424
-			}
425
-			$res['message_ok'] = trim($res['message_ok'] . ' ' . $erreurs['message_ok']);
426
-		}
427
-		if (isset($erreurs['message_erreur']) and $erreurs['message_erreur']) {
428
-			if (!isset($res['message_erreur'])) { $res['message_erreur'] = '';
429
-			}
430
-			$res['message_erreur'] = trim($res['message_erreur'] . ' ' . $erreurs['message_erreur']);
431
-		}
432
-	}
433
-
434
-	// Un lien auteur a prendre en compte ?
435
-	if ($associer_objet and $id_auteur = $res['id_auteur']) {
436
-		$objet = '';
437
-		if (intval($associer_objet)) {
438
-			$objet = 'article';
439
-			$id_objet = intval($associer_objet);
440
-		} elseif (preg_match(',^\w+\|[0-9]+$,', $associer_objet)) {
441
-			[$objet, $id_objet] = explode('|', $associer_objet);
442
-		}
443
-		if ($objet and $id_objet and autoriser('modifier', $objet, $id_objet)) {
444
-			include_spip('action/editer_auteur');
445
-			auteur_associer($id_auteur, [$objet => $id_objet]);
446
-			if (isset($res['redirect'])) {
447
-				$res['redirect'] = parametre_url($res['redirect'], 'id_lien_ajoute', $id_auteur, '&');
448
-			}
449
-		}
450
-	}
451
-
452
-	return $res;
417
+    $res = formulaires_editer_objet_traiter('auteur', $id_auteur, 0, 0, $retour, $config_fonc, $row, $hidden);
418
+
419
+    if (_request('reset_password') and !intval($id_auteur) and intval($res['id_auteur'])) {
420
+        $erreurs = [];
421
+        $erreurs = auteur_reset_password($res['id_auteur'], $erreurs);
422
+        if (isset($erreurs['message_ok'])) {
423
+            if (!isset($res['message_ok'])) { $res['message_ok'] = '';
424
+            }
425
+            $res['message_ok'] = trim($res['message_ok'] . ' ' . $erreurs['message_ok']);
426
+        }
427
+        if (isset($erreurs['message_erreur']) and $erreurs['message_erreur']) {
428
+            if (!isset($res['message_erreur'])) { $res['message_erreur'] = '';
429
+            }
430
+            $res['message_erreur'] = trim($res['message_erreur'] . ' ' . $erreurs['message_erreur']);
431
+        }
432
+    }
433
+
434
+    // Un lien auteur a prendre en compte ?
435
+    if ($associer_objet and $id_auteur = $res['id_auteur']) {
436
+        $objet = '';
437
+        if (intval($associer_objet)) {
438
+            $objet = 'article';
439
+            $id_objet = intval($associer_objet);
440
+        } elseif (preg_match(',^\w+\|[0-9]+$,', $associer_objet)) {
441
+            [$objet, $id_objet] = explode('|', $associer_objet);
442
+        }
443
+        if ($objet and $id_objet and autoriser('modifier', $objet, $id_objet)) {
444
+            include_spip('action/editer_auteur');
445
+            auteur_associer($id_auteur, [$objet => $id_objet]);
446
+            if (isset($res['redirect'])) {
447
+                $res['redirect'] = parametre_url($res['redirect'], 'id_lien_ajoute', $id_auteur, '&');
448
+            }
449
+        }
450
+    }
451
+
452
+    return $res;
453 453
 }
454 454
 
455 455
 
456 456
 function auteur_reset_password($id_auteur, $erreurs = []) {
457
-	$auteur = sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
458
-	$config = auteurs_edit_config($auteur);
459
-
460
-	if ($config['edit_pass']) {
461
-		if ($email = auteur_regenerer_identifiants($id_auteur)) {
462
-			$erreurs['message_ok'] = _T('message_nouveaux_identifiants_ok', ['email' => $email]);
463
-			$erreurs['message_erreur'] = '';
464
-		} elseif ($email === false) {
465
-			$erreurs['message_erreur'] = _T('message_nouveaux_identifiants_echec_envoi');
466
-		} else {
467
-			$erreurs['message_erreur'] = _T('message_nouveaux_identifiants_echec');
468
-		}
469
-	} else {
470
-		$erreurs['message_erreur'] = _T('message_nouveaux_identifiants_echec');
471
-	}
472
-
473
-	return $erreurs;
457
+    $auteur = sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
458
+    $config = auteurs_edit_config($auteur);
459
+
460
+    if ($config['edit_pass']) {
461
+        if ($email = auteur_regenerer_identifiants($id_auteur)) {
462
+            $erreurs['message_ok'] = _T('message_nouveaux_identifiants_ok', ['email' => $email]);
463
+            $erreurs['message_erreur'] = '';
464
+        } elseif ($email === false) {
465
+            $erreurs['message_erreur'] = _T('message_nouveaux_identifiants_echec_envoi');
466
+        } else {
467
+            $erreurs['message_erreur'] = _T('message_nouveaux_identifiants_echec');
468
+        }
469
+    } else {
470
+        $erreurs['message_erreur'] = _T('message_nouveaux_identifiants_echec');
471
+    }
472
+
473
+    return $erreurs;
474 474
 }
475 475
 
476 476
 /**
@@ -481,53 +481,53 @@  discard block
 block discarded – undo
481 481
  * @return string
482 482
  */
483 483
 function auteur_regenerer_identifiants($id_auteur, $notifier = true, $contexte = []) {
484
-	if ($id_auteur) {
485
-		$set = [];
486
-		include_spip('inc/access');
487
-		$set['pass'] = creer_pass_aleatoire(max(_PASS_LONGUEUR_MINI, 16));
488
-
489
-		include_spip('action/editer_auteur');
490
-		auteur_modifier($id_auteur, $set);
491
-
492
-		$row = sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
493
-		include_spip('inc/filtres');
494
-		if (
495
-			$notifier
496
-			and $row['email']
497
-			and email_valide($row['email'])
498
-			and trouver_fond($fond = 'modeles/mail_nouveaux_identifiants')
499
-		) {
500
-			// envoyer l'email avec login/pass
501
-			$c = [
502
-				'id_auteur' => $id_auteur,
503
-				'nom' => $row['nom'],
504
-				'mode' => $row['statut'],
505
-				'email' => $row['email'],
506
-				'pass' => $set['pass'],
507
-			];
508
-			// on merge avec les champs fournit en appel, qui sont passes au modele de notification donc
509
-			$contexte = array_merge($contexte, $c);
510
-			// si pas de langue explicitement demandee, prendre celle de l'auteur si on la connait, ou a defaut celle du site
511
-			// plutot que celle de l'admin qui vient de cliquer sur le bouton
512
-			if (!isset($contexte['lang']) or !$contexte['lang']) {
513
-				if (isset($row['lang']) and $row['lang']) {
514
-					$contexte['lang'] = $row['lang'];
515
-				}
516
-				else {
517
-					$contexte['lang'] = $GLOBALS['meta']['langue_site'];
518
-				}
519
-			}
520
-			lang_select($contexte['lang']);
521
-			$message = recuperer_fond($fond, $contexte);
522
-			include_spip('inc/notifications');
523
-			notifications_envoyer_mails($row['email'], $message);
524
-			lang_select();
525
-
526
-			return $row['email'];
527
-		}
528
-
529
-		return false;
530
-	}
531
-
532
-	return '';
484
+    if ($id_auteur) {
485
+        $set = [];
486
+        include_spip('inc/access');
487
+        $set['pass'] = creer_pass_aleatoire(max(_PASS_LONGUEUR_MINI, 16));
488
+
489
+        include_spip('action/editer_auteur');
490
+        auteur_modifier($id_auteur, $set);
491
+
492
+        $row = sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
493
+        include_spip('inc/filtres');
494
+        if (
495
+            $notifier
496
+            and $row['email']
497
+            and email_valide($row['email'])
498
+            and trouver_fond($fond = 'modeles/mail_nouveaux_identifiants')
499
+        ) {
500
+            // envoyer l'email avec login/pass
501
+            $c = [
502
+                'id_auteur' => $id_auteur,
503
+                'nom' => $row['nom'],
504
+                'mode' => $row['statut'],
505
+                'email' => $row['email'],
506
+                'pass' => $set['pass'],
507
+            ];
508
+            // on merge avec les champs fournit en appel, qui sont passes au modele de notification donc
509
+            $contexte = array_merge($contexte, $c);
510
+            // si pas de langue explicitement demandee, prendre celle de l'auteur si on la connait, ou a defaut celle du site
511
+            // plutot que celle de l'admin qui vient de cliquer sur le bouton
512
+            if (!isset($contexte['lang']) or !$contexte['lang']) {
513
+                if (isset($row['lang']) and $row['lang']) {
514
+                    $contexte['lang'] = $row['lang'];
515
+                }
516
+                else {
517
+                    $contexte['lang'] = $GLOBALS['meta']['langue_site'];
518
+                }
519
+            }
520
+            lang_select($contexte['lang']);
521
+            $message = recuperer_fond($fond, $contexte);
522
+            include_spip('inc/notifications');
523
+            notifications_envoyer_mails($row['email'], $message);
524
+            lang_select();
525
+
526
+            return $row['email'];
527
+        }
528
+
529
+        return false;
530
+    }
531
+
532
+    return '';
533 533
 }
Please login to merge, or discard this patch.
prive/transmettre/rss/a_suivre_fonctions.php 2 patches
Indentation   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -1,22 +1,22 @@
 block discarded – undo
1 1
 <?php
2 2
 
3 3
 if (!defined('_ECRIRE_INC_VERSION')) {
4
-	return;
4
+    return;
5 5
 }
6 6
 
7 7
 function trier_rss($texte) {
8
-	if (preg_match_all(',<item.*</item>\s*?,Uims', $texte, $matches, PREG_SET_ORDER)) {
9
-		$placeholder = '<!--REINSERT-->';
10
-		$items = [];
11
-		foreach ($matches as $match) {
12
-			if (preg_match(',<dc:date>(.*)</dc:date>,Uims', $match[0], $r)) {
13
-				$items[strtotime($r[1])] = trim($match[0]);
14
-				$texte = str_replace($match[0], unique($placeholder), $texte);
15
-			}
16
-		}
17
-		krsort($items);
18
-		$texte = str_replace($placeholder, implode("\n\t", $items) . "\n", $texte);
19
-	}
8
+    if (preg_match_all(',<item.*</item>\s*?,Uims', $texte, $matches, PREG_SET_ORDER)) {
9
+        $placeholder = '<!--REINSERT-->';
10
+        $items = [];
11
+        foreach ($matches as $match) {
12
+            if (preg_match(',<dc:date>(.*)</dc:date>,Uims', $match[0], $r)) {
13
+                $items[strtotime($r[1])] = trim($match[0]);
14
+                $texte = str_replace($match[0], unique($placeholder), $texte);
15
+            }
16
+        }
17
+        krsort($items);
18
+        $texte = str_replace($placeholder, implode("\n\t", $items) . "\n", $texte);
19
+    }
20 20
 
21
-	return $texte;
21
+    return $texte;
22 22
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -15,7 +15,7 @@
 block discarded – undo
15 15
 			}
16 16
 		}
17 17
 		krsort($items);
18
-		$texte = str_replace($placeholder, implode("\n\t", $items) . "\n", $texte);
18
+		$texte = str_replace($placeholder, implode("\n\t", $items)."\n", $texte);
19 19
 	}
20 20
 
21 21
 	return $texte;
Please login to merge, or discard this patch.
ecrire/action/instituer_langue_objet.php 2 patches
Indentation   +37 added lines, -37 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  **/
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 /**
@@ -31,43 +31,43 @@  discard block
 block discarded – undo
31 31
  * @return string
32 32
  */
33 33
 function action_instituer_langue_objet_dist($objet, $id, $id_rubrique, $changer_lang, $serveur = '') {
34
-	if ($changer_lang) {
35
-		$table_objet_sql = table_objet_sql($objet);
36
-		$id_table_objet = id_table_objet($objet);
37
-		$trouver_table = charger_fonction('trouver_table', 'base');
38
-		$desc = $trouver_table($table_objet_sql, $serveur);
34
+    if ($changer_lang) {
35
+        $table_objet_sql = table_objet_sql($objet);
36
+        $id_table_objet = id_table_objet($objet);
37
+        $trouver_table = charger_fonction('trouver_table', 'base');
38
+        $desc = $trouver_table($table_objet_sql, $serveur);
39 39
 
40
-		$set = [];
41
-		if (isset($desc['field']['langue_choisie'])) {
42
-			$set['langue_choisie'] = 'oui';
43
-		}
40
+        $set = [];
41
+        if (isset($desc['field']['langue_choisie'])) {
42
+            $set['langue_choisie'] = 'oui';
43
+        }
44 44
 
45
-		if ($changer_lang != 'herit') {
46
-			$set['lang'] = $changer_lang;
47
-			sql_updateq($table_objet_sql, $set, "$id_table_objet=" . intval($id), [], $serveur);
48
-			include_spip('inc/rubriques'); // pour calculer_langues_rubriques et calculer_langues_utilisees
49
-			if ($table_objet_sql == 'spip_rubriques') {
50
-				calculer_langues_rubriques();
51
-			}
52
-			$langues = calculer_langues_utilisees($serveur);
53
-			ecrire_meta('langues_utilisees', $langues);
54
-		} else {
55
-			$langue_parent = sql_getfetsel('lang', 'spip_rubriques', 'id_rubrique=' . intval($id_rubrique));
56
-			if (!$langue_parent) {
57
-				$langue_parent = $GLOBALS['meta']['langue_site'];
58
-			}
59
-			$changer_lang = $langue_parent;
60
-			$set['lang'] = $changer_lang;
61
-			if (isset($set['langue_choisie'])) {
62
-				$set['langue_choisie'] = 'non';
63
-			}
64
-			sql_updateq($table_objet_sql, $set, "$id_table_objet=" . intval($id), [], $serveur);
65
-			if ($table_objet_sql == 'spip_rubriques') {
66
-				include_spip('inc/rubriques');
67
-				calculer_langues_rubriques();
68
-			}
69
-		}
70
-	}
45
+        if ($changer_lang != 'herit') {
46
+            $set['lang'] = $changer_lang;
47
+            sql_updateq($table_objet_sql, $set, "$id_table_objet=" . intval($id), [], $serveur);
48
+            include_spip('inc/rubriques'); // pour calculer_langues_rubriques et calculer_langues_utilisees
49
+            if ($table_objet_sql == 'spip_rubriques') {
50
+                calculer_langues_rubriques();
51
+            }
52
+            $langues = calculer_langues_utilisees($serveur);
53
+            ecrire_meta('langues_utilisees', $langues);
54
+        } else {
55
+            $langue_parent = sql_getfetsel('lang', 'spip_rubriques', 'id_rubrique=' . intval($id_rubrique));
56
+            if (!$langue_parent) {
57
+                $langue_parent = $GLOBALS['meta']['langue_site'];
58
+            }
59
+            $changer_lang = $langue_parent;
60
+            $set['lang'] = $changer_lang;
61
+            if (isset($set['langue_choisie'])) {
62
+                $set['langue_choisie'] = 'non';
63
+            }
64
+            sql_updateq($table_objet_sql, $set, "$id_table_objet=" . intval($id), [], $serveur);
65
+            if ($table_objet_sql == 'spip_rubriques') {
66
+                include_spip('inc/rubriques');
67
+                calculer_langues_rubriques();
68
+            }
69
+        }
70
+    }
71 71
 
72
-	return $changer_lang;
72
+    return $changer_lang;
73 73
 }
Please login to merge, or discard this patch.
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -44,7 +44,7 @@  discard block
 block discarded – undo
44 44
 
45 45
 		if ($changer_lang != 'herit') {
46 46
 			$set['lang'] = $changer_lang;
47
-			sql_updateq($table_objet_sql, $set, "$id_table_objet=" . intval($id), [], $serveur);
47
+			sql_updateq($table_objet_sql, $set, "$id_table_objet=".intval($id), [], $serveur);
48 48
 			include_spip('inc/rubriques'); // pour calculer_langues_rubriques et calculer_langues_utilisees
49 49
 			if ($table_objet_sql == 'spip_rubriques') {
50 50
 				calculer_langues_rubriques();
@@ -52,7 +52,7 @@  discard block
 block discarded – undo
52 52
 			$langues = calculer_langues_utilisees($serveur);
53 53
 			ecrire_meta('langues_utilisees', $langues);
54 54
 		} else {
55
-			$langue_parent = sql_getfetsel('lang', 'spip_rubriques', 'id_rubrique=' . intval($id_rubrique));
55
+			$langue_parent = sql_getfetsel('lang', 'spip_rubriques', 'id_rubrique='.intval($id_rubrique));
56 56
 			if (!$langue_parent) {
57 57
 				$langue_parent = $GLOBALS['meta']['langue_site'];
58 58
 			}
@@ -61,7 +61,7 @@  discard block
 block discarded – undo
61 61
 			if (isset($set['langue_choisie'])) {
62 62
 				$set['langue_choisie'] = 'non';
63 63
 			}
64
-			sql_updateq($table_objet_sql, $set, "$id_table_objet=" . intval($id), [], $serveur);
64
+			sql_updateq($table_objet_sql, $set, "$id_table_objet=".intval($id), [], $serveur);
65 65
 			if ($table_objet_sql == 'spip_rubriques') {
66 66
 				include_spip('inc/rubriques');
67 67
 				calculer_langues_rubriques();
Please login to merge, or discard this patch.
ecrire/base/upgrade.php 2 patches
Spacing   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -56,7 +56,7 @@  discard block
 block discarded – undo
56 56
 	if ($GLOBALS['spip_version_base'] != $GLOBALS['meta']['version_installee']) {
57 57
 		if (!is_numeric(_request('reinstall'))) {
58 58
 			include_spip('base/create');
59
-			spip_log('recree les tables eventuellement disparues', 'maj.' . _LOG_INFO_IMPORTANTE);
59
+			spip_log('recree les tables eventuellement disparues', 'maj.'._LOG_INFO_IMPORTANTE);
60 60
 			creer_base();
61 61
 		}
62 62
 
@@ -69,7 +69,7 @@  discard block
 block discarded – undo
69 69
 			exit;
70 70
 		}
71 71
 	}
72
-	spip_log('Fin de mise a jour SQL. Debut m-a-j acces et config', 'maj.' . _LOG_INFO_IMPORTANTE);
72
+	spip_log('Fin de mise a jour SQL. Debut m-a-j acces et config', 'maj.'._LOG_INFO_IMPORTANTE);
73 73
 
74 74
 	// supprimer quelques fichiers temporaires qui peuvent se retrouver invalides
75 75
 	@spip_unlink(_CACHE_RUBRIQUES);
@@ -78,7 +78,7 @@  discard block
 block discarded – undo
78 78
 	@spip_unlink(_CACHE_PLUGINS_OPT);
79 79
 	@spip_unlink(_CACHE_PLUGINS_FCT);
80 80
 	@spip_unlink(_CACHE_CHEMIN);
81
-	@spip_unlink(_DIR_TMP . 'plugin_xml_cache.gz');
81
+	@spip_unlink(_DIR_TMP.'plugin_xml_cache.gz');
82 82
 
83 83
 	include_spip('inc/auth');
84 84
 	auth_synchroniser_distant();
@@ -117,8 +117,8 @@  discard block
 block discarded – undo
117 117
 	$version_installee = $GLOBALS['meta']['version_installee'] ?? null;
118 118
 
119 119
 	spip_log(
120
-		"Version anterieure: $version_installee. Courante: " . $GLOBALS['spip_version_base'],
121
-		'maj.' . _LOG_INFO_IMPORTANTE
120
+		"Version anterieure: $version_installee. Courante: ".$GLOBALS['spip_version_base'],
121
+		'maj.'._LOG_INFO_IMPORTANTE
122 122
 	);
123 123
 	if (!$version_installee or ($GLOBALS['spip_version_base'] < $version_installee)) {
124 124
 		sql_replace(
@@ -151,9 +151,9 @@  discard block
 block discarded – undo
151 151
 	$res = maj_while($version_installee, $cible, $GLOBALS['maj'], 'version_installee', 'meta', $redirect, $debut_page);
152 152
 	if ($res) {
153 153
 		if (!is_array($res)) {
154
-			spip_log("Pb d'acces SQL a la mise a jour", 'maj.' . _LOG_ERREUR);
154
+			spip_log("Pb d'acces SQL a la mise a jour", 'maj.'._LOG_ERREUR);
155 155
 		} else {
156
-			echo _T('avis_operation_echec') . ' ' . join(' ', $res);
156
+			echo _T('avis_operation_echec').' '.join(' ', $res);
157 157
 			echo install_fin_html();
158 158
 		}
159 159
 	}
@@ -241,9 +241,9 @@  discard block
 block discarded – undo
241 241
 		$res = maj_while($current_version, $version_cible, $maj, $nom_meta_base_version, $table_meta, $redirect);
242 242
 		if ($res) {
243 243
 			if (!is_array($res)) {
244
-				spip_log("Pb d'acces SQL a la mise a jour", 'maj.' . _LOG_ERREUR);
244
+				spip_log("Pb d'acces SQL a la mise a jour", 'maj.'._LOG_ERREUR);
245 245
 			} else {
246
-				echo '<p>' . _T('avis_operation_echec') . ' ' . join(' ', $res) . '</p>';
246
+				echo '<p>'._T('avis_operation_echec').' '.join(' ', $res).'</p>';
247 247
 			}
248 248
 		}
249 249
 	}
@@ -299,7 +299,7 @@  discard block
 block discarded – undo
299 299
 	echo(install_debut_html($titre));
300 300
 	// script de rechargement auto sur timeout
301 301
 	$redirect = generer_url_ecrire('upgrade', "reinstall=$installee&meta=$meta&table=$table", true);
302
-	echo http_script("window.setTimeout('location.href=\"" . $redirect . "\";'," . ($timeout * 1000) . ')');
302
+	echo http_script("window.setTimeout('location.href=\"".$redirect."\";',".($timeout * 1000).')');
303 303
 	echo "<div style='text-align: left'>\n";
304 304
 	if (ob_get_level()) {
305 305
 		ob_flush();
@@ -388,7 +388,7 @@  discard block
 block discarded – undo
388 388
 				return [$v, $etape];
389 389
 			}
390 390
 			$n = time() - $time;
391
-			spip_log("$table $meta: $v en $n secondes", 'maj.' . _LOG_INFO_IMPORTANTE);
391
+			spip_log("$table $meta: $v en $n secondes", 'maj.'._LOG_INFO_IMPORTANTE);
392 392
 			if ($meta) {
393 393
 				ecrire_meta($meta, $installee = $v, 'oui', $table);
394 394
 			}
@@ -404,7 +404,7 @@  discard block
 block discarded – undo
404 404
 	if ($meta) {
405 405
 		ecrire_meta($meta, $cible, 'oui', $table);
406 406
 	}
407
-	spip_log("MAJ terminee. $meta: $installee", 'maj.' . _LOG_INFO_IMPORTANTE);
407
+	spip_log("MAJ terminee. $meta: $installee", 'maj.'._LOG_INFO_IMPORTANTE);
408 408
 
409 409
 	return [];
410 410
 }
@@ -429,7 +429,7 @@  discard block
 block discarded – undo
429 429
  * @return int
430 430
  */
431 431
 function serie_alter($serie, $q = [], $meta = '', $table = 'meta', $redirect = '') {
432
-	$meta2 = $meta . '_maj_' . $serie;
432
+	$meta2 = $meta.'_maj_'.$serie;
433 433
 	$etape = 0;
434 434
 	if (isset($GLOBALS[$table][$meta2])) {
435 435
 		$etape = intval($GLOBALS[$table][$meta2]);
@@ -442,7 +442,7 @@  discard block
 block discarded – undo
442 442
 				and function_exists($f = array_shift($r))
443 443
 			) {
444 444
 				// note: $r (arguments de la fonction $f) peut avoir des données tabulaires
445
-				spip_log("$msg: $f " . @join(',', $r), 'maj.' . _LOG_INFO_IMPORTANTE);
445
+				spip_log("$msg: $f ".@join(',', $r), 'maj.'._LOG_INFO_IMPORTANTE);
446 446
 				// pour les fonctions atomiques sql_xx
447 447
 				// on enregistre le meta avant de lancer la fonction,
448 448
 				// de maniere a eviter de boucler sur timeout
@@ -460,12 +460,12 @@  discard block
 block discarded – undo
460 460
 					relance_maj($meta, $table, $redirect);
461 461
 				}
462 462
 				ecrire_meta($meta2, $i + 1, 'non', $table);
463
-				spip_log("$meta2: ok", 'maj.' . _LOG_INFO_IMPORTANTE);
463
+				spip_log("$meta2: ok", 'maj.'._LOG_INFO_IMPORTANTE);
464 464
 			} else {
465 465
 				if (!is_array($r)) {
466
-					spip_log("maj $i format incorrect", 'maj.' . _LOG_ERREUR);
466
+					spip_log("maj $i format incorrect", 'maj.'._LOG_ERREUR);
467 467
 				} else {
468
-					spip_log("maj $i fonction $f non definie", 'maj.' . _LOG_ERREUR);
468
+					spip_log("maj $i fonction $f non definie", 'maj.'._LOG_ERREUR);
469 469
 				}
470 470
 				// en cas d'erreur serieuse, on s'arrete
471 471
 				// mais on permet de passer par dessus en rechargeant la page.
Please login to merge, or discard this patch.
Indentation   +284 added lines, -284 removed lines patch added patch discarded remove patch
@@ -17,17 +17,17 @@  discard block
 block discarded – undo
17 17
  */
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 if (!defined('_UPGRADE_TIME_OUT')) {
24
-	/**
25
-	 * Durée en secondes pour relancer les scripts de mises à jour, x secondes
26
-	 * avant que la durée d'exécution du script provoque un timeout
27
-	 *
28
-	 * @var int
29
-	 **/
30
-	define('_UPGRADE_TIME_OUT', 20);
24
+    /**
25
+     * Durée en secondes pour relancer les scripts de mises à jour, x secondes
26
+     * avant que la durée d'exécution du script provoque un timeout
27
+     *
28
+     * @var int
29
+     **/
30
+    define('_UPGRADE_TIME_OUT', 20);
31 31
 }
32 32
 
33 33
 /**
@@ -50,40 +50,40 @@  discard block
 block discarded – undo
50 50
  * @return void
51 51
  */
52 52
 function base_upgrade_dist($titre = '', $reprise = '') {
53
-	if (!$titre) {
54
-		return;
55
-	} // anti-testeur automatique
56
-	if ($GLOBALS['spip_version_base'] != $GLOBALS['meta']['version_installee']) {
57
-		if (!is_numeric(_request('reinstall'))) {
58
-			include_spip('base/create');
59
-			spip_log('recree les tables eventuellement disparues', 'maj.' . _LOG_INFO_IMPORTANTE);
60
-			creer_base();
61
-		}
62
-
63
-		// quand on rentre par ici, c'est toujours une mise a jour de SPIP
64
-		// lancement de l'upgrade SPIP
65
-		$res = maj_base();
66
-
67
-		if ($res) {
68
-			// on arrete tout ici !
69
-			exit;
70
-		}
71
-	}
72
-	spip_log('Fin de mise a jour SQL. Debut m-a-j acces et config', 'maj.' . _LOG_INFO_IMPORTANTE);
73
-
74
-	// supprimer quelques fichiers temporaires qui peuvent se retrouver invalides
75
-	@spip_unlink(_CACHE_RUBRIQUES);
76
-	@spip_unlink(_CACHE_PIPELINES);
77
-	@spip_unlink(_CACHE_PLUGINS_PATH);
78
-	@spip_unlink(_CACHE_PLUGINS_OPT);
79
-	@spip_unlink(_CACHE_PLUGINS_FCT);
80
-	@spip_unlink(_CACHE_CHEMIN);
81
-	@spip_unlink(_DIR_TMP . 'plugin_xml_cache.gz');
82
-
83
-	include_spip('inc/auth');
84
-	auth_synchroniser_distant();
85
-	$config = charger_fonction('config', 'inc');
86
-	$config();
53
+    if (!$titre) {
54
+        return;
55
+    } // anti-testeur automatique
56
+    if ($GLOBALS['spip_version_base'] != $GLOBALS['meta']['version_installee']) {
57
+        if (!is_numeric(_request('reinstall'))) {
58
+            include_spip('base/create');
59
+            spip_log('recree les tables eventuellement disparues', 'maj.' . _LOG_INFO_IMPORTANTE);
60
+            creer_base();
61
+        }
62
+
63
+        // quand on rentre par ici, c'est toujours une mise a jour de SPIP
64
+        // lancement de l'upgrade SPIP
65
+        $res = maj_base();
66
+
67
+        if ($res) {
68
+            // on arrete tout ici !
69
+            exit;
70
+        }
71
+    }
72
+    spip_log('Fin de mise a jour SQL. Debut m-a-j acces et config', 'maj.' . _LOG_INFO_IMPORTANTE);
73
+
74
+    // supprimer quelques fichiers temporaires qui peuvent se retrouver invalides
75
+    @spip_unlink(_CACHE_RUBRIQUES);
76
+    @spip_unlink(_CACHE_PIPELINES);
77
+    @spip_unlink(_CACHE_PLUGINS_PATH);
78
+    @spip_unlink(_CACHE_PLUGINS_OPT);
79
+    @spip_unlink(_CACHE_PLUGINS_FCT);
80
+    @spip_unlink(_CACHE_CHEMIN);
81
+    @spip_unlink(_DIR_TMP . 'plugin_xml_cache.gz');
82
+
83
+    include_spip('inc/auth');
84
+    auth_synchroniser_distant();
85
+    $config = charger_fonction('config', 'inc');
86
+    $config();
87 87
 }
88 88
 
89 89
 /**
@@ -114,51 +114,51 @@  discard block
 block discarded – undo
114 114
  */
115 115
 function maj_base($version_cible = 0, $redirect = '', $debut_page = true) {
116 116
 
117
-	$version_installee = $GLOBALS['meta']['version_installee'] ?? null;
118
-
119
-	spip_log(
120
-		"Version anterieure: $version_installee. Courante: " . $GLOBALS['spip_version_base'],
121
-		'maj.' . _LOG_INFO_IMPORTANTE
122
-	);
123
-	if (!$version_installee or ($GLOBALS['spip_version_base'] < $version_installee)) {
124
-		sql_replace(
125
-			'spip_meta',
126
-			[
127
-				'nom' => 'version_installee',
128
-				'valeur' => $GLOBALS['spip_version_base'],
129
-				'impt' => 'non'
130
-			]
131
-		);
132
-		return false;
133
-	}
134
-	if (!upgrade_test()) {
135
-		return true;
136
-	}
137
-
138
-	$cible = ($version_cible ?: $GLOBALS['spip_version_base']);
139
-
140
-	if ($version_installee < 2021_01_01_00) {
141
-		include_spip('maj/legacy/v21');
142
-		include_spip('maj/legacy/v30');
143
-		include_spip('maj/legacy/v31');
144
-		include_spip('maj/legacy/v32');
145
-		include_spip('maj/legacy/v40');
146
-	}
147
-
148
-	include_spip('maj/2021');
149
-
150
-	ksort($GLOBALS['maj']);
151
-	$res = maj_while($version_installee, $cible, $GLOBALS['maj'], 'version_installee', 'meta', $redirect, $debut_page);
152
-	if ($res) {
153
-		if (!is_array($res)) {
154
-			spip_log("Pb d'acces SQL a la mise a jour", 'maj.' . _LOG_ERREUR);
155
-		} else {
156
-			echo _T('avis_operation_echec') . ' ' . join(' ', $res);
157
-			echo install_fin_html();
158
-		}
159
-	}
160
-
161
-	return $res;
117
+    $version_installee = $GLOBALS['meta']['version_installee'] ?? null;
118
+
119
+    spip_log(
120
+        "Version anterieure: $version_installee. Courante: " . $GLOBALS['spip_version_base'],
121
+        'maj.' . _LOG_INFO_IMPORTANTE
122
+    );
123
+    if (!$version_installee or ($GLOBALS['spip_version_base'] < $version_installee)) {
124
+        sql_replace(
125
+            'spip_meta',
126
+            [
127
+                'nom' => 'version_installee',
128
+                'valeur' => $GLOBALS['spip_version_base'],
129
+                'impt' => 'non'
130
+            ]
131
+        );
132
+        return false;
133
+    }
134
+    if (!upgrade_test()) {
135
+        return true;
136
+    }
137
+
138
+    $cible = ($version_cible ?: $GLOBALS['spip_version_base']);
139
+
140
+    if ($version_installee < 2021_01_01_00) {
141
+        include_spip('maj/legacy/v21');
142
+        include_spip('maj/legacy/v30');
143
+        include_spip('maj/legacy/v31');
144
+        include_spip('maj/legacy/v32');
145
+        include_spip('maj/legacy/v40');
146
+    }
147
+
148
+    include_spip('maj/2021');
149
+
150
+    ksort($GLOBALS['maj']);
151
+    $res = maj_while($version_installee, $cible, $GLOBALS['maj'], 'version_installee', 'meta', $redirect, $debut_page);
152
+    if ($res) {
153
+        if (!is_array($res)) {
154
+            spip_log("Pb d'acces SQL a la mise a jour", 'maj.' . _LOG_ERREUR);
155
+        } else {
156
+            echo _T('avis_operation_echec') . ' ' . join(' ', $res);
157
+            echo install_fin_html();
158
+        }
159
+    }
160
+
161
+    return $res;
162 162
 }
163 163
 
164 164
 /**
@@ -200,53 +200,53 @@  discard block
 block discarded – undo
200 200
  */
201 201
 function maj_plugin($nom_meta_base_version, $version_cible, $maj, $table_meta = 'meta') {
202 202
 
203
-	if ($table_meta !== 'meta') {
204
-		installer_table_meta($table_meta);
205
-	}
206
-
207
-	$current_version = null;
208
-
209
-	if (
210
-		(!isset($GLOBALS[$table_meta][$nom_meta_base_version]))
211
-		|| (!spip_version_compare($current_version = $GLOBALS[$table_meta][$nom_meta_base_version], $version_cible, '='))
212
-	) {
213
-		// $maj['create'] contient les directives propres a la premiere creation de base
214
-		// c'est une operation derogatoire qui fait aboutir directement dans la version_cible
215
-		if (isset($maj['create'])) {
216
-			if (!isset($GLOBALS[$table_meta][$nom_meta_base_version])) {
217
-				// installation : on ne fait que l'operation create
218
-				$maj = ['init' => $maj['create']];
219
-				// et on lui ajoute un appel a inc/config
220
-				// pour creer les metas par defaut
221
-				$config = charger_fonction('config', 'inc');
222
-				$maj[$version_cible] = [[$config]];
223
-			}
224
-			// dans tous les cas enlever cet index du tableau
225
-			unset($maj['create']);
226
-		}
227
-		// si init, deja dans le bon ordre
228
-		if (!isset($maj['init'])) {
229
-			include_spip('inc/plugin'); // pour spip_version_compare
230
-			uksort($maj, 'spip_version_compare');
231
-		}
232
-
233
-		// la redirection se fait par defaut sur la page d'administration des plugins
234
-		// sauf lorsque nous sommes sur l'installation de SPIP
235
-		// ou define _REDIRECT_MAJ_PLUGIN
236
-		$redirect = (defined('_REDIRECT_MAJ_PLUGIN') ? _REDIRECT_MAJ_PLUGIN : generer_url_ecrire('admin_plugin'));
237
-		if (defined('_ECRIRE_INSTALL')) {
238
-			$redirect = parametre_url(generer_url_ecrire('install'), 'etape', _request('etape'));
239
-		}
240
-
241
-		$res = maj_while($current_version, $version_cible, $maj, $nom_meta_base_version, $table_meta, $redirect);
242
-		if ($res) {
243
-			if (!is_array($res)) {
244
-				spip_log("Pb d'acces SQL a la mise a jour", 'maj.' . _LOG_ERREUR);
245
-			} else {
246
-				echo '<p>' . _T('avis_operation_echec') . ' ' . join(' ', $res) . '</p>';
247
-			}
248
-		}
249
-	}
203
+    if ($table_meta !== 'meta') {
204
+        installer_table_meta($table_meta);
205
+    }
206
+
207
+    $current_version = null;
208
+
209
+    if (
210
+        (!isset($GLOBALS[$table_meta][$nom_meta_base_version]))
211
+        || (!spip_version_compare($current_version = $GLOBALS[$table_meta][$nom_meta_base_version], $version_cible, '='))
212
+    ) {
213
+        // $maj['create'] contient les directives propres a la premiere creation de base
214
+        // c'est une operation derogatoire qui fait aboutir directement dans la version_cible
215
+        if (isset($maj['create'])) {
216
+            if (!isset($GLOBALS[$table_meta][$nom_meta_base_version])) {
217
+                // installation : on ne fait que l'operation create
218
+                $maj = ['init' => $maj['create']];
219
+                // et on lui ajoute un appel a inc/config
220
+                // pour creer les metas par defaut
221
+                $config = charger_fonction('config', 'inc');
222
+                $maj[$version_cible] = [[$config]];
223
+            }
224
+            // dans tous les cas enlever cet index du tableau
225
+            unset($maj['create']);
226
+        }
227
+        // si init, deja dans le bon ordre
228
+        if (!isset($maj['init'])) {
229
+            include_spip('inc/plugin'); // pour spip_version_compare
230
+            uksort($maj, 'spip_version_compare');
231
+        }
232
+
233
+        // la redirection se fait par defaut sur la page d'administration des plugins
234
+        // sauf lorsque nous sommes sur l'installation de SPIP
235
+        // ou define _REDIRECT_MAJ_PLUGIN
236
+        $redirect = (defined('_REDIRECT_MAJ_PLUGIN') ? _REDIRECT_MAJ_PLUGIN : generer_url_ecrire('admin_plugin'));
237
+        if (defined('_ECRIRE_INSTALL')) {
238
+            $redirect = parametre_url(generer_url_ecrire('install'), 'etape', _request('etape'));
239
+        }
240
+
241
+        $res = maj_while($current_version, $version_cible, $maj, $nom_meta_base_version, $table_meta, $redirect);
242
+        if ($res) {
243
+            if (!is_array($res)) {
244
+                spip_log("Pb d'acces SQL a la mise a jour", 'maj.' . _LOG_ERREUR);
245
+            } else {
246
+                echo '<p>' . _T('avis_operation_echec') . ' ' . join(' ', $res) . '</p>';
247
+            }
248
+        }
249
+    }
250 250
 }
251 251
 
252 252
 /**
@@ -263,17 +263,17 @@  discard block
 block discarded – undo
263 263
  * @return void
264 264
  */
265 265
 function relance_maj($meta, $table, $redirect = '') {
266
-	include_spip('inc/headers');
267
-	if (!$redirect) {
268
-		// recuperer la valeur installee en cours
269
-		// on la tronque numeriquement, elle ne sert pas reellement
270
-		// sauf pour verifier que ce n'est pas oui ou non
271
-		// sinon is_numeric va echouer sur un numero de version 1.2.3
272
-		$installee = intval($GLOBALS[$table][$meta]);
273
-		$redirect = generer_url_ecrire('upgrade', "reinstall=$installee&meta=$meta&table=$table", true);
274
-	}
275
-	echo redirige_formulaire($redirect);
276
-	exit();
266
+    include_spip('inc/headers');
267
+    if (!$redirect) {
268
+        // recuperer la valeur installee en cours
269
+        // on la tronque numeriquement, elle ne sert pas reellement
270
+        // sauf pour verifier que ce n'est pas oui ou non
271
+        // sinon is_numeric va echouer sur un numero de version 1.2.3
272
+        $installee = intval($GLOBALS[$table][$meta]);
273
+        $redirect = generer_url_ecrire('upgrade', "reinstall=$installee&meta=$meta&table=$table", true);
274
+    }
275
+    echo redirige_formulaire($redirect);
276
+    exit();
277 277
 }
278 278
 
279 279
 /**
@@ -286,28 +286,28 @@  discard block
 block discarded – undo
286 286
  * @return void
287 287
  */
288 288
 function maj_debut_page($installee, $meta, $table) {
289
-	static $done = false;
290
-	if ($done) {
291
-		return;
292
-	}
293
-	include_spip('inc/minipres');
294
-	if (function_exists('ini_set')) {
295
-		@ini_set('zlib.output_compression', '0'); // pour permettre l'affichage au fur et a mesure
296
-	}
297
-	$timeout = _UPGRADE_TIME_OUT * 2;
298
-	$titre = _T('titre_page_upgrade');
299
-	$balise_img = charger_filtre('balise_img');
300
-	$titre .= $balise_img(chemin_image('loader.svg'), '', 'loader');
301
-	echo(install_debut_html($titre));
302
-	// script de rechargement auto sur timeout
303
-	$redirect = generer_url_ecrire('upgrade', "reinstall=$installee&meta=$meta&table=$table", true);
304
-	echo http_script("window.setTimeout('location.href=\"" . $redirect . "\";'," . ($timeout * 1000) . ')');
305
-	echo "<div style='text-align: left'>\n";
306
-	if (ob_get_level()) {
307
-		ob_flush();
308
-	}
309
-	flush();
310
-	$done = true;
289
+    static $done = false;
290
+    if ($done) {
291
+        return;
292
+    }
293
+    include_spip('inc/minipres');
294
+    if (function_exists('ini_set')) {
295
+        @ini_set('zlib.output_compression', '0'); // pour permettre l'affichage au fur et a mesure
296
+    }
297
+    $timeout = _UPGRADE_TIME_OUT * 2;
298
+    $titre = _T('titre_page_upgrade');
299
+    $balise_img = charger_filtre('balise_img');
300
+    $titre .= $balise_img(chemin_image('loader.svg'), '', 'loader');
301
+    echo(install_debut_html($titre));
302
+    // script de rechargement auto sur timeout
303
+    $redirect = generer_url_ecrire('upgrade', "reinstall=$installee&meta=$meta&table=$table", true);
304
+    echo http_script("window.setTimeout('location.href=\"" . $redirect . "\";'," . ($timeout * 1000) . ')');
305
+    echo "<div style='text-align: left'>\n";
306
+    if (ob_get_level()) {
307
+        ob_flush();
308
+    }
309
+    flush();
310
+    $done = true;
311 311
 }
312 312
 
313 313
 
@@ -351,64 +351,64 @@  discard block
 block discarded – undo
351 351
  *    - tableau vide sinon.
352 352
  */
353 353
 function maj_while($installee, $cible, $maj, $meta = '', $table = 'meta', $redirect = '', $debut_page = false) {
354
-	# inclusions pour que les procedures d'upgrade disposent des fonctions de base
355
-	include_spip('base/create');
356
-	include_spip('base/abstract_sql');
357
-	$trouver_table = charger_fonction('trouver_table', 'base');
358
-	include_spip('inc/plugin'); // pour spip_version_compare
359
-	$n = 0;
360
-	$time = time();
361
-
362
-	if (!defined('_TIME_OUT')) {
363
-		/**
364
-		 * Définir le timeout qui peut-être utilisé dans les fonctions
365
-		 * de mises à jour qui durent trop longtemps
366
-		 *
367
-		 * À utiliser tel que : `if (time() >= _TIME_OUT)`
368
-		 *
369
-		 * @var int
370
-		 */
371
-		define('_TIME_OUT', $time + _UPGRADE_TIME_OUT);
372
-	}
373
-
374
-	foreach ($maj as $v => $operations) {
375
-		// si une maj pour cette version
376
-		if (
377
-			$v == 'init' or
378
-			(spip_version_compare($v, $installee, '>')
379
-				and spip_version_compare($v, $cible, '<='))
380
-		) {
381
-			if ($debut_page) {
382
-				maj_debut_page($v, $meta, $table);
383
-			}
384
-			echo "MAJ $v";
385
-			$etape = serie_alter($v, $operations, $meta, $table, $redirect);
386
-			$trouver_table(''); // vider le cache des descriptions de table
387
-			# echec sur une etape en cours ?
388
-			# on sort
389
-			if ($etape) {
390
-				return [$v, $etape];
391
-			}
392
-			$n = time() - $time;
393
-			spip_log("$table $meta: $v en $n secondes", 'maj.' . _LOG_INFO_IMPORTANTE);
394
-			if ($meta) {
395
-				ecrire_meta($meta, $installee = $v, 'oui', $table);
396
-			}
397
-			echo (_IS_CLI ? "\n" : '<br />');
398
-		}
399
-		if (time() >= _TIME_OUT) {
400
-			relance_maj($meta, $table, $redirect);
401
-		}
402
-	}
403
-	$trouver_table(''); // vider le cache des descriptions de table
404
-	// indispensable pour les chgt de versions qui n'ecrivent pas en base
405
-	// tant pis pour la redondance eventuelle avec ci-dessus
406
-	if ($meta) {
407
-		ecrire_meta($meta, $cible, 'oui', $table);
408
-	}
409
-	spip_log("MAJ terminee. $meta: $installee", 'maj.' . _LOG_INFO_IMPORTANTE);
410
-
411
-	return [];
354
+    # inclusions pour que les procedures d'upgrade disposent des fonctions de base
355
+    include_spip('base/create');
356
+    include_spip('base/abstract_sql');
357
+    $trouver_table = charger_fonction('trouver_table', 'base');
358
+    include_spip('inc/plugin'); // pour spip_version_compare
359
+    $n = 0;
360
+    $time = time();
361
+
362
+    if (!defined('_TIME_OUT')) {
363
+        /**
364
+         * Définir le timeout qui peut-être utilisé dans les fonctions
365
+         * de mises à jour qui durent trop longtemps
366
+         *
367
+         * À utiliser tel que : `if (time() >= _TIME_OUT)`
368
+         *
369
+         * @var int
370
+         */
371
+        define('_TIME_OUT', $time + _UPGRADE_TIME_OUT);
372
+    }
373
+
374
+    foreach ($maj as $v => $operations) {
375
+        // si une maj pour cette version
376
+        if (
377
+            $v == 'init' or
378
+            (spip_version_compare($v, $installee, '>')
379
+                and spip_version_compare($v, $cible, '<='))
380
+        ) {
381
+            if ($debut_page) {
382
+                maj_debut_page($v, $meta, $table);
383
+            }
384
+            echo "MAJ $v";
385
+            $etape = serie_alter($v, $operations, $meta, $table, $redirect);
386
+            $trouver_table(''); // vider le cache des descriptions de table
387
+            # echec sur une etape en cours ?
388
+            # on sort
389
+            if ($etape) {
390
+                return [$v, $etape];
391
+            }
392
+            $n = time() - $time;
393
+            spip_log("$table $meta: $v en $n secondes", 'maj.' . _LOG_INFO_IMPORTANTE);
394
+            if ($meta) {
395
+                ecrire_meta($meta, $installee = $v, 'oui', $table);
396
+            }
397
+            echo (_IS_CLI ? "\n" : '<br />');
398
+        }
399
+        if (time() >= _TIME_OUT) {
400
+            relance_maj($meta, $table, $redirect);
401
+        }
402
+    }
403
+    $trouver_table(''); // vider le cache des descriptions de table
404
+    // indispensable pour les chgt de versions qui n'ecrivent pas en base
405
+    // tant pis pour la redondance eventuelle avec ci-dessus
406
+    if ($meta) {
407
+        ecrire_meta($meta, $cible, 'oui', $table);
408
+    }
409
+    spip_log("MAJ terminee. $meta: $installee", 'maj.' . _LOG_INFO_IMPORTANTE);
410
+
411
+    return [];
412 412
 }
413 413
 
414 414
 /**
@@ -431,53 +431,53 @@  discard block
 block discarded – undo
431 431
  * @return int
432 432
  */
433 433
 function serie_alter($serie, $q = [], $meta = '', $table = 'meta', $redirect = '') {
434
-	$meta2 = $meta . '_maj_' . $serie;
435
-	$etape = 0;
436
-	if (isset($GLOBALS[$table][$meta2])) {
437
-		$etape = intval($GLOBALS[$table][$meta2]);
438
-	}
439
-	foreach ($q as $i => $r) {
440
-		if ($i >= $etape) {
441
-			$msg = "maj $table $meta2 etape $i";
442
-			if (
443
-				is_array($r)
444
-				and function_exists($f = array_shift($r))
445
-			) {
446
-				// note: $r (arguments de la fonction $f) peut avoir des données tabulaires
447
-				spip_log("$msg: $f " . @join(',', $r), 'maj.' . _LOG_INFO_IMPORTANTE);
448
-				// pour les fonctions atomiques sql_xx
449
-				// on enregistre le meta avant de lancer la fonction,
450
-				// de maniere a eviter de boucler sur timeout
451
-				// mais pour les fonctions complexes,
452
-				// il faut les rejouer jusqu'a achevement.
453
-				// C'est a elle d'assurer qu'elles progressent a chaque rappel
454
-				if (strncmp($f, 'sql_', 4) == 0) {
455
-					ecrire_meta($meta2, $i + 1, 'non', $table);
456
-				}
457
-				echo (_IS_CLI ? '.' : " <span title='$i'>.</span>");
458
-				$f(...$r);
459
-				// si temps imparti depasse, on relance sans ecrire en meta
460
-				// car on est peut etre sorti sur timeout si c'est une fonction longue
461
-				if (time() >= _TIME_OUT) {
462
-					relance_maj($meta, $table, $redirect);
463
-				}
464
-				ecrire_meta($meta2, $i + 1, 'non', $table);
465
-				spip_log("$meta2: ok", 'maj.' . _LOG_INFO_IMPORTANTE);
466
-			} else {
467
-				if (!is_array($r)) {
468
-					spip_log("maj $i format incorrect", 'maj.' . _LOG_ERREUR);
469
-				} else {
470
-					spip_log("maj $i fonction $f non definie", 'maj.' . _LOG_ERREUR);
471
-				}
472
-				// en cas d'erreur serieuse, on s'arrete
473
-				// mais on permet de passer par dessus en rechargeant la page.
474
-				return $i + 1;
475
-			}
476
-		}
477
-	}
478
-	effacer_meta($meta2, $table);
479
-
480
-	return 0;
434
+    $meta2 = $meta . '_maj_' . $serie;
435
+    $etape = 0;
436
+    if (isset($GLOBALS[$table][$meta2])) {
437
+        $etape = intval($GLOBALS[$table][$meta2]);
438
+    }
439
+    foreach ($q as $i => $r) {
440
+        if ($i >= $etape) {
441
+            $msg = "maj $table $meta2 etape $i";
442
+            if (
443
+                is_array($r)
444
+                and function_exists($f = array_shift($r))
445
+            ) {
446
+                // note: $r (arguments de la fonction $f) peut avoir des données tabulaires
447
+                spip_log("$msg: $f " . @join(',', $r), 'maj.' . _LOG_INFO_IMPORTANTE);
448
+                // pour les fonctions atomiques sql_xx
449
+                // on enregistre le meta avant de lancer la fonction,
450
+                // de maniere a eviter de boucler sur timeout
451
+                // mais pour les fonctions complexes,
452
+                // il faut les rejouer jusqu'a achevement.
453
+                // C'est a elle d'assurer qu'elles progressent a chaque rappel
454
+                if (strncmp($f, 'sql_', 4) == 0) {
455
+                    ecrire_meta($meta2, $i + 1, 'non', $table);
456
+                }
457
+                echo (_IS_CLI ? '.' : " <span title='$i'>.</span>");
458
+                $f(...$r);
459
+                // si temps imparti depasse, on relance sans ecrire en meta
460
+                // car on est peut etre sorti sur timeout si c'est une fonction longue
461
+                if (time() >= _TIME_OUT) {
462
+                    relance_maj($meta, $table, $redirect);
463
+                }
464
+                ecrire_meta($meta2, $i + 1, 'non', $table);
465
+                spip_log("$meta2: ok", 'maj.' . _LOG_INFO_IMPORTANTE);
466
+            } else {
467
+                if (!is_array($r)) {
468
+                    spip_log("maj $i format incorrect", 'maj.' . _LOG_ERREUR);
469
+                } else {
470
+                    spip_log("maj $i fonction $f non definie", 'maj.' . _LOG_ERREUR);
471
+                }
472
+                // en cas d'erreur serieuse, on s'arrete
473
+                // mais on permet de passer par dessus en rechargeant la page.
474
+                return $i + 1;
475
+            }
476
+        }
477
+    }
478
+    effacer_meta($meta2, $table);
479
+
480
+    return 0;
481 481
 }
482 482
 
483 483
 /**
@@ -486,16 +486,16 @@  discard block
 block discarded – undo
486 486
  * @return bool True si possible.
487 487
  **/
488 488
 function upgrade_test() {
489
-	sql_drop_table('spip_test', true);
490
-	sql_create('spip_test', ['a' => 'int']);
491
-	sql_alter('TABLE spip_test ADD b INT');
492
-	sql_insertq('spip_test', ['b' => 1], ['field' => ['b' => 'int']]);
493
-	$result = sql_select('b', 'spip_test');
494
-	// ne pas garder le resultat de la requete sinon sqlite3
495
-	// ne peut pas supprimer la table spip_test lors du sql_alter qui suit
496
-	// car cette table serait alors 'verouillee'
497
-	$result = $result ? true : false;
498
-	sql_alter('TABLE spip_test DROP b');
499
-
500
-	return $result;
489
+    sql_drop_table('spip_test', true);
490
+    sql_create('spip_test', ['a' => 'int']);
491
+    sql_alter('TABLE spip_test ADD b INT');
492
+    sql_insertq('spip_test', ['b' => 1], ['field' => ['b' => 'int']]);
493
+    $result = sql_select('b', 'spip_test');
494
+    // ne pas garder le resultat de la requete sinon sqlite3
495
+    // ne peut pas supprimer la table spip_test lors du sql_alter qui suit
496
+    // car cette table serait alors 'verouillee'
497
+    $result = $result ? true : false;
498
+    sql_alter('TABLE spip_test DROP b');
499
+
500
+    return $result;
501 501
 }
Please login to merge, or discard this patch.
ecrire/balise/menu_lang_ecrire.php 2 patches
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -99,9 +99,9 @@  discard block
 block discarded – undo
99 99
 	include_spip('inc/lang');
100 100
 
101 101
 	if ($GLOBALS['spip_lang'] <> $default) {
102
-		$opt = lang_select($default);  # et remplace
102
+		$opt = lang_select($default); # et remplace
103 103
 		if ($GLOBALS['spip_lang'] <> $default) {
104
-			$default = '';  # annule tout choix par defaut
104
+			$default = ''; # annule tout choix par defaut
105 105
 			if ($opt) {
106 106
 				lang_select();
107 107
 			}
@@ -110,7 +110,7 @@  discard block
 block discarded – undo
110 110
 
111 111
 	# lien a partir de /
112 112
 	$cible = parametre_url(self(), 'lang', '', '&');
113
-	$post = generer_url_action('converser', 'redirect=' . rawurlencode($cible), true);
113
+	$post = generer_url_action('converser', 'redirect='.rawurlencode($cible), true);
114 114
 
115 115
 	return [
116 116
 		'formulaires/menu_lang',
Please login to merge, or discard this patch.
Indentation   +31 added lines, -31 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  **/
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 /**
@@ -37,7 +37,7 @@  discard block
 block discarded – undo
37 37
  *     Pile complétée du code compilé
38 38
  **/
39 39
 function balise_MENU_LANG_ECRIRE($p) {
40
-	return calculer_balise_dynamique($p, 'MENU_LANG_ECRIRE', ['lang']);
40
+    return calculer_balise_dynamique($p, 'MENU_LANG_ECRIRE', ['lang']);
41 41
 }
42 42
 
43 43
 /**
@@ -56,12 +56,12 @@  discard block
 block discarded – undo
56 56
  *   - string: Si pas de multilinguisme
57 57
  */
58 58
 function balise_MENU_LANG_ECRIRE_stat($args, $context_compil) {
59
-	include_spip('inc/lang');
60
-	if (strpos($GLOBALS['meta']['langues_proposees'], ',') === false) {
61
-		return '';
62
-	}
59
+    include_spip('inc/lang');
60
+    if (strpos($GLOBALS['meta']['langues_proposees'], ',') === false) {
61
+        return '';
62
+    }
63 63
 
64
-	return $args;
64
+    return $args;
65 65
 }
66 66
 
67 67
 /**
@@ -77,7 +77,7 @@  discard block
 block discarded – undo
77 77
  *     Liste : Chemin du squelette, durée du cache, contexte
78 78
  **/
79 79
 function balise_MENU_LANG_ECRIRE_dyn($opt) {
80
-	return menu_lang_pour_tous('var_lang_ecrire', $opt);
80
+    return menu_lang_pour_tous('var_lang_ecrire', $opt);
81 81
 }
82 82
 
83 83
 /**
@@ -97,30 +97,30 @@  discard block
 block discarded – undo
97 97
  *     Liste : Chemin du squelette, durée du cache, contexte
98 98
  **/
99 99
 function menu_lang_pour_tous($nom, $default) {
100
-	include_spip('inc/lang');
100
+    include_spip('inc/lang');
101 101
 
102
-	if ($GLOBALS['spip_lang'] <> $default) {
103
-		$opt = lang_select($default);  # et remplace
104
-		if ($GLOBALS['spip_lang'] <> $default) {
105
-			$default = '';  # annule tout choix par defaut
106
-			if ($opt) {
107
-				lang_select();
108
-			}
109
-		}
110
-	}
102
+    if ($GLOBALS['spip_lang'] <> $default) {
103
+        $opt = lang_select($default);  # et remplace
104
+        if ($GLOBALS['spip_lang'] <> $default) {
105
+            $default = '';  # annule tout choix par defaut
106
+            if ($opt) {
107
+                lang_select();
108
+            }
109
+        }
110
+    }
111 111
 
112
-	# lien a partir de /
113
-	$cible = parametre_url(self(), 'lang', '', '&');
114
-	$post = generer_url_action('converser', 'redirect=' . rawurlencode($cible), true);
112
+    # lien a partir de /
113
+    $cible = parametre_url(self(), 'lang', '', '&');
114
+    $post = generer_url_action('converser', 'redirect=' . rawurlencode($cible), true);
115 115
 
116
-	return [
117
-		'formulaires/menu_lang',
118
-		3600,
119
-		[
120
-			'nom' => $nom,
121
-			'url' => $post,
122
-			'name' => $nom,
123
-			'default' => $default,
124
-		]
125
-	];
116
+    return [
117
+        'formulaires/menu_lang',
118
+        3600,
119
+        [
120
+            'nom' => $nom,
121
+            'url' => $post,
122
+            'name' => $nom,
123
+            'default' => $default,
124
+        ]
125
+    ];
126 126
 }
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
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  **/
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 /**
@@ -37,7 +37,7 @@  discard block
 block discarded – undo
37 37
  *     Pile complétée du code compilé
38 38
  **/
39 39
 function balise_MENU_LANG($p) {
40
-	return calculer_balise_dynamique($p, 'MENU_LANG', ['lang']);
40
+    return calculer_balise_dynamique($p, 'MENU_LANG', ['lang']);
41 41
 }
42 42
 
43 43
 /**
@@ -56,11 +56,11 @@  discard block
 block discarded – undo
56 56
  *   string: (vide) si pas de multilinguisme
57 57
  */
58 58
 function balise_MENU_LANG_stat($args, $context_compil) {
59
-	if (strpos($GLOBALS['meta']['langues_multilingue'], ',') === false) {
60
-		return '';
61
-	}
59
+    if (strpos($GLOBALS['meta']['langues_multilingue'], ',') === false) {
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_dyn($opt) {
79
-	include_spip('balise/menu_lang_ecrire');
79
+    include_spip('balise/menu_lang_ecrire');
80 80
 
81
-	return menu_lang_pour_tous('var_lang', $opt);
81
+    return menu_lang_pour_tous('var_lang', $opt);
82 82
 }
Please login to merge, or discard this patch.
ecrire/inc/filtres_mime.php 2 patches
Indentation   +53 added lines, -53 removed lines patch added patch discarded remove patch
@@ -22,7 +22,7 @@  discard block
 block discarded – undo
22 22
  **/
23 23
 
24 24
 if (!defined('_ECRIRE_INC_VERSION')) {
25
-	return;
25
+    return;
26 26
 }
27 27
 include_spip('inc/filtres');
28 28
 
@@ -39,7 +39,7 @@  discard block
 block discarded – undo
39 39
  * @return string Rien.
40 40
  **/
41 41
 function filtre_image_dist($t) {
42
-	return '';
42
+    return '';
43 43
 }
44 44
 
45 45
 /**
@@ -52,7 +52,7 @@  discard block
 block discarded – undo
52 52
  * @return string Rien.
53 53
  **/
54 54
 function filtre_audio_dist($t) {
55
-	return '';
55
+    return '';
56 56
 }
57 57
 
58 58
 /**
@@ -65,7 +65,7 @@  discard block
 block discarded – undo
65 65
  * @return string Rien.
66 66
  **/
67 67
 function filtre_video_dist($t) {
68
-	return '';
68
+    return '';
69 69
 }
70 70
 
71 71
 /**
@@ -78,7 +78,7 @@  discard block
 block discarded – undo
78 78
  * @return string Rien.
79 79
  **/
80 80
 function filtre_application_dist($t) {
81
-	return '';
81
+    return '';
82 82
 }
83 83
 
84 84
 /**
@@ -91,7 +91,7 @@  discard block
 block discarded – undo
91 91
  * @return string Rien.
92 92
  **/
93 93
 function filtre_message_dist($t) {
94
-	return '';
94
+    return '';
95 95
 }
96 96
 
97 97
 /**
@@ -104,7 +104,7 @@  discard block
 block discarded – undo
104 104
  * @return string Rien.
105 105
  **/
106 106
 function filtre_multipart_dist($t) {
107
-	return '';
107
+    return '';
108 108
 }
109 109
 
110 110
 /**
@@ -117,10 +117,10 @@  discard block
 block discarded – undo
117 117
  * @return string Contenu échappé.
118 118
  **/
119 119
 function filtre_text_dist($t) {
120
-	static $t1 = ['&', '<', '>'];
121
-	static $t2 = ['&amp;', '&lt;', '&gt;'];
120
+    static $t1 = ['&', '<', '>'];
121
+    static $t2 = ['&amp;', '&lt;', '&gt;'];
122 122
 
123
-	return '<pre>' . str_replace($t1, $t2, (string) $t) . '</pre>';
123
+    return '<pre>' . str_replace($t1, $t2, (string) $t) . '</pre>';
124 124
 }
125 125
 
126 126
 /**
@@ -135,21 +135,21 @@  discard block
 block discarded – undo
135 135
  *     Tableau (formaté en SPIP)
136 136
  **/
137 137
 function filtre_text_csv_dist($t) {
138
-	include_spip('inc/csv');
139
-	[$entete, $lignes, $caption] = analyse_csv($t);
140
-	foreach ($lignes as &$l) {
141
-		$l = join('|', $l);
142
-	}
143
-	$corps = join("\n", $lignes) . "\n";
144
-	$corps = $caption .
145
-		"\n|{{" .
146
-		join('}}|{{', $entete) .
147
-		'}}|' .
148
-		"\n|" .
149
-		str_replace("\n", "|\n|", $corps);
150
-	include_spip('inc/texte');
151
-
152
-	return propre($corps);
138
+    include_spip('inc/csv');
139
+    [$entete, $lignes, $caption] = analyse_csv($t);
140
+    foreach ($lignes as &$l) {
141
+        $l = join('|', $l);
142
+    }
143
+    $corps = join("\n", $lignes) . "\n";
144
+    $corps = $caption .
145
+        "\n|{{" .
146
+        join('}}|{{', $entete) .
147
+        '}}|' .
148
+        "\n|" .
149
+        str_replace("\n", "|\n|", $corps);
150
+    include_spip('inc/texte');
151
+
152
+    return propre($corps);
153 153
 }
154 154
 
155 155
 /**
@@ -163,33 +163,33 @@  discard block
 block discarded – undo
163 163
  * @return string Code html sécurisé ou texte échappé
164 164
  **/
165 165
 function filtre_text_html_dist($t) {
166
-	if (!preg_match(',^(.*?)<body[^>]*>(.*)</body>,is', $t, $r)) {
167
-		return appliquer_filtre($t, 'text/plain');
168
-	}
169
-
170
-	[, $h, $t] = $r;
171
-
172
-	$style = '';
173
-	// recuperer les styles internes
174
-	if (preg_match_all(',<style>(.*?)</style>,is', $h, $r, PREG_PATTERN_ORDER)) {
175
-		$style = join("\n", $r[1]);
176
-	}
177
-	// ... et externes
178
-
179
-	include_spip('inc/distant');
180
-	if (preg_match_all(',<link[^>]+type=.text/css[^>]*>,is', $h, $r, PREG_PATTERN_ORDER)) {
181
-		foreach ($r[0] as $l) {
182
-			preg_match("/href='([^']*)'/", str_replace('"', "'", $l), $m);
183
-			$page = recuperer_url($m[1]);
184
-			$page = $page['page'] ?? '';
185
-			$style .= "\n/* $l */\n"
186
-				. str_replace('<', '', $page);
187
-		}
188
-	}
189
-	// Pourquoi SafeHtml transforme-t-il en texte les scripts dans Body ?
190
-	$t = safehtml(preg_replace(',<script' . '.*?</script>,is', '', $t));
191
-
192
-	return (!$style ? '' : "\n<style>" . $style . '</style>') . $t;
166
+    if (!preg_match(',^(.*?)<body[^>]*>(.*)</body>,is', $t, $r)) {
167
+        return appliquer_filtre($t, 'text/plain');
168
+    }
169
+
170
+    [, $h, $t] = $r;
171
+
172
+    $style = '';
173
+    // recuperer les styles internes
174
+    if (preg_match_all(',<style>(.*?)</style>,is', $h, $r, PREG_PATTERN_ORDER)) {
175
+        $style = join("\n", $r[1]);
176
+    }
177
+    // ... et externes
178
+
179
+    include_spip('inc/distant');
180
+    if (preg_match_all(',<link[^>]+type=.text/css[^>]*>,is', $h, $r, PREG_PATTERN_ORDER)) {
181
+        foreach ($r[0] as $l) {
182
+            preg_match("/href='([^']*)'/", str_replace('"', "'", $l), $m);
183
+            $page = recuperer_url($m[1]);
184
+            $page = $page['page'] ?? '';
185
+            $style .= "\n/* $l */\n"
186
+                . str_replace('<', '', $page);
187
+        }
188
+    }
189
+    // Pourquoi SafeHtml transforme-t-il en texte les scripts dans Body ?
190
+    $t = safehtml(preg_replace(',<script' . '.*?</script>,is', '', $t));
191
+
192
+    return (!$style ? '' : "\n<style>" . $style . '</style>') . $t;
193 193
 }
194 194
 
195 195
 /**
@@ -202,7 +202,7 @@  discard block
 block discarded – undo
202 202
  * @return string Code HTML des balises `<param>`
203 203
  **/
204 204
 function filtre_audio_x_pn_realaudio($id) {
205
-	return "
205
+    return "
206 206
 	<param name='controls' value='PositionSlider' />
207 207
 	<param name='controls' value='ImageWindow' />
208 208
 	<param name='controls' value='PlayButton' />
Please login to merge, or discard this patch.
Spacing   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -120,7 +120,7 @@  discard block
 block discarded – undo
120 120
 	static $t1 = ['&', '<', '>'];
121 121
 	static $t2 = ['&amp;', '&lt;', '&gt;'];
122 122
 
123
-	return '<pre>' . str_replace($t1, $t2, (string) $t) . '</pre>';
123
+	return '<pre>'.str_replace($t1, $t2, (string) $t).'</pre>';
124 124
 }
125 125
 
126 126
 /**
@@ -140,12 +140,12 @@  discard block
 block discarded – undo
140 140
 	foreach ($lignes as &$l) {
141 141
 		$l = join('|', $l);
142 142
 	}
143
-	$corps = join("\n", $lignes) . "\n";
144
-	$corps = $caption .
145
-		"\n|{{" .
146
-		join('}}|{{', $entete) .
147
-		'}}|' .
148
-		"\n|" .
143
+	$corps = join("\n", $lignes)."\n";
144
+	$corps = $caption.
145
+		"\n|{{".
146
+		join('}}|{{', $entete).
147
+		'}}|'.
148
+		"\n|".
149 149
 		str_replace("\n", "|\n|", $corps);
150 150
 	include_spip('inc/texte');
151 151
 
@@ -187,9 +187,9 @@  discard block
 block discarded – undo
187 187
 		}
188 188
 	}
189 189
 	// Pourquoi SafeHtml transforme-t-il en texte les scripts dans Body ?
190
-	$t = safehtml(preg_replace(',<script' . '.*?</script>,is', '', $t));
190
+	$t = safehtml(preg_replace(',<script'.'.*?</script>,is', '', $t));
191 191
 
192
-	return (!$style ? '' : "\n<style>" . $style . '</style>') . $t;
192
+	return (!$style ? '' : "\n<style>".$style.'</style>').$t;
193 193
 }
194 194
 
195 195
 /**
Please login to merge, or discard this patch.
ecrire/public/balises.php 3 patches
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -2868,8 +2868,7 @@
 block discarded – undo
2868 2868
 	$_const = interprete_argument_balise(1, $p);
2869 2869
 	if (!strlen($_const ?? '')) {
2870 2870
 		$p->code = "''";
2871
-	}
2872
-	else {
2871
+	} else {
2873 2872
 		$p->code = "(defined($_const)?constant($_const):'')";
2874 2873
 	}
2875 2874
 	$p->interdire_scripts = false;
Please login to merge, or discard this patch.
Spacing   +48 added lines, -48 removed lines patch added patch discarded remove patch
@@ -358,7 +358,7 @@  discard block
 block discarded – undo
358 358
  */
359 359
 function balise_DOSSIER_SQUELETTE_dist($p) {
360 360
 	$code = substr(addslashes(dirname($p->descr['sourcefile'])), strlen(_DIR_RACINE));
361
-	$p->code = "_DIR_RACINE . '$code'" .
361
+	$p->code = "_DIR_RACINE . '$code'".
362 362
 		$p->interdire_scripts = false;
363 363
 
364 364
 	return $p;
@@ -377,7 +377,7 @@  discard block
 block discarded – undo
377 377
  */
378 378
 function balise_SQUELETTE_dist($p) {
379 379
 	$code = addslashes($p->descr['sourcefile']);
380
-	$p->code = "'$code'" .
380
+	$p->code = "'$code'".
381 381
 		$p->interdire_scripts = false;
382 382
 
383 383
 	return $p;
@@ -429,9 +429,9 @@  discard block
 block discarded – undo
429 429
  **/
430 430
 function balise_NOM_SITE_dist($p) {
431 431
 	if (!$p->etoile) {
432
-		$p->code = 'supprimer_numero(calculer_url(' .
433
-			champ_sql('url_site', $p) . ',' .
434
-			champ_sql('nom_site', $p) .
432
+		$p->code = 'supprimer_numero(calculer_url('.
433
+			champ_sql('url_site', $p).','.
434
+			champ_sql('nom_site', $p).
435 435
 			", 'titre', \$connect, false))";
436 436
 	} else {
437 437
 		$p->code = champ_sql('nom_site', $p);
@@ -582,8 +582,8 @@  discard block
 block discarded – undo
582 582
  *     Pile complétée par le code à générer
583 583
  **/
584 584
 function balise_POPULARITE_ABSOLUE_dist($p) {
585
-	$p->code = 'ceil(' .
586
-		champ_sql('popularite', $p) .
585
+	$p->code = 'ceil('.
586
+		champ_sql('popularite', $p).
587 587
 		')';
588 588
 	$p->interdire_scripts = false;
589 589
 
@@ -664,7 +664,7 @@  discard block
 block discarded – undo
664 664
 	$p->code = index_pile($p->id_boucle, 'valeur', $p->boucles, $b);
665 665
 ;
666 666
 	if (($v = interprete_argument_balise(1, $p)) !== null) {
667
-		$p->code = 'table_valeur(' . $p->code . ', ' . $v . ')';
667
+		$p->code = 'table_valeur('.$p->code.', '.$v.')';
668 668
 	}
669 669
 	$p->interdire_scripts = true;
670 670
 
@@ -804,16 +804,16 @@  discard block
 block discarded – undo
804 804
 	$trouver_table = charger_fonction('trouver_table', 'base');
805 805
 	if ($desc = $trouver_table(table_objet_sql($type_objet))) {
806 806
 		if (isset($desc['field']['descriptif'])) {
807
-			$_ligne .= "'descriptif' => " . champ_sql('descriptif', $p) . ',';
807
+			$_ligne .= "'descriptif' => ".champ_sql('descriptif', $p).',';
808 808
 		}
809 809
 		if (isset($desc['field']['texte'])) {
810
-			$_ligne .= "'texte' => " . champ_sql('texte', $p) . ',';
810
+			$_ligne .= "'texte' => ".champ_sql('texte', $p).',';
811 811
 		}
812 812
 		if (isset($desc['field']['chapo'])) {
813
-			$_ligne .= "'chapo' => " . champ_sql('chapo', $p) . ',';
813
+			$_ligne .= "'chapo' => ".champ_sql('chapo', $p).',';
814 814
 		}
815 815
 		if (isset($desc['introduction_longueur'])) {
816
-			$_introduction_longueur = "'" . $desc['introduction_longueur'] . "'";
816
+			$_introduction_longueur = "'".$desc['introduction_longueur']."'";
817 817
 		}
818 818
 	}
819 819
 	$_ligne .= ')';
@@ -909,10 +909,10 @@  discard block
 block discarded – undo
909 909
 		$p->code = sprintf(
910 910
 			CODE_RECUPERER_FOND,
911 911
 			"'modeles/lesauteurs'",
912
-			"array('objet'=>'" . $objet .
913
-			"','id_objet' => " . champ_sql($id_table_objet, $p) .
914
-			",'$id_table_objet' => " . champ_sql($id_table_objet, $p) .
915
-			($objet == 'article' ? '' : ",'id_article' => " . champ_sql('id_article', $p)) .
912
+			"array('objet'=>'".$objet.
913
+			"','id_objet' => ".champ_sql($id_table_objet, $p).
914
+			",'$id_table_objet' => ".champ_sql($id_table_objet, $p).
915
+			($objet == 'article' ? '' : ",'id_article' => ".champ_sql('id_article', $p)).
916 916
 			')',
917 917
 			"'trim'=>true, 'compil'=>array($c)",
918 918
 			_q($connect)
@@ -981,7 +981,7 @@  discard block
 block discarded – undo
981 981
 					$m = trim($m);
982 982
 					if ($m != "''") {
983 983
 						if (!preg_match(',\W,', $m)) {
984
-							$m = $boucle->id_table . ".$m";
984
+							$m = $boucle->id_table.".$m";
985 985
 						}
986 986
 
987 987
 						$m .= ' AS titre_rang';
@@ -1142,7 +1142,7 @@  discard block
 block discarded – undo
1142 1142
 	$f_pagination = chercher_filtre('pagination');
1143 1143
 	$type = $p->boucles[$b]->modificateur['debut_nom'];
1144 1144
 	$modif = ($type[0] !== "'") ? "'debut'.$type"
1145
-		: ("'debut" . substr($type, 1));
1145
+		: ("'debut".substr($type, 1));
1146 1146
 
1147 1147
 	$p->code = sprintf(
1148 1148
 		CODE_PAGINATION,
@@ -1285,7 +1285,7 @@  discard block
 block discarded – undo
1285 1285
 		$msg = ['zbug_balise_sans_argument', ['balise' => ' CHEMIN']];
1286 1286
 		erreur_squelette($msg, $p);
1287 1287
 	} else {
1288
-		$p->code = 'find_in_path((string)' . $arg . ')';
1288
+		$p->code = 'find_in_path((string)'.$arg.')';
1289 1289
 	}
1290 1290
 
1291 1291
 	$p->interdire_scripts = false;
@@ -1320,7 +1320,7 @@  discard block
 block discarded – undo
1320 1320
 		$msg = ['zbug_balise_sans_argument', ['balise' => ' CHEMIN_IMAGE']];
1321 1321
 		erreur_squelette($msg, $p);
1322 1322
 	} else {
1323
-		$p->code = 'chemin_image((string)' . $arg . ')';
1323
+		$p->code = 'chemin_image((string)'.$arg.')';
1324 1324
 	}
1325 1325
 
1326 1326
 	$p->interdire_scripts = false;
@@ -1374,7 +1374,7 @@  discard block
 block discarded – undo
1374 1374
 		// cas de #ENV sans argument : on retourne le serialize() du tableau
1375 1375
 		// une belle fonction [(#ENV|affiche_env)] serait pratique
1376 1376
 		if ($src) {
1377
-			$p->code = '(is_array($a = (' . $src . ')) ? serialize($a) : "")';
1377
+			$p->code = '(is_array($a = ('.$src.')) ? serialize($a) : "")';
1378 1378
 		} else {
1379 1379
 			$p->code = 'serialize($Pile[0]??[])';
1380 1380
 		}
@@ -1427,8 +1427,8 @@  discard block
 block discarded – undo
1427 1427
 	$_sinon = interprete_argument_balise(2, $p);
1428 1428
 	$_unserialize = sinon(interprete_argument_balise(3, $p), 'false');
1429 1429
 
1430
-	$p->code = '(include_spip(\'inc/config\')?lire_config(' . $arg . ',' .
1431
-		($_sinon && $_sinon != "''" ? $_sinon : 'null') . ',' . $_unserialize . "):'')";
1430
+	$p->code = '(include_spip(\'inc/config\')?lire_config('.$arg.','.
1431
+		($_sinon && $_sinon != "''" ? $_sinon : 'null').','.$_unserialize."):'')";
1432 1432
 
1433 1433
 	return $p;
1434 1434
 }
@@ -1521,7 +1521,7 @@  discard block
 block discarded – undo
1521 1521
 		$err_b_s_a = ['zbug_balise_sans_argument', ['balise' => 'SESSION_SET']];
1522 1522
 		erreur_squelette($err_b_s_a, $p);
1523 1523
 	} else {
1524
-		$p->code = '(include_spip("inc/session") AND session_set(' . $_nom . ',' . $_val . '))';
1524
+		$p->code = '(include_spip("inc/session") AND session_set('.$_nom.','.$_val.'))';
1525 1525
 	}
1526 1526
 
1527 1527
 	$p->interdire_scripts = false;
@@ -1569,7 +1569,7 @@  discard block
 block discarded – undo
1569 1569
 			)
1570 1570
 		) {
1571 1571
 			$p->code = /* $r[1]. */
1572
-				'(' . $r[2] . ')';
1572
+				'('.$r[2].')';
1573 1573
 		} else {
1574 1574
 			$p->code = "eval('return '.$php.';')";
1575 1575
 		}
@@ -1813,9 +1813,9 @@  discard block
 block discarded – undo
1813 1813
 
1814 1814
 		// noter la duree du cache dans un entete proprietaire
1815 1815
 
1816
-		$code = "'<'.'" . '?php header("X-Spip-Cache: '
1816
+		$code = "'<'.'".'?php header("X-Spip-Cache: '
1817 1817
 			. $duree
1818
-			. '"); ?' . "'.'>'";
1818
+			. '"); ?'."'.'>'";
1819 1819
 
1820 1820
 		// Remplir le header Cache-Control
1821 1821
 		// cas #CACHE{0}
@@ -1836,9 +1836,9 @@  discard block
 block discarded – undo
1836 1836
 				$pa == 'cache-client'
1837 1837
 				and $duree > 0
1838 1838
 			) {
1839
-				$code .= ".'<'.'" . '?php header("Cache-Control: max-age='
1839
+				$code .= ".'<'.'".'?php header("Cache-Control: max-age='
1840 1840
 					. $duree
1841
-					. '"); ?' . "'.'>'";
1841
+					. '"); ?'."'.'>'";
1842 1842
 				// il semble logique, si on cache-client, de ne pas invalider
1843 1843
 				$pa = 'statique';
1844 1844
 			}
@@ -1847,7 +1847,7 @@  discard block
 block discarded – undo
1847 1847
 				$pa == 'statique'
1848 1848
 				and $duree > 0
1849 1849
 			) {
1850
-				$code .= ".'<'.'" . '?php header("X-Spip-Statique: oui"); ?' . "'.'>'";
1850
+				$code .= ".'<'.'".'?php header("X-Spip-Statique: oui"); ?'."'.'>'";
1851 1851
 			}
1852 1852
 		}
1853 1853
 	} else {
@@ -2011,9 +2011,9 @@  discard block
 block discarded – undo
2011 2011
 		if ($p->etoile) {
2012 2012
 			$_options[] = "'etoile'=>true";
2013 2013
 		}
2014
-		$_options[] = "'compil'=>array(" . memoriser_contexte_compil($p) . ')';
2014
+		$_options[] = "'compil'=>array(".memoriser_contexte_compil($p).')';
2015 2015
 
2016
-		$_l = 'array(' . join(",\n\t", $_contexte) . ')';
2016
+		$_l = 'array('.join(",\n\t", $_contexte).')';
2017 2017
 		if ($flag_env) {
2018 2018
 			$_l = "array_merge(\$Pile[0],$_l)";
2019 2019
 		}
@@ -2023,7 +2023,7 @@  discard block
 block discarded – undo
2023 2023
 		$msg = ['zbug_balise_sans_argument', ['balise' => ' INCLURE']];
2024 2024
 		erreur_squelette($msg, $p);
2025 2025
 	} else {
2026
-		$p->code = 'charge_scripts(' . $_contexte[1] . ',false)';
2026
+		$p->code = 'charge_scripts('.$_contexte[1].',false)';
2027 2027
 	}
2028 2028
 
2029 2029
 	$p->interdire_scripts = false; // la securite est assuree par recuperer_fond
@@ -2071,7 +2071,7 @@  discard block
 block discarded – undo
2071 2071
 		unset($_contexte[1]);
2072 2072
 
2073 2073
 		if (preg_match("/^\s*'[^']*'/s", $nom)) {
2074
-			$nom = "'modeles/" . substr($nom, 1);
2074
+			$nom = "'modeles/".substr($nom, 1);
2075 2075
 		} else {
2076 2076
 			$nom = "'modeles/' . $nom";
2077 2077
 		}
@@ -2088,8 +2088,8 @@  discard block
 block discarded – undo
2088 2088
 			$primary = $p->boucles[$p->id_boucle]->primary;
2089 2089
 			if (!strpos($primary, ',')) {
2090 2090
 				$id = champ_sql($primary, $p);
2091
-				$_contexte[] = "'$primary'=>" . $id;
2092
-				$_contexte[] = "'id'=>" . $id;
2091
+				$_contexte[] = "'$primary'=>".$id;
2092
+				$_contexte[] = "'id'=>".$id;
2093 2093
 			}
2094 2094
 		}
2095 2095
 		$_contexte[] = "'recurs'=>(++\$recurs)";
@@ -2101,11 +2101,11 @@  discard block
 block discarded – undo
2101 2101
 		$_options = memoriser_contexte_compil($p);
2102 2102
 		$_options = "'compil'=>array($_options), 'trim'=>true";
2103 2103
 		if (isset($_contexte['ajax'])) {
2104
-			$_options .= ', ' . preg_replace(',=>(.*)$,ims', '=> ($v=(\\1))?$v:true', $_contexte['ajax']);
2104
+			$_options .= ', '.preg_replace(',=>(.*)$,ims', '=> ($v=(\\1))?$v:true', $_contexte['ajax']);
2105 2105
 			unset($_contexte['ajax']);
2106 2106
 		}
2107 2107
 
2108
-		$_l = 'array(' . join(",\n\t", $_contexte) . ')';
2108
+		$_l = 'array('.join(",\n\t", $_contexte).')';
2109 2109
 		if ($flag_env) {
2110 2110
 			$_l = "array_merge(\$Pile[0],$_l)";
2111 2111
 		}
@@ -2215,12 +2215,12 @@  discard block
 block discarded – undo
2215 2215
 function balise_DOUBLONS_dist($p) {
2216 2216
 	if ($type = interprete_argument_balise(1, $p)) {
2217 2217
 		if ($famille = interprete_argument_balise(2, $p)) {
2218
-			$type .= '.' . $famille;
2218
+			$type .= '.'.$famille;
2219 2219
 		}
2220
-		$p->code = '(isset($doublons[' . $type . ']) ? $doublons[' . $type . '] : "")';
2220
+		$p->code = '(isset($doublons['.$type.']) ? $doublons['.$type.'] : "")';
2221 2221
 		if (!$p->etoile) {
2222 2222
 			$p->code = 'array_filter(array_map("intval",explode(",",'
2223
-				. $p->code . ')))';
2223
+				. $p->code.')))';
2224 2224
 		}
2225 2225
 	} else {
2226 2226
 		$p->code = '$doublons';
@@ -2349,7 +2349,7 @@  discard block
 block discarded – undo
2349 2349
 			$_code[] = "$_key => $_val";
2350 2350
 		}
2351 2351
 	} while ($_key && $_val);
2352
-	$p->code = 'array(' . join(', ', $_code) . ')';
2352
+	$p->code = 'array('.join(', ', $_code).')';
2353 2353
 	$p->interdire_scripts = false;
2354 2354
 
2355 2355
 	return $p;
@@ -2376,7 +2376,7 @@  discard block
 block discarded – undo
2376 2376
 	while ($_val = interprete_argument_balise($n++, $p)) {
2377 2377
 		$_code[] = $_val;
2378 2378
 	}
2379
-	$p->code = 'array(' . join(', ', $_code) . ')';
2379
+	$p->code = 'array('.join(', ', $_code).')';
2380 2380
 	$p->interdire_scripts = false;
2381 2381
 
2382 2382
 	return $p;
@@ -2421,10 +2421,10 @@  discard block
 block discarded – undo
2421 2421
 		$_code[] = $_v;
2422 2422
 	}
2423 2423
 
2424
-	$p->code = '((function_exists("autoriser")||include_spip("inc/autoriser"))&&autoriser(' . join(
2424
+	$p->code = '((function_exists("autoriser")||include_spip("inc/autoriser"))&&autoriser('.join(
2425 2425
 		', ',
2426 2426
 		$_code
2427
-	) . ')?" ":"")';
2427
+	).')?" ":"")';
2428 2428
 	$p->interdire_scripts = false;
2429 2429
 
2430 2430
 	return $p;
@@ -2457,7 +2457,7 @@  discard block
 block discarded – undo
2457 2457
 	$type_info = isset($type_info) ? str_replace('\'', '"', $type_info) : '"est_actif"';
2458 2458
 
2459 2459
 	$f = chercher_filtre('info_plugin');
2460
-	$p->code = $f . '(' . $plugin . ', ' . $type_info . ')';
2460
+	$p->code = $f.'('.$plugin.', '.$type_info.')';
2461 2461
 
2462 2462
 	return $p;
2463 2463
 }
@@ -2689,7 +2689,7 @@  discard block
 block discarded – undo
2689 2689
 	}
2690 2690
 
2691 2691
 	// Différentes infos relatives au tri présentes dans les modificateurs
2692
-	$_tri_nom = $boucle->modificateur['tri_nom'] ; // nom du paramètre définissant le tri
2692
+	$_tri_nom = $boucle->modificateur['tri_nom']; // nom du paramètre définissant le tri
2693 2693
 	$_tri_champ = $boucle->modificateur['tri_champ']; // champ actuel utilisé le tri
2694 2694
 	$_tri_sens = $boucle->modificateur['tri_sens']; // sens de tri actuel
2695 2695
 	$_tri_liste_sens_defaut = $boucle->modificateur['tri_liste_sens_defaut']; // sens par défaut pour chaque champ
@@ -2784,7 +2784,7 @@  discard block
 block discarded – undo
2784 2784
 		$connect = $p->boucles[$p->id_boucle]->sql_serveur;
2785 2785
 	}
2786 2786
 
2787
-	$p->code = '(objet_test_si_publie(' . $_type . ',intval(' . $_id . '),' . _q($connect) . ")?' ':'')";
2787
+	$p->code = '(objet_test_si_publie('.$_type.',intval('.$_id.'),'._q($connect).")?' ':'')";
2788 2788
 	$p->interdire_scripts = false;
2789 2789
 
2790 2790
 	return $p;
Please login to merge, or discard this patch.
Indentation   +943 added lines, -943 removed lines patch added patch discarded remove patch
@@ -28,7 +28,7 @@  discard block
 block discarded – undo
28 28
  **/
29 29
 
30 30
 if (!defined('_ECRIRE_INC_VERSION')) {
31
-	return;
31
+    return;
32 32
 }
33 33
 
34 34
 /**
@@ -50,16 +50,16 @@  discard block
 block discarded – undo
50 50
  *     Code PHP si cet argument est présent, sinon null
51 51
  **/
52 52
 function interprete_argument_balise(int $n, Champ $p): ?string {
53
-	if (($p->param) && (!$p->param[0][0]) && ((is_countable($p->param[0]) ? count($p->param[0]) : 0) > $n)) {
54
-		return calculer_liste(
55
-			$p->param[0][$n],
56
-			$p->descr,
57
-			$p->boucles,
58
-			$p->id_boucle
59
-		);
60
-	} else {
61
-		return null;
62
-	}
53
+    if (($p->param) && (!$p->param[0][0]) && ((is_countable($p->param[0]) ? count($p->param[0]) : 0) > $n)) {
54
+        return calculer_liste(
55
+            $p->param[0][$n],
56
+            $p->descr,
57
+            $p->boucles,
58
+            $p->id_boucle
59
+        );
60
+    } else {
61
+        return null;
62
+    }
63 63
 }
64 64
 
65 65
 
@@ -79,10 +79,10 @@  discard block
 block discarded – undo
79 79
  *     Pile complétée par le code à générer
80 80
  **/
81 81
 function balise_NOM_SITE_SPIP_dist($p) {
82
-	$p->code = "\$GLOBALS['meta']['nom_site']";
82
+    $p->code = "\$GLOBALS['meta']['nom_site']";
83 83
 
84
-	#$p->interdire_scripts = true;
85
-	return $p;
84
+    #$p->interdire_scripts = true;
85
+    return $p;
86 86
 }
87 87
 
88 88
 /**
@@ -98,10 +98,10 @@  discard block
 block discarded – undo
98 98
  *     Pile complétée par le code à générer
99 99
  **/
100 100
 function balise_EMAIL_WEBMASTER_dist($p) {
101
-	$p->code = "\$GLOBALS['meta']['email_webmaster']";
101
+    $p->code = "\$GLOBALS['meta']['email_webmaster']";
102 102
 
103
-	#$p->interdire_scripts = true;
104
-	return $p;
103
+    #$p->interdire_scripts = true;
104
+    return $p;
105 105
 }
106 106
 
107 107
 /**
@@ -117,10 +117,10 @@  discard block
 block discarded – undo
117 117
  *     Pile complétée par le code à générer
118 118
  **/
119 119
 function balise_DESCRIPTIF_SITE_SPIP_dist($p) {
120
-	$p->code = "\$GLOBALS['meta']['descriptif_site']";
120
+    $p->code = "\$GLOBALS['meta']['descriptif_site']";
121 121
 
122
-	#$p->interdire_scripts = true;
123
-	return $p;
122
+    #$p->interdire_scripts = true;
123
+    return $p;
124 124
 }
125 125
 
126 126
 
@@ -141,10 +141,10 @@  discard block
 block discarded – undo
141 141
  *     Pile complétée par le code à générer
142 142
  **/
143 143
 function balise_CHARSET_dist($p) {
144
-	$p->code = "\$GLOBALS['meta']['charset']";
144
+    $p->code = "\$GLOBALS['meta']['charset']";
145 145
 
146
-	#$p->interdire_scripts = true;
147
-	return $p;
146
+    #$p->interdire_scripts = true;
147
+    return $p;
148 148
 }
149 149
 
150 150
 /**
@@ -169,11 +169,11 @@  discard block
 block discarded – undo
169 169
  *     Pile complétée par le code à générer
170 170
  **/
171 171
 function balise_LANG_LEFT_dist($p) {
172
-	$_lang = champ_sql('lang', $p);
173
-	$p->code = "lang_dir($_lang, 'left','right')";
174
-	$p->interdire_scripts = false;
172
+    $_lang = champ_sql('lang', $p);
173
+    $p->code = "lang_dir($_lang, 'left','right')";
174
+    $p->interdire_scripts = false;
175 175
 
176
-	return $p;
176
+    return $p;
177 177
 }
178 178
 
179 179
 /**
@@ -193,11 +193,11 @@  discard block
 block discarded – undo
193 193
  *     Pile complétée par le code à générer
194 194
  **/
195 195
 function balise_LANG_RIGHT_dist($p) {
196
-	$_lang = champ_sql('lang', $p);
197
-	$p->code = "lang_dir($_lang, 'right','left')";
198
-	$p->interdire_scripts = false;
196
+    $_lang = champ_sql('lang', $p);
197
+    $p->code = "lang_dir($_lang, 'right','left')";
198
+    $p->interdire_scripts = false;
199 199
 
200
-	return $p;
200
+    return $p;
201 201
 }
202 202
 
203 203
 /**
@@ -222,11 +222,11 @@  discard block
 block discarded – undo
222 222
  *     Pile complétée par le code à générer
223 223
  **/
224 224
 function balise_LANG_DIR_dist($p) {
225
-	$_lang = champ_sql('lang', $p);
226
-	$p->code = "lang_dir($_lang, 'ltr','rtl')";
227
-	$p->interdire_scripts = false;
225
+    $_lang = champ_sql('lang', $p);
226
+    $p->code = "lang_dir($_lang, 'ltr','rtl')";
227
+    $p->interdire_scripts = false;
228 228
 
229
-	return $p;
229
+    return $p;
230 230
 }
231 231
 
232 232
 
@@ -243,10 +243,10 @@  discard block
 block discarded – undo
243 243
  *     Pile complétée par le code à générer
244 244
  **/
245 245
 function balise_PUCE_dist($p) {
246
-	$p->code = 'definir_puce()';
247
-	$p->interdire_scripts = false;
246
+    $p->code = 'definir_puce()';
247
+    $p->interdire_scripts = false;
248 248
 
249
-	return $p;
249
+    return $p;
250 250
 }
251 251
 
252 252
 
@@ -270,9 +270,9 @@  discard block
 block discarded – undo
270 270
  *     Pile completée du code PHP d'exécution de la balise
271 271
  */
272 272
 function balise_DATE_dist($p) {
273
-	$p->code = champ_sql('date', $p);
273
+    $p->code = champ_sql('date', $p);
274 274
 
275
-	return $p;
275
+    return $p;
276 276
 }
277 277
 
278 278
 
@@ -292,10 +292,10 @@  discard block
 block discarded – undo
292 292
  *     Pile completée du code PHP d'exécution de la balise
293 293
  */
294 294
 function balise_DATE_REDAC_dist($p) {
295
-	$p->code = champ_sql('date_redac', $p);
296
-	$p->interdire_scripts = false;
295
+    $p->code = champ_sql('date_redac', $p);
296
+    $p->interdire_scripts = false;
297 297
 
298
-	return $p;
298
+    return $p;
299 299
 }
300 300
 
301 301
 /**
@@ -314,10 +314,10 @@  discard block
 block discarded – undo
314 314
  *     Pile completée du code PHP d'exécution de la balise
315 315
  */
316 316
 function balise_DATE_MODIF_dist($p) {
317
-	$p->code = champ_sql('date_modif', $p);
318
-	$p->interdire_scripts = false;
317
+    $p->code = champ_sql('date_modif', $p);
318
+    $p->interdire_scripts = false;
319 319
 
320
-	return $p;
320
+    return $p;
321 321
 }
322 322
 
323 323
 /**
@@ -335,13 +335,13 @@  discard block
 block discarded – undo
335 335
  *     Pile completée du code PHP d'exécution de la balise
336 336
  */
337 337
 function balise_DATE_NOUVEAUTES_dist($p) {
338
-	$p->code = "((\$GLOBALS['meta']['quoi_de_neuf'] == 'oui'
338
+    $p->code = "((\$GLOBALS['meta']['quoi_de_neuf'] == 'oui'
339 339
 	AND isset(\$GLOBALS['meta']['dernier_envoi_neuf'])) ?
340 340
 	\$GLOBALS['meta']['dernier_envoi_neuf'] :
341 341
 	\"'0000-00-00'\")";
342
-	$p->interdire_scripts = false;
342
+    $p->interdire_scripts = false;
343 343
 
344
-	return $p;
344
+    return $p;
345 345
 }
346 346
 
347 347
 
@@ -359,11 +359,11 @@  discard block
 block discarded – undo
359 359
  *     Pile completée du code PHP d'exécution de la balise
360 360
  */
361 361
 function balise_DOSSIER_SQUELETTE_dist($p) {
362
-	$code = substr(addslashes(dirname($p->descr['sourcefile'])), strlen(_DIR_RACINE));
363
-	$p->code = "_DIR_RACINE . '$code'" .
364
-		$p->interdire_scripts = false;
362
+    $code = substr(addslashes(dirname($p->descr['sourcefile'])), strlen(_DIR_RACINE));
363
+    $p->code = "_DIR_RACINE . '$code'" .
364
+        $p->interdire_scripts = false;
365 365
 
366
-	return $p;
366
+    return $p;
367 367
 }
368 368
 
369 369
 /**
@@ -378,11 +378,11 @@  discard block
 block discarded – undo
378 378
  *     Pile completée du code PHP d'exécution de la balise
379 379
  */
380 380
 function balise_SQUELETTE_dist($p) {
381
-	$code = addslashes($p->descr['sourcefile']);
382
-	$p->code = "'$code'" .
383
-		$p->interdire_scripts = false;
381
+    $code = addslashes($p->descr['sourcefile']);
382
+    $p->code = "'$code'" .
383
+        $p->interdire_scripts = false;
384 384
 
385
-	return $p;
385
+    return $p;
386 386
 }
387 387
 
388 388
 /**
@@ -401,10 +401,10 @@  discard block
 block discarded – undo
401 401
  *     Pile completée du code PHP d'exécution de la balise
402 402
  */
403 403
 function balise_SPIP_VERSION_dist($p) {
404
-	$p->code = 'spip_version()';
405
-	$p->interdire_scripts = false;
404
+    $p->code = 'spip_version()';
405
+    $p->interdire_scripts = false;
406 406
 
407
-	return $p;
407
+    return $p;
408 408
 }
409 409
 
410 410
 
@@ -430,18 +430,18 @@  discard block
 block discarded – undo
430 430
  *     Pile complétée par le code à générer
431 431
  **/
432 432
 function balise_NOM_SITE_dist($p) {
433
-	if (!$p->etoile) {
434
-		$p->code = 'supprimer_numero(calculer_url(' .
435
-			champ_sql('url_site', $p) . ',' .
436
-			champ_sql('nom_site', $p) .
437
-			", 'titre', \$connect, false))";
438
-	} else {
439
-		$p->code = champ_sql('nom_site', $p);
440
-	}
433
+    if (!$p->etoile) {
434
+        $p->code = 'supprimer_numero(calculer_url(' .
435
+            champ_sql('url_site', $p) . ',' .
436
+            champ_sql('nom_site', $p) .
437
+            ", 'titre', \$connect, false))";
438
+    } else {
439
+        $p->code = champ_sql('nom_site', $p);
440
+    }
441 441
 
442
-	$p->interdire_scripts = true;
442
+    $p->interdire_scripts = true;
443 443
 
444
-	return $p;
444
+    return $p;
445 445
 }
446 446
 
447 447
 
@@ -458,11 +458,11 @@  discard block
 block discarded – undo
458 458
  *     Pile complétée par le code à générer
459 459
  **/
460 460
 function balise_NOTES_dist($p) {
461
-	// Recuperer les notes
462
-	$p->code = 'calculer_notes()';
461
+    // Recuperer les notes
462
+    $p->code = 'calculer_notes()';
463 463
 
464
-	#$p->interdire_scripts = true;
465
-	return $p;
464
+    #$p->interdire_scripts = true;
465
+    return $p;
466 466
 }
467 467
 
468 468
 
@@ -484,10 +484,10 @@  discard block
 block discarded – undo
484 484
  *     Pile complétée par le code à générer
485 485
  **/
486 486
 function balise_RECHERCHE_dist($p) {
487
-	$p->code = 'entites_html(_request("recherche"))';
488
-	$p->interdire_scripts = false;
487
+    $p->code = 'entites_html(_request("recherche"))';
488
+    $p->interdire_scripts = false;
489 489
 
490
-	return $p;
490
+    return $p;
491 491
 }
492 492
 
493 493
 
@@ -505,18 +505,18 @@  discard block
 block discarded – undo
505 505
  *     Pile complétée par le code à générer
506 506
  **/
507 507
 function balise_COMPTEUR_BOUCLE_dist($p) {
508
-	$b = index_boucle_mere($p);
509
-	if ($b === '') {
510
-		$msg = ['zbug_champ_hors_boucle', ['champ' => zbug_presenter_champ($p)]];
511
-		erreur_squelette($msg, $p);
512
-		return null;
513
-	} else {
514
-		$p->code = "(\$Numrows['$b']['compteur_boucle'] ?? 0)";
515
-		$p->boucles[$b]->cptrows = true;
516
-		$p->interdire_scripts = false;
508
+    $b = index_boucle_mere($p);
509
+    if ($b === '') {
510
+        $msg = ['zbug_champ_hors_boucle', ['champ' => zbug_presenter_champ($p)]];
511
+        erreur_squelette($msg, $p);
512
+        return null;
513
+    } else {
514
+        $p->code = "(\$Numrows['$b']['compteur_boucle'] ?? 0)";
515
+        $p->boucles[$b]->cptrows = true;
516
+        $p->interdire_scripts = false;
517 517
 
518
-		return $p;
519
-	}
518
+        return $p;
519
+    }
520 520
 }
521 521
 
522 522
 /**
@@ -534,17 +534,17 @@  discard block
 block discarded – undo
534 534
  *     Pile complétée par le code à générer
535 535
  **/
536 536
 function balise_TOTAL_BOUCLE_dist($p) {
537
-	$b = index_boucle_mere($p);
538
-	if ($b === '') {
539
-		$msg = ['zbug_champ_hors_boucle', ['champ' => zbug_presenter_champ($p)]];
540
-		erreur_squelette($msg, $p);
541
-	} else {
542
-		$p->code = "(\$Numrows['$b']['total'] ?? 0)";
543
-		$p->boucles[$b]->numrows = true;
544
-		$p->interdire_scripts = false;
545
-	}
537
+    $b = index_boucle_mere($p);
538
+    if ($b === '') {
539
+        $msg = ['zbug_champ_hors_boucle', ['champ' => zbug_presenter_champ($p)]];
540
+        erreur_squelette($msg, $p);
541
+    } else {
542
+        $p->code = "(\$Numrows['$b']['total'] ?? 0)";
543
+        $p->boucles[$b]->numrows = true;
544
+        $p->interdire_scripts = false;
545
+    }
546 546
 
547
-	return $p;
547
+    return $p;
548 548
 }
549 549
 
550 550
 
@@ -564,7 +564,7 @@  discard block
 block discarded – undo
564 564
  *     Pile complétée par le code à générer
565 565
  **/
566 566
 function balise_POINTS_dist($p) {
567
-	return rindex_pile($p, 'points', 'recherche');
567
+    return rindex_pile($p, 'points', 'recherche');
568 568
 }
569 569
 
570 570
 
@@ -585,12 +585,12 @@  discard block
 block discarded – undo
585 585
  *     Pile complétée par le code à générer
586 586
  **/
587 587
 function balise_POPULARITE_ABSOLUE_dist($p) {
588
-	$p->code = 'ceil(' .
589
-		champ_sql('popularite', $p) .
590
-		')';
591
-	$p->interdire_scripts = false;
588
+    $p->code = 'ceil(' .
589
+        champ_sql('popularite', $p) .
590
+        ')';
591
+    $p->interdire_scripts = false;
592 592
 
593
-	return $p;
593
+    return $p;
594 594
 }
595 595
 
596 596
 /**
@@ -610,10 +610,10 @@  discard block
 block discarded – undo
610 610
  *     Pile complétée par le code à générer
611 611
  **/
612 612
 function balise_POPULARITE_SITE_dist($p) {
613
-	$p->code = 'ceil($GLOBALS["meta"][\'popularite_total\'])';
614
-	$p->interdire_scripts = false;
613
+    $p->code = 'ceil($GLOBALS["meta"][\'popularite_total\'])';
614
+    $p->interdire_scripts = false;
615 615
 
616
-	return $p;
616
+    return $p;
617 617
 }
618 618
 
619 619
 /**
@@ -634,10 +634,10 @@  discard block
 block discarded – undo
634 634
  *     Pile complétée par le code à générer
635 635
  **/
636 636
 function balise_POPULARITE_MAX_dist($p) {
637
-	$p->code = 'ceil($GLOBALS["meta"][\'popularite_max\'])';
638
-	$p->interdire_scripts = false;
637
+    $p->code = 'ceil($GLOBALS["meta"][\'popularite_max\'])';
638
+    $p->interdire_scripts = false;
639 639
 
640
-	return $p;
640
+    return $p;
641 641
 }
642 642
 
643 643
 
@@ -663,15 +663,15 @@  discard block
 block discarded – undo
663 663
  *     Pile complétée par le code à générer
664 664
  **/
665 665
 function balise_VALEUR_dist($p) {
666
-	$b = $p->nom_boucle ?: $p->id_boucle;
667
-	$p->code = index_pile($p->id_boucle, 'valeur', $p->boucles, $b);
666
+    $b = $p->nom_boucle ?: $p->id_boucle;
667
+    $p->code = index_pile($p->id_boucle, 'valeur', $p->boucles, $b);
668 668
 ;
669
-	if (($v = interprete_argument_balise(1, $p)) !== null) {
670
-		$p->code = 'table_valeur(' . $p->code . ', ' . $v . ')';
671
-	}
672
-	$p->interdire_scripts = true;
669
+    if (($v = interprete_argument_balise(1, $p)) !== null) {
670
+        $p->code = 'table_valeur(' . $p->code . ', ' . $v . ')';
671
+    }
672
+    $p->interdire_scripts = true;
673 673
 
674
-	return $p;
674
+    return $p;
675 675
 }
676 676
 
677 677
 /**
@@ -700,16 +700,16 @@  discard block
 block discarded – undo
700 700
  *     Pile complétée par le code à générer
701 701
  **/
702 702
 function balise_EXPOSE_dist($p) {
703
-	$on = "'on'";
704
-	$off = "''";
705
-	if (($v = interprete_argument_balise(1, $p)) !== null) {
706
-		$on = $v;
707
-		if (($v = interprete_argument_balise(2, $p)) !== null) {
708
-			$off = $v;
709
-		}
710
-	}
703
+    $on = "'on'";
704
+    $off = "''";
705
+    if (($v = interprete_argument_balise(1, $p)) !== null) {
706
+        $on = $v;
707
+        if (($v = interprete_argument_balise(2, $p)) !== null) {
708
+            $off = $v;
709
+        }
710
+    }
711 711
 
712
-	return calculer_balise_expose($p, $on, $off);
712
+    return calculer_balise_expose($p, $on, $off);
713 713
 }
714 714
 
715 715
 /**
@@ -727,35 +727,35 @@  discard block
 block discarded – undo
727 727
  *     Pile complétée par le code à générer
728 728
  **/
729 729
 function calculer_balise_expose($p, $on, $off) {
730
-	$b = index_boucle($p);
731
-	if (empty($p->boucles[$b]->primary)) {
732
-		$msg = ['zbug_champ_hors_boucle', ['champ' => zbug_presenter_champ($p)]];
733
-		erreur_squelette($msg, $p);
734
-	} else {
735
-		$key = $p->boucles[$b]->primary;
736
-		$type = $p->boucles[$p->id_boucle]->primary;
737
-		$desc = $p->boucles[$b]->show;
738
-		$connect = sql_quote($p->boucles[$b]->sql_serveur);
730
+    $b = index_boucle($p);
731
+    if (empty($p->boucles[$b]->primary)) {
732
+        $msg = ['zbug_champ_hors_boucle', ['champ' => zbug_presenter_champ($p)]];
733
+        erreur_squelette($msg, $p);
734
+    } else {
735
+        $key = $p->boucles[$b]->primary;
736
+        $type = $p->boucles[$p->id_boucle]->primary;
737
+        $desc = $p->boucles[$b]->show;
738
+        $connect = sql_quote($p->boucles[$b]->sql_serveur);
739 739
 
740
-		// Ne pas utiliser champ_sql, on jongle avec le nom boucle explicite
741
-		$c = index_pile($p->id_boucle, $type, $p->boucles);
740
+        // Ne pas utiliser champ_sql, on jongle avec le nom boucle explicite
741
+        $c = index_pile($p->id_boucle, $type, $p->boucles);
742 742
 
743
-		if (isset($desc['field']['id_parent'])) {
744
-			$parent = 0; // pour if (!$parent) dans calculer_expose
745
-		} elseif (isset($desc['field']['id_rubrique'])) {
746
-			$parent = index_pile($p->id_boucle, 'id_rubrique', $p->boucles, $b);
747
-		} elseif (isset($desc['field']['id_groupe'])) {
748
-			$parent = index_pile($p->id_boucle, 'id_groupe', $p->boucles, $b);
749
-		} else {
750
-			$parent = "''";
751
-		}
743
+        if (isset($desc['field']['id_parent'])) {
744
+            $parent = 0; // pour if (!$parent) dans calculer_expose
745
+        } elseif (isset($desc['field']['id_rubrique'])) {
746
+            $parent = index_pile($p->id_boucle, 'id_rubrique', $p->boucles, $b);
747
+        } elseif (isset($desc['field']['id_groupe'])) {
748
+            $parent = index_pile($p->id_boucle, 'id_groupe', $p->boucles, $b);
749
+        } else {
750
+            $parent = "''";
751
+        }
752 752
 
753
-		$p->code = "(calcul_exposer($c, '$type', \$Pile[0], $parent, '$key', $connect) ? $on : $off)";
754
-	}
753
+        $p->code = "(calcul_exposer($c, '$type', \$Pile[0], $parent, '$key', $connect) ? $on : $off)";
754
+    }
755 755
 
756
-	$p->interdire_scripts = false;
756
+    $p->interdire_scripts = false;
757 757
 
758
-	return $p;
758
+    return $p;
759 759
 }
760 760
 
761 761
 
@@ -796,46 +796,46 @@  discard block
 block discarded – undo
796 796
  **/
797 797
 function balise_INTRODUCTION_dist($p) {
798 798
 
799
-	$type_objet = $p->type_requete;
800
-	$cle_objet = id_table_objet($type_objet);
801
-	$_id_objet = champ_sql($cle_objet, $p);
802
-
803
-	// Récupérer les valeurs sql nécessaires : descriptif, texte et chapo
804
-	// ainsi que le longueur d'introduction donnée dans la description de l'objet.
805
-	$_introduction_longueur = 'null';
806
-	$_ligne = 'array(';
807
-	$trouver_table = charger_fonction('trouver_table', 'base');
808
-	if ($desc = $trouver_table(table_objet_sql($type_objet))) {
809
-		if (isset($desc['field']['descriptif'])) {
810
-			$_ligne .= "'descriptif' => " . champ_sql('descriptif', $p) . ',';
811
-		}
812
-		if (isset($desc['field']['texte'])) {
813
-			$_ligne .= "'texte' => " . champ_sql('texte', $p) . ',';
814
-		}
815
-		if (isset($desc['field']['chapo'])) {
816
-			$_ligne .= "'chapo' => " . champ_sql('chapo', $p) . ',';
817
-		}
818
-		if (isset($desc['introduction_longueur'])) {
819
-			$_introduction_longueur = "'" . $desc['introduction_longueur'] . "'";
820
-		}
821
-	}
822
-	$_ligne .= ')';
823
-
824
-	// Récupérer la longueur et la suite passés en paramètres
825
-	$_longueur_ou_suite = 'null';
826
-	if (($v1 = interprete_argument_balise(1, $p)) !== null) {
827
-		$_longueur_ou_suite = $v1;
828
-	}
829
-	$_suite = 'null';
830
-	if (($v2 = interprete_argument_balise(2, $p)) !== null) {
831
-		$_suite = $v2;
832
-	}
833
-
834
-	$p->code = "generer_objet_introduction($_id_objet, '$type_objet', $_ligne, $_introduction_longueur, $_longueur_ou_suite, $_suite, \$connect)";
835
-
836
-	#$p->interdire_scripts = true;
837
-	$p->etoile = '*'; // propre est deja fait dans le calcul de l'intro
838
-	return $p;
799
+    $type_objet = $p->type_requete;
800
+    $cle_objet = id_table_objet($type_objet);
801
+    $_id_objet = champ_sql($cle_objet, $p);
802
+
803
+    // Récupérer les valeurs sql nécessaires : descriptif, texte et chapo
804
+    // ainsi que le longueur d'introduction donnée dans la description de l'objet.
805
+    $_introduction_longueur = 'null';
806
+    $_ligne = 'array(';
807
+    $trouver_table = charger_fonction('trouver_table', 'base');
808
+    if ($desc = $trouver_table(table_objet_sql($type_objet))) {
809
+        if (isset($desc['field']['descriptif'])) {
810
+            $_ligne .= "'descriptif' => " . champ_sql('descriptif', $p) . ',';
811
+        }
812
+        if (isset($desc['field']['texte'])) {
813
+            $_ligne .= "'texte' => " . champ_sql('texte', $p) . ',';
814
+        }
815
+        if (isset($desc['field']['chapo'])) {
816
+            $_ligne .= "'chapo' => " . champ_sql('chapo', $p) . ',';
817
+        }
818
+        if (isset($desc['introduction_longueur'])) {
819
+            $_introduction_longueur = "'" . $desc['introduction_longueur'] . "'";
820
+        }
821
+    }
822
+    $_ligne .= ')';
823
+
824
+    // Récupérer la longueur et la suite passés en paramètres
825
+    $_longueur_ou_suite = 'null';
826
+    if (($v1 = interprete_argument_balise(1, $p)) !== null) {
827
+        $_longueur_ou_suite = $v1;
828
+    }
829
+    $_suite = 'null';
830
+    if (($v2 = interprete_argument_balise(2, $p)) !== null) {
831
+        $_suite = $v2;
832
+    }
833
+
834
+    $p->code = "generer_objet_introduction($_id_objet, '$type_objet', $_ligne, $_introduction_longueur, $_longueur_ou_suite, $_suite, \$connect)";
835
+
836
+    #$p->interdire_scripts = true;
837
+    $p->etoile = '*'; // propre est deja fait dans le calcul de l'intro
838
+    return $p;
839 839
 }
840 840
 
841 841
 
@@ -855,15 +855,15 @@  discard block
 block discarded – undo
855 855
  *     Pile complétée par le code à générer
856 856
  **/
857 857
 function balise_LANG_dist($p) {
858
-	$_lang = champ_sql('lang', $p);
859
-	if (!$p->etoile) {
860
-		$p->code = "spip_htmlentities($_lang ? $_lang : \$GLOBALS['spip_lang'])";
861
-	} else {
862
-		$p->code = "spip_htmlentities($_lang)";
863
-	}
864
-	$p->interdire_scripts = false;
858
+    $_lang = champ_sql('lang', $p);
859
+    if (!$p->etoile) {
860
+        $p->code = "spip_htmlentities($_lang ? $_lang : \$GLOBALS['spip_lang'])";
861
+    } else {
862
+        $p->code = "spip_htmlentities($_lang)";
863
+    }
864
+    $p->interdire_scripts = false;
865 865
 
866
-	return $p;
866
+    return $p;
867 867
 }
868 868
 
869 869
 /**
@@ -885,45 +885,45 @@  discard block
 block discarded – undo
885 885
  *     Pile complétée par le code à générer
886 886
  */
887 887
 function balise_LESAUTEURS_dist($p) {
888
-	// Cherche le champ 'lesauteurs' dans la pile
889
-	$_lesauteurs = champ_sql('lesauteurs', $p, '');
890
-
891
-	// Si le champ n'existe pas (cas de spip_articles), on applique
892
-	// le modele lesauteurs.html en passant id_article dans le contexte;
893
-	// dans le cas contraire on prend le champ 'lesauteurs'
894
-	// (cf extension sites/)
895
-	if ($_lesauteurs) {
896
-		$p->code = "safehtml($_lesauteurs)";
897
-		// $p->interdire_scripts = true;
898
-	} else {
899
-		if (!$p->id_boucle) {
900
-			$connect = '';
901
-			$objet = 'article';
902
-			$id_table_objet = 'id_article';
903
-		} else {
904
-			$b = $p->nom_boucle ?: $p->id_boucle;
905
-			$connect = $p->boucles[$b]->sql_serveur;
906
-			$type_boucle = $p->boucles[$b]->type_requete;
907
-			$objet = objet_type($type_boucle);
908
-			$id_table_objet = id_table_objet($type_boucle);
909
-		}
910
-		$c = memoriser_contexte_compil($p);
911
-
912
-		$p->code = sprintf(
913
-			CODE_RECUPERER_FOND,
914
-			"'modeles/lesauteurs'",
915
-			"array('objet'=>'" . $objet .
916
-			"','id_objet' => " . champ_sql($id_table_objet, $p) .
917
-			",'$id_table_objet' => " . champ_sql($id_table_objet, $p) .
918
-			($objet == 'article' ? '' : ",'id_article' => " . champ_sql('id_article', $p)) .
919
-			')',
920
-			"'trim'=>true, 'compil'=>array($c)",
921
-			_q($connect)
922
-		);
923
-		$p->interdire_scripts = false; // securite apposee par recuperer_fond()
924
-	}
925
-
926
-	return $p;
888
+    // Cherche le champ 'lesauteurs' dans la pile
889
+    $_lesauteurs = champ_sql('lesauteurs', $p, '');
890
+
891
+    // Si le champ n'existe pas (cas de spip_articles), on applique
892
+    // le modele lesauteurs.html en passant id_article dans le contexte;
893
+    // dans le cas contraire on prend le champ 'lesauteurs'
894
+    // (cf extension sites/)
895
+    if ($_lesauteurs) {
896
+        $p->code = "safehtml($_lesauteurs)";
897
+        // $p->interdire_scripts = true;
898
+    } else {
899
+        if (!$p->id_boucle) {
900
+            $connect = '';
901
+            $objet = 'article';
902
+            $id_table_objet = 'id_article';
903
+        } else {
904
+            $b = $p->nom_boucle ?: $p->id_boucle;
905
+            $connect = $p->boucles[$b]->sql_serveur;
906
+            $type_boucle = $p->boucles[$b]->type_requete;
907
+            $objet = objet_type($type_boucle);
908
+            $id_table_objet = id_table_objet($type_boucle);
909
+        }
910
+        $c = memoriser_contexte_compil($p);
911
+
912
+        $p->code = sprintf(
913
+            CODE_RECUPERER_FOND,
914
+            "'modeles/lesauteurs'",
915
+            "array('objet'=>'" . $objet .
916
+            "','id_objet' => " . champ_sql($id_table_objet, $p) .
917
+            ",'$id_table_objet' => " . champ_sql($id_table_objet, $p) .
918
+            ($objet == 'article' ? '' : ",'id_article' => " . champ_sql('id_article', $p)) .
919
+            ')',
920
+            "'trim'=>true, 'compil'=>array($c)",
921
+            _q($connect)
922
+        );
923
+        $p->interdire_scripts = false; // securite apposee par recuperer_fond()
924
+    }
925
+
926
+    return $p;
927 927
 }
928 928
 
929 929
 
@@ -950,76 +950,76 @@  discard block
 block discarded – undo
950 950
  *     Pile complétée par le code à générer
951 951
  */
952 952
 function balise_RANG_dist($p) {
953
-	$b = index_boucle($p);
954
-	if ($b === '') {
955
-		$msg = [
956
-			'zbug_champ_hors_boucle',
957
-			['champ' => '#RANG']
958
-		];
959
-		erreur_squelette($msg, $p);
960
-	} else {
961
-		// chercher d'abord un champ sql rang (mais pas dans le env : defaut '' si on trouve pas de champ sql)
962
-		// dans la boucle immediatement englobante uniquement
963
-		// sinon on compose le champ calcule
964
-		$_rang = champ_sql('rang', $p, '', false);
965
-
966
-		// si pas trouve de champ sql rang :
967
-		if (!$_rang or $_rang == "''") {
968
-			$boucle = &$p->boucles[$b];
969
-
970
-			// on gere le cas ou #RANG est une extraction du numero dans le titre
971
-			$trouver_table = charger_fonction('trouver_table', 'base');
972
-			$desc = $trouver_table($boucle->id_table);
973
-			$_titre = ''; # où extraire le numero ?
974
-
975
-			if (isset($desc['titre'])) {
976
-				$t = $desc['titre'];
977
-				if (
978
-					// Soit on trouve avec la déclaration de la lang AVANT
979
-					preg_match(';(?:lang\s*,)\s*(.*?titre)\s*(,|$);', $t, $m)
980
-					// Soit on prend depuis le début
981
-					or preg_match(';^(.*?titre)\s*(,|$);', $t, $m)
982
-				) {
983
-					$m = preg_replace(',as\s+titre$,i', '', $m[1]);
984
-					$m = trim($m);
985
-					if ($m != "''") {
986
-						if (!preg_match(',\W,', $m)) {
987
-							$m = $boucle->id_table . ".$m";
988
-						}
989
-
990
-						$m .= ' AS titre_rang';
991
-
992
-						$boucle->select[] = $m;
993
-						$_titre = '$Pile[$SP][\'titre_rang\']';
994
-					}
995
-				}
996
-			}
997
-
998
-			// si on n'a rien trouvé, on utilise le champ titre classique
999
-			if (!$_titre) {
1000
-				$_titre = champ_sql('titre', $p);
1001
-			}
1002
-
1003
-			// et on recupere aussi les infos de liaison si on est en train d'editer les liens justement
1004
-			// cas des formulaires xxx_lies utilises par #FORMULAIRE_EDITER_LIENS
1005
-			$type_boucle = $boucle->type_requete;
1006
-			$objet = objet_type($type_boucle);
1007
-			$id_table_objet = id_table_objet($type_boucle);
1008
-			$_primary = champ_sql($id_table_objet, $p, '', false);
1009
-			$_env = '$Pile[0]';
1010
-
1011
-			if (!$_titre) {$_titre = "''";
1012
-			}
1013
-			if (!$_primary) {$_primary = "''";
1014
-			}
1015
-			$_rang = "calculer_rang_smart($_titre, '$objet', $_primary, $_env)";
1016
-		}
1017
-
1018
-		$p->code = $_rang;
1019
-		$p->interdire_scripts = false;
1020
-	}
1021
-
1022
-	return $p;
953
+    $b = index_boucle($p);
954
+    if ($b === '') {
955
+        $msg = [
956
+            'zbug_champ_hors_boucle',
957
+            ['champ' => '#RANG']
958
+        ];
959
+        erreur_squelette($msg, $p);
960
+    } else {
961
+        // chercher d'abord un champ sql rang (mais pas dans le env : defaut '' si on trouve pas de champ sql)
962
+        // dans la boucle immediatement englobante uniquement
963
+        // sinon on compose le champ calcule
964
+        $_rang = champ_sql('rang', $p, '', false);
965
+
966
+        // si pas trouve de champ sql rang :
967
+        if (!$_rang or $_rang == "''") {
968
+            $boucle = &$p->boucles[$b];
969
+
970
+            // on gere le cas ou #RANG est une extraction du numero dans le titre
971
+            $trouver_table = charger_fonction('trouver_table', 'base');
972
+            $desc = $trouver_table($boucle->id_table);
973
+            $_titre = ''; # où extraire le numero ?
974
+
975
+            if (isset($desc['titre'])) {
976
+                $t = $desc['titre'];
977
+                if (
978
+                    // Soit on trouve avec la déclaration de la lang AVANT
979
+                    preg_match(';(?:lang\s*,)\s*(.*?titre)\s*(,|$);', $t, $m)
980
+                    // Soit on prend depuis le début
981
+                    or preg_match(';^(.*?titre)\s*(,|$);', $t, $m)
982
+                ) {
983
+                    $m = preg_replace(',as\s+titre$,i', '', $m[1]);
984
+                    $m = trim($m);
985
+                    if ($m != "''") {
986
+                        if (!preg_match(',\W,', $m)) {
987
+                            $m = $boucle->id_table . ".$m";
988
+                        }
989
+
990
+                        $m .= ' AS titre_rang';
991
+
992
+                        $boucle->select[] = $m;
993
+                        $_titre = '$Pile[$SP][\'titre_rang\']';
994
+                    }
995
+                }
996
+            }
997
+
998
+            // si on n'a rien trouvé, on utilise le champ titre classique
999
+            if (!$_titre) {
1000
+                $_titre = champ_sql('titre', $p);
1001
+            }
1002
+
1003
+            // et on recupere aussi les infos de liaison si on est en train d'editer les liens justement
1004
+            // cas des formulaires xxx_lies utilises par #FORMULAIRE_EDITER_LIENS
1005
+            $type_boucle = $boucle->type_requete;
1006
+            $objet = objet_type($type_boucle);
1007
+            $id_table_objet = id_table_objet($type_boucle);
1008
+            $_primary = champ_sql($id_table_objet, $p, '', false);
1009
+            $_env = '$Pile[0]';
1010
+
1011
+            if (!$_titre) {$_titre = "''";
1012
+            }
1013
+            if (!$_primary) {$_primary = "''";
1014
+            }
1015
+            $_rang = "calculer_rang_smart($_titre, '$objet', $_primary, $_env)";
1016
+        }
1017
+
1018
+        $p->code = $_rang;
1019
+        $p->interdire_scripts = false;
1020
+    }
1021
+
1022
+    return $p;
1023 1023
 }
1024 1024
 
1025 1025
 
@@ -1041,12 +1041,12 @@  discard block
 block discarded – undo
1041 1041
  *     Pile complétée par le code à générer
1042 1042
  **/
1043 1043
 function balise_POPULARITE_dist($p) {
1044
-	$_popularite = champ_sql('popularite', $p);
1045
-	$p->code = "(ceil(min(100, 100 * $_popularite
1044
+    $_popularite = champ_sql('popularite', $p);
1045
+    $p->code = "(ceil(min(100, 100 * $_popularite
1046 1046
 	/ max(1 , 0 + \$GLOBALS['meta']['popularite_max']))))";
1047
-	$p->interdire_scripts = false;
1047
+    $p->interdire_scripts = false;
1048 1048
 
1049
-	return $p;
1049
+    return $p;
1050 1050
 }
1051 1051
 
1052 1052
 /**
@@ -1057,8 +1057,8 @@  discard block
 block discarded – undo
1057 1057
  * l'absence peut-être due à une faute de frappe dans le contexte inclus.
1058 1058
  */
1059 1059
 define(
1060
-	'CODE_PAGINATION',
1061
-	'%s($Numrows["%s"]["grand_total"],
1060
+    'CODE_PAGINATION',
1061
+    '%s($Numrows["%s"]["grand_total"],
1062 1062
  		%s,
1063 1063
 		isset($Pile[0][%4$s])?$Pile[0][%4$s]:intval(_request(%4$s)),
1064 1064
 		%5$s, %6$s, %7$s, %8$s, array(%9$s))'
@@ -1095,75 +1095,75 @@  discard block
 block discarded – undo
1095 1095
  *     Pile complétée par le code à générer
1096 1096
  */
1097 1097
 function balise_PAGINATION_dist($p, $liste = 'true') {
1098
-	$b = index_boucle_mere($p);
1099
-
1100
-	// s'il n'y a pas de nom de boucle, on ne peut pas paginer
1101
-	if ($b === '') {
1102
-		$msg = [
1103
-			'zbug_champ_hors_boucle',
1104
-			['champ' => $liste ? 'PAGINATION' : 'ANCRE_PAGINATION']
1105
-		];
1106
-		erreur_squelette($msg, $p);
1107
-
1108
-		return $p;
1109
-	}
1110
-
1111
-	// s'il n'y a pas de mode_partie, c'est qu'on se trouve
1112
-	// dans un boucle recursive ou qu'on a oublie le critere {pagination}
1113
-	if (!$p->boucles[$b]->mode_partie) {
1114
-		if (!$p->boucles[$b]->table_optionnelle) {
1115
-			$msg = [
1116
-				'zbug_pagination_sans_critere',
1117
-				['champ' => '#PAGINATION']
1118
-			];
1119
-			erreur_squelette($msg, $p);
1120
-		}
1121
-
1122
-		return $p;
1123
-	}
1124
-
1125
-	// a priori true
1126
-	// si false, le compilo va bloquer sur des syntaxes avec un filtre sans argument qui suit la balise
1127
-	// si true, les arguments simples (sans truc=chose) vont degager
1128
-	$_contexte = argumenter_inclure($p->param, true, $p, $p->boucles, $p->id_boucle, false, false);
1129
-	if (is_countable($_contexte) ? count($_contexte) : 0) {
1130
-		$key = key($_contexte);
1131
-		if (is_numeric($key)) {
1132
-			array_shift($_contexte);
1133
-			$__modele = interprete_argument_balise(1, $p);
1134
-		}
1135
-	}
1136
-
1137
-	if (is_countable($_contexte) ? count($_contexte) : 0) {
1138
-		$code_contexte = implode(',', $_contexte);
1139
-	} else {
1140
-		$code_contexte = '';
1141
-	}
1142
-
1143
-	$connect = $p->boucles[$b]->sql_serveur;
1144
-	$pas = $p->boucles[$b]->total_parties;
1145
-	$f_pagination = chercher_filtre('pagination');
1146
-	$type = $p->boucles[$b]->modificateur['debut_nom'];
1147
-	$modif = ($type[0] !== "'") ? "'debut'.$type"
1148
-		: ("'debut" . substr($type, 1));
1149
-
1150
-	$p->code = sprintf(
1151
-		CODE_PAGINATION,
1152
-		$f_pagination,
1153
-		$b,
1154
-		$type,
1155
-		$modif,
1156
-		$pas,
1157
-		$liste,
1158
-		((isset($__modele) and $__modele) ? $__modele : "''"),
1159
-		_q($connect),
1160
-		$code_contexte
1161
-	);
1162
-
1163
-	$p->boucles[$b]->numrows = true;
1164
-	$p->interdire_scripts = false;
1165
-
1166
-	return $p;
1098
+    $b = index_boucle_mere($p);
1099
+
1100
+    // s'il n'y a pas de nom de boucle, on ne peut pas paginer
1101
+    if ($b === '') {
1102
+        $msg = [
1103
+            'zbug_champ_hors_boucle',
1104
+            ['champ' => $liste ? 'PAGINATION' : 'ANCRE_PAGINATION']
1105
+        ];
1106
+        erreur_squelette($msg, $p);
1107
+
1108
+        return $p;
1109
+    }
1110
+
1111
+    // s'il n'y a pas de mode_partie, c'est qu'on se trouve
1112
+    // dans un boucle recursive ou qu'on a oublie le critere {pagination}
1113
+    if (!$p->boucles[$b]->mode_partie) {
1114
+        if (!$p->boucles[$b]->table_optionnelle) {
1115
+            $msg = [
1116
+                'zbug_pagination_sans_critere',
1117
+                ['champ' => '#PAGINATION']
1118
+            ];
1119
+            erreur_squelette($msg, $p);
1120
+        }
1121
+
1122
+        return $p;
1123
+    }
1124
+
1125
+    // a priori true
1126
+    // si false, le compilo va bloquer sur des syntaxes avec un filtre sans argument qui suit la balise
1127
+    // si true, les arguments simples (sans truc=chose) vont degager
1128
+    $_contexte = argumenter_inclure($p->param, true, $p, $p->boucles, $p->id_boucle, false, false);
1129
+    if (is_countable($_contexte) ? count($_contexte) : 0) {
1130
+        $key = key($_contexte);
1131
+        if (is_numeric($key)) {
1132
+            array_shift($_contexte);
1133
+            $__modele = interprete_argument_balise(1, $p);
1134
+        }
1135
+    }
1136
+
1137
+    if (is_countable($_contexte) ? count($_contexte) : 0) {
1138
+        $code_contexte = implode(',', $_contexte);
1139
+    } else {
1140
+        $code_contexte = '';
1141
+    }
1142
+
1143
+    $connect = $p->boucles[$b]->sql_serveur;
1144
+    $pas = $p->boucles[$b]->total_parties;
1145
+    $f_pagination = chercher_filtre('pagination');
1146
+    $type = $p->boucles[$b]->modificateur['debut_nom'];
1147
+    $modif = ($type[0] !== "'") ? "'debut'.$type"
1148
+        : ("'debut" . substr($type, 1));
1149
+
1150
+    $p->code = sprintf(
1151
+        CODE_PAGINATION,
1152
+        $f_pagination,
1153
+        $b,
1154
+        $type,
1155
+        $modif,
1156
+        $pas,
1157
+        $liste,
1158
+        ((isset($__modele) and $__modele) ? $__modele : "''"),
1159
+        _q($connect),
1160
+        $code_contexte
1161
+    );
1162
+
1163
+    $p->boucles[$b]->numrows = true;
1164
+    $p->interdire_scripts = false;
1165
+
1166
+    return $p;
1167 1167
 }
1168 1168
 
1169 1169
 
@@ -1190,11 +1190,11 @@  discard block
 block discarded – undo
1190 1190
  *     Pile complétée par le code à générer
1191 1191
  **/
1192 1192
 function balise_ANCRE_PAGINATION_dist($p) {
1193
-	if ($f = charger_fonction('PAGINATION', 'balise', true)) {
1194
-		return $f($p, $liste = 'false');
1195
-	} else {
1196
-		return null;
1197
-	} // ou une erreur ?
1193
+    if ($f = charger_fonction('PAGINATION', 'balise', true)) {
1194
+        return $f($p, $liste = 'false');
1195
+    } else {
1196
+        return null;
1197
+    } // ou une erreur ?
1198 1198
 }
1199 1199
 
1200 1200
 
@@ -1215,17 +1215,17 @@  discard block
 block discarded – undo
1215 1215
  *     Pile complétée par le code à générer
1216 1216
  **/
1217 1217
 function balise_GRAND_TOTAL_dist($p) {
1218
-	$b = index_boucle_mere($p);
1219
-	if ($b === '') {
1220
-		$msg = ['zbug_champ_hors_boucle', ['champ' => zbug_presenter_champ($p)]];
1221
-		erreur_squelette($msg, $p);
1222
-	} else {
1223
-		$p->code = "(\$Numrows['$b']['grand_total'] ?? \$Numrows['$b']['total'] ?? 0)";
1224
-		$p->boucles[$b]->numrows = true;
1225
-		$p->interdire_scripts = false;
1226
-	}
1218
+    $b = index_boucle_mere($p);
1219
+    if ($b === '') {
1220
+        $msg = ['zbug_champ_hors_boucle', ['champ' => zbug_presenter_champ($p)]];
1221
+        erreur_squelette($msg, $p);
1222
+    } else {
1223
+        $p->code = "(\$Numrows['$b']['grand_total'] ?? \$Numrows['$b']['total'] ?? 0)";
1224
+        $p->boucles[$b]->numrows = true;
1225
+        $p->interdire_scripts = false;
1226
+    }
1227 1227
 
1228
-	return $p;
1228
+    return $p;
1229 1229
 }
1230 1230
 
1231 1231
 
@@ -1253,10 +1253,10 @@  discard block
 block discarded – undo
1253 1253
  *     Pile complétée par le code à générer
1254 1254
  **/
1255 1255
 function balise_SELF_dist($p) {
1256
-	$p->code = 'self()';
1257
-	$p->interdire_scripts = false;
1256
+    $p->code = 'self()';
1257
+    $p->interdire_scripts = false;
1258 1258
 
1259
-	return $p;
1259
+    return $p;
1260 1260
 }
1261 1261
 
1262 1262
 
@@ -1283,17 +1283,17 @@  discard block
 block discarded – undo
1283 1283
  *     Pile complétée par le code à générer
1284 1284
  **/
1285 1285
 function balise_CHEMIN_dist($p) {
1286
-	$arg = interprete_argument_balise(1, $p);
1287
-	if (!$arg) {
1288
-		$msg = ['zbug_balise_sans_argument', ['balise' => ' CHEMIN']];
1289
-		erreur_squelette($msg, $p);
1290
-	} else {
1291
-		$p->code = 'find_in_path((string)' . $arg . ')';
1292
-	}
1286
+    $arg = interprete_argument_balise(1, $p);
1287
+    if (!$arg) {
1288
+        $msg = ['zbug_balise_sans_argument', ['balise' => ' CHEMIN']];
1289
+        erreur_squelette($msg, $p);
1290
+    } else {
1291
+        $p->code = 'find_in_path((string)' . $arg . ')';
1292
+    }
1293 1293
 
1294
-	$p->interdire_scripts = false;
1294
+    $p->interdire_scripts = false;
1295 1295
 
1296
-	return $p;
1296
+    return $p;
1297 1297
 }
1298 1298
 
1299 1299
 /**
@@ -1318,16 +1318,16 @@  discard block
 block discarded – undo
1318 1318
  *     Pile complétée par le code à générer
1319 1319
  **/
1320 1320
 function balise_CHEMIN_IMAGE_dist($p) {
1321
-	$arg = interprete_argument_balise(1, $p);
1322
-	if (!$arg) {
1323
-		$msg = ['zbug_balise_sans_argument', ['balise' => ' CHEMIN_IMAGE']];
1324
-		erreur_squelette($msg, $p);
1325
-	} else {
1326
-		$p->code = 'chemin_image((string)' . $arg . ')';
1327
-	}
1321
+    $arg = interprete_argument_balise(1, $p);
1322
+    if (!$arg) {
1323
+        $msg = ['zbug_balise_sans_argument', ['balise' => ' CHEMIN_IMAGE']];
1324
+        erreur_squelette($msg, $p);
1325
+    } else {
1326
+        $p->code = 'chemin_image((string)' . $arg . ')';
1327
+    }
1328 1328
 
1329
-	$p->interdire_scripts = false;
1330
-	return $p;
1329
+    $p->interdire_scripts = false;
1330
+    return $p;
1331 1331
 }
1332 1332
 
1333 1333
 
@@ -1365,36 +1365,36 @@  discard block
 block discarded – undo
1365 1365
  **/
1366 1366
 function balise_ENV_dist($p, $src = null) {
1367 1367
 
1368
-	// cle du tableau desiree
1369
-	$_nom = interprete_argument_balise(1, $p);
1370
-	// valeur par defaut
1371
-	$_sinon = interprete_argument_balise(2, $p);
1368
+    // cle du tableau desiree
1369
+    $_nom = interprete_argument_balise(1, $p);
1370
+    // valeur par defaut
1371
+    $_sinon = interprete_argument_balise(2, $p);
1372 1372
 
1373
-	// $src est un tableau de donnees sources eventuellement transmis
1374
-	// en absence, on utilise l'environnement du squelette $Pile[0]
1373
+    // $src est un tableau de donnees sources eventuellement transmis
1374
+    // en absence, on utilise l'environnement du squelette $Pile[0]
1375 1375
 
1376
-	if (!$_nom) {
1377
-		// cas de #ENV sans argument : on retourne le serialize() du tableau
1378
-		// une belle fonction [(#ENV|affiche_env)] serait pratique
1379
-		if ($src) {
1380
-			$p->code = '(is_array($a = (' . $src . ')) ? serialize($a) : "")';
1381
-		} else {
1382
-			$p->code = 'serialize($Pile[0]??[])';
1383
-		}
1384
-	} else {
1385
-		if (!$src) {
1386
-			$src = '$Pile[0]??[]';
1387
-		}
1388
-		if ($_sinon) {
1389
-			$p->code = "sinon(table_valeur($src, (string)$_nom, null), $_sinon)";
1390
-		} else {
1391
-			$p->code = "table_valeur($src, (string)$_nom, null)";
1392
-		}
1393
-	}
1376
+    if (!$_nom) {
1377
+        // cas de #ENV sans argument : on retourne le serialize() du tableau
1378
+        // une belle fonction [(#ENV|affiche_env)] serait pratique
1379
+        if ($src) {
1380
+            $p->code = '(is_array($a = (' . $src . ')) ? serialize($a) : "")';
1381
+        } else {
1382
+            $p->code = 'serialize($Pile[0]??[])';
1383
+        }
1384
+    } else {
1385
+        if (!$src) {
1386
+            $src = '$Pile[0]??[]';
1387
+        }
1388
+        if ($_sinon) {
1389
+            $p->code = "sinon(table_valeur($src, (string)$_nom, null), $_sinon)";
1390
+        } else {
1391
+            $p->code = "table_valeur($src, (string)$_nom, null)";
1392
+        }
1393
+    }
1394 1394
 
1395
-	#$p->interdire_scripts = true;
1395
+    #$p->interdire_scripts = true;
1396 1396
 
1397
-	return $p;
1397
+    return $p;
1398 1398
 }
1399 1399
 
1400 1400
 /**
@@ -1424,16 +1424,16 @@  discard block
 block discarded – undo
1424 1424
  *     Pile completée du code PHP d'exécution de la balise
1425 1425
  */
1426 1426
 function balise_CONFIG_dist($p) {
1427
-	if (!$arg = interprete_argument_balise(1, $p)) {
1428
-		$arg = "''";
1429
-	}
1430
-	$_sinon = interprete_argument_balise(2, $p);
1431
-	$_unserialize = sinon(interprete_argument_balise(3, $p), 'false');
1427
+    if (!$arg = interprete_argument_balise(1, $p)) {
1428
+        $arg = "''";
1429
+    }
1430
+    $_sinon = interprete_argument_balise(2, $p);
1431
+    $_unserialize = sinon(interprete_argument_balise(3, $p), 'false');
1432 1432
 
1433
-	$p->code = '(include_spip(\'inc/config\')?lire_config(' . $arg . ',' .
1434
-		($_sinon && $_sinon != "''" ? $_sinon : 'null') . ',' . $_unserialize . "):'')";
1433
+    $p->code = '(include_spip(\'inc/config\')?lire_config(' . $arg . ',' .
1434
+        ($_sinon && $_sinon != "''" ? $_sinon : 'null') . ',' . $_unserialize . "):'')";
1435 1435
 
1436
-	return $p;
1436
+    return $p;
1437 1437
 }
1438 1438
 
1439 1439
 
@@ -1456,10 +1456,10 @@  discard block
 block discarded – undo
1456 1456
  *     Pile completée du code PHP d'exécution de la balise
1457 1457
  */
1458 1458
 function balise_CONNECT_dist($p) {
1459
-	$p->code = '($connect ? $connect : NULL)';
1460
-	$p->interdire_scripts = false;
1459
+    $p->code = '($connect ? $connect : NULL)';
1460
+    $p->interdire_scripts = false;
1461 1461
 
1462
-	return $p;
1462
+    return $p;
1463 1463
 }
1464 1464
 
1465 1465
 
@@ -1487,15 +1487,15 @@  discard block
 block discarded – undo
1487 1487
  *     Pile completée du code PHP d'exécution de la balise
1488 1488
  **/
1489 1489
 function balise_SESSION_dist($p) {
1490
-	$p->descr['session'] = true;
1490
+    $p->descr['session'] = true;
1491 1491
 
1492
-	$f = function_exists('balise_ENV')
1493
-		? 'balise_ENV'
1494
-		: 'balise_ENV_dist';
1492
+    $f = function_exists('balise_ENV')
1493
+        ? 'balise_ENV'
1494
+        : 'balise_ENV_dist';
1495 1495
 
1496
-	$p = $f($p, '$GLOBALS["visiteur_session"]??[]');
1496
+    $p = $f($p, '$GLOBALS["visiteur_session"]??[]');
1497 1497
 
1498
-	return $p;
1498
+    return $p;
1499 1499
 }
1500 1500
 
1501 1501
 
@@ -1518,18 +1518,18 @@  discard block
 block discarded – undo
1518 1518
  *     Pile completée du code PHP d'exécution de la balise
1519 1519
  **/
1520 1520
 function balise_SESSION_SET_dist($p) {
1521
-	$_nom = interprete_argument_balise(1, $p);
1522
-	$_val = interprete_argument_balise(2, $p);
1523
-	if (!$_nom or !$_val) {
1524
-		$err_b_s_a = ['zbug_balise_sans_argument', ['balise' => 'SESSION_SET']];
1525
-		erreur_squelette($err_b_s_a, $p);
1526
-	} else {
1527
-		$p->code = '(include_spip("inc/session") AND session_set(' . $_nom . ',' . $_val . '))';
1528
-	}
1521
+    $_nom = interprete_argument_balise(1, $p);
1522
+    $_val = interprete_argument_balise(2, $p);
1523
+    if (!$_nom or !$_val) {
1524
+        $err_b_s_a = ['zbug_balise_sans_argument', ['balise' => 'SESSION_SET']];
1525
+        erreur_squelette($err_b_s_a, $p);
1526
+    } else {
1527
+        $p->code = '(include_spip("inc/session") AND session_set(' . $_nom . ',' . $_val . '))';
1528
+    }
1529 1529
 
1530
-	$p->interdire_scripts = false;
1530
+    $p->interdire_scripts = false;
1531 1531
 
1532
-	return $p;
1532
+    return $p;
1533 1533
 }
1534 1534
 
1535 1535
 
@@ -1560,30 +1560,30 @@  discard block
 block discarded – undo
1560 1560
  *     Pile completée du code PHP d'exécution de la balise
1561 1561
  **/
1562 1562
 function balise_EVAL_dist($p) {
1563
-	$php = interprete_argument_balise(1, $p);
1564
-	if ($php) {
1565
-		# optimisation sur les #EVAL{une expression sans #BALISE}
1566
-		# attention au commentaire "// x signes" qui precede
1567
-		if (
1568
-			preg_match(
1569
-				",^([[:space:]]*//[^\n]*\n)'([^']+)'$,ms",
1570
-				$php,
1571
-				$r
1572
-			)
1573
-		) {
1574
-			$p->code = /* $r[1]. */
1575
-				'(' . $r[2] . ')';
1576
-		} else {
1577
-			$p->code = "eval('return '.$php.';')";
1578
-		}
1579
-	} else {
1580
-		$msg = ['zbug_balise_sans_argument', ['balise' => ' EVAL']];
1581
-		erreur_squelette($msg, $p);
1582
-	}
1583
-
1584
-	#$p->interdire_scripts = true;
1585
-
1586
-	return $p;
1563
+    $php = interprete_argument_balise(1, $p);
1564
+    if ($php) {
1565
+        # optimisation sur les #EVAL{une expression sans #BALISE}
1566
+        # attention au commentaire "// x signes" qui precede
1567
+        if (
1568
+            preg_match(
1569
+                ",^([[:space:]]*//[^\n]*\n)'([^']+)'$,ms",
1570
+                $php,
1571
+                $r
1572
+            )
1573
+        ) {
1574
+            $p->code = /* $r[1]. */
1575
+                '(' . $r[2] . ')';
1576
+        } else {
1577
+            $p->code = "eval('return '.$php.';')";
1578
+        }
1579
+    } else {
1580
+        $msg = ['zbug_balise_sans_argument', ['balise' => ' EVAL']];
1581
+        erreur_squelette($msg, $p);
1582
+    }
1583
+
1584
+    #$p->interdire_scripts = true;
1585
+
1586
+    return $p;
1587 1587
 }
1588 1588
 
1589 1589
 
@@ -1613,19 +1613,19 @@  discard block
 block discarded – undo
1613 1613
  **/
1614 1614
 function balise_CHAMP_SQL_dist($p) {
1615 1615
 
1616
-	if (
1617
-		$p->param
1618
-		and isset($p->param[0][1][0])
1619
-		and $champ = ($p->param[0][1][0]->texte)
1620
-	) {
1621
-		$p->code = champ_sql($champ, $p);
1622
-	} else {
1623
-		$err_b_s_a = ['zbug_balise_sans_argument', ['balise' => ' CHAMP_SQL']];
1624
-		erreur_squelette($err_b_s_a, $p);
1625
-	}
1616
+    if (
1617
+        $p->param
1618
+        and isset($p->param[0][1][0])
1619
+        and $champ = ($p->param[0][1][0]->texte)
1620
+    ) {
1621
+        $p->code = champ_sql($champ, $p);
1622
+    } else {
1623
+        $err_b_s_a = ['zbug_balise_sans_argument', ['balise' => ' CHAMP_SQL']];
1624
+        erreur_squelette($err_b_s_a, $p);
1625
+    }
1626 1626
 
1627
-	#$p->interdire_scripts = true;
1628
-	return $p;
1627
+    #$p->interdire_scripts = true;
1628
+    return $p;
1629 1629
 }
1630 1630
 
1631 1631
 /**
@@ -1651,13 +1651,13 @@  discard block
 block discarded – undo
1651 1651
  *     Pile complétée par le code à générer
1652 1652
  **/
1653 1653
 function balise_VAL_dist($p) {
1654
-	$p->code = interprete_argument_balise(1, $p) ?? '';
1655
-	if (!strlen($p->code)) {
1656
-		$p->code = "''";
1657
-	}
1658
-	$p->interdire_scripts = false;
1654
+    $p->code = interprete_argument_balise(1, $p) ?? '';
1655
+    if (!strlen($p->code)) {
1656
+        $p->code = "''";
1657
+    }
1658
+    $p->interdire_scripts = false;
1659 1659
 
1660
-	return $p;
1660
+    return $p;
1661 1661
 }
1662 1662
 
1663 1663
 /**
@@ -1686,10 +1686,10 @@  discard block
 block discarded – undo
1686 1686
  *     Pile complétée par le code à générer
1687 1687
  **/
1688 1688
 function balise_REM_dist($p) {
1689
-	$p->code = "''";
1690
-	$p->interdire_scripts = false;
1689
+    $p->code = "''";
1690
+    $p->interdire_scripts = false;
1691 1691
 
1692
-	return $p;
1692
+    return $p;
1693 1693
 }
1694 1694
 
1695 1695
 /**
@@ -1699,10 +1699,10 @@  discard block
 block discarded – undo
1699 1699
  * @return mixed
1700 1700
  */
1701 1701
 function balise_NULL_dist($p) {
1702
-	$p->code = 'null';
1703
-	$p->interdire_scripts = false;
1702
+    $p->code = 'null';
1703
+    $p->interdire_scripts = false;
1704 1704
 
1705
-	return $p;
1705
+    return $p;
1706 1706
 }
1707 1707
 
1708 1708
 
@@ -1726,18 +1726,18 @@  discard block
 block discarded – undo
1726 1726
  **/
1727 1727
 function balise_HTTP_HEADER_dist($p) {
1728 1728
 
1729
-	$header = interprete_argument_balise(1, $p);
1730
-	if (!$header) {
1731
-		$err_b_s_a = ['zbug_balise_sans_argument', ['balise' => 'HTTP_HEADER']];
1732
-		erreur_squelette($err_b_s_a, $p);
1733
-	} else {
1734
-		$p->code = "'<'.'?php header(' . _q("
1735
-			. $header
1736
-			. ") . '); ?'.'>'";
1737
-	}
1738
-	$p->interdire_scripts = false;
1729
+    $header = interprete_argument_balise(1, $p);
1730
+    if (!$header) {
1731
+        $err_b_s_a = ['zbug_balise_sans_argument', ['balise' => 'HTTP_HEADER']];
1732
+        erreur_squelette($err_b_s_a, $p);
1733
+    } else {
1734
+        $p->code = "'<'.'?php header(' . _q("
1735
+            . $header
1736
+            . ") . '); ?'.'>'";
1737
+    }
1738
+    $p->interdire_scripts = false;
1739 1739
 
1740
-	return $p;
1740
+    return $p;
1741 1741
 }
1742 1742
 
1743 1743
 
@@ -1762,22 +1762,22 @@  discard block
 block discarded – undo
1762 1762
  *     Pile complétée par le code à générer
1763 1763
  **/
1764 1764
 function balise_FILTRE_dist($p) {
1765
-	if ($p->param) {
1766
-		$args = [];
1767
-		foreach ($p->param as $i => $ignore) {
1768
-			$args[] = interprete_argument_balise($i + 1, $p);
1769
-		}
1770
-		$p->code = "'<' . '"
1771
-			. '?php header("X-Spip-Filtre: \'.'
1772
-			. join('.\'|\'.', $args)
1773
-			. " . '\"); ?'.'>'";
1765
+    if ($p->param) {
1766
+        $args = [];
1767
+        foreach ($p->param as $i => $ignore) {
1768
+            $args[] = interprete_argument_balise($i + 1, $p);
1769
+        }
1770
+        $p->code = "'<' . '"
1771
+            . '?php header("X-Spip-Filtre: \'.'
1772
+            . join('.\'|\'.', $args)
1773
+            . " . '\"); ?'.'>'";
1774 1774
 
1775
-		$p->interdire_scripts = false;
1775
+        $p->interdire_scripts = false;
1776 1776
 
1777
-		return $p;
1778
-	}
1777
+        return $p;
1778
+    }
1779 1779
 
1780
-	return null;
1780
+    return null;
1781 1781
 }
1782 1782
 
1783 1783
 
@@ -1813,55 +1813,55 @@  discard block
 block discarded – undo
1813 1813
  **/
1814 1814
 function balise_CACHE_dist($p) {
1815 1815
 
1816
-	if ($p->param) {
1817
-		$duree = valeur_numerique($p->param[0][1][0]->texte);
1818
-
1819
-		// noter la duree du cache dans un entete proprietaire
1820
-
1821
-		$code = "'<'.'" . '?php header("X-Spip-Cache: '
1822
-			. $duree
1823
-			. '"); ?' . "'.'>'";
1824
-
1825
-		// Remplir le header Cache-Control
1826
-		// cas #CACHE{0}
1827
-		if ($duree == 0) {
1828
-			$code .= ".'<'.'"
1829
-				. '?php header("Cache-Control: no-cache, must-revalidate"); ?'
1830
-				. "'.'><'.'"
1831
-				. '?php header("Pragma: no-cache"); ?'
1832
-				. "'.'>'";
1833
-		}
1834
-
1835
-		// recuperer les parametres suivants
1836
-		$i = 1;
1837
-		while (isset($p->param[0][++$i])) {
1838
-			$pa = ($p->param[0][$i][0]->texte);
1839
-
1840
-			if (
1841
-				$pa == 'cache-client'
1842
-				and $duree > 0
1843
-			) {
1844
-				$code .= ".'<'.'" . '?php header("Cache-Control: max-age='
1845
-					. $duree
1846
-					. '"); ?' . "'.'>'";
1847
-				// il semble logique, si on cache-client, de ne pas invalider
1848
-				$pa = 'statique';
1849
-			}
1850
-
1851
-			if (
1852
-				$pa == 'statique'
1853
-				and $duree > 0
1854
-			) {
1855
-				$code .= ".'<'.'" . '?php header("X-Spip-Statique: oui"); ?' . "'.'>'";
1856
-			}
1857
-		}
1858
-	} else {
1859
-		$code = "''";
1860
-	}
1861
-	$p->code = $code;
1862
-	$p->interdire_scripts = false;
1863
-
1864
-	return $p;
1816
+    if ($p->param) {
1817
+        $duree = valeur_numerique($p->param[0][1][0]->texte);
1818
+
1819
+        // noter la duree du cache dans un entete proprietaire
1820
+
1821
+        $code = "'<'.'" . '?php header("X-Spip-Cache: '
1822
+            . $duree
1823
+            . '"); ?' . "'.'>'";
1824
+
1825
+        // Remplir le header Cache-Control
1826
+        // cas #CACHE{0}
1827
+        if ($duree == 0) {
1828
+            $code .= ".'<'.'"
1829
+                . '?php header("Cache-Control: no-cache, must-revalidate"); ?'
1830
+                . "'.'><'.'"
1831
+                . '?php header("Pragma: no-cache"); ?'
1832
+                . "'.'>'";
1833
+        }
1834
+
1835
+        // recuperer les parametres suivants
1836
+        $i = 1;
1837
+        while (isset($p->param[0][++$i])) {
1838
+            $pa = ($p->param[0][$i][0]->texte);
1839
+
1840
+            if (
1841
+                $pa == 'cache-client'
1842
+                and $duree > 0
1843
+            ) {
1844
+                $code .= ".'<'.'" . '?php header("Cache-Control: max-age='
1845
+                    . $duree
1846
+                    . '"); ?' . "'.'>'";
1847
+                // il semble logique, si on cache-client, de ne pas invalider
1848
+                $pa = 'statique';
1849
+            }
1850
+
1851
+            if (
1852
+                $pa == 'statique'
1853
+                and $duree > 0
1854
+            ) {
1855
+                $code .= ".'<'.'" . '?php header("X-Spip-Statique: oui"); ?' . "'.'>'";
1856
+            }
1857
+        }
1858
+    } else {
1859
+        $code = "''";
1860
+    }
1861
+    $p->code = $code;
1862
+    $p->interdire_scripts = false;
1863
+
1864
+    return $p;
1865 1865
 }
1866 1866
 
1867 1867
 
@@ -1893,13 +1893,13 @@  discard block
 block discarded – undo
1893 1893
  *     Pile complétée par le code à générer
1894 1894
  */
1895 1895
 function balise_INSERT_HEAD_dist($p) {
1896
-	$p->code = "'<'.'"
1897
-		. '?php header("X-Spip-Filtre: insert_head_css_conditionnel"); ?'
1898
-		. "'.'>'";
1899
-	$p->code .= ". pipeline('insert_head','<!-- insert_head -->')";
1900
-	$p->interdire_scripts = false;
1896
+    $p->code = "'<'.'"
1897
+        . '?php header("X-Spip-Filtre: insert_head_css_conditionnel"); ?'
1898
+        . "'.'>'";
1899
+    $p->code .= ". pipeline('insert_head','<!-- insert_head -->')";
1900
+    $p->interdire_scripts = false;
1901 1901
 
1902
-	return $p;
1902
+    return $p;
1903 1903
 }
1904 1904
 
1905 1905
 /**
@@ -1917,10 +1917,10 @@  discard block
 block discarded – undo
1917 1917
  *     Pile complétée par le code à générer
1918 1918
  */
1919 1919
 function balise_INSERT_HEAD_CSS_dist($p) {
1920
-	$p->code = "pipeline('insert_head_css','<!-- insert_head_css -->')";
1921
-	$p->interdire_scripts = false;
1920
+    $p->code = "pipeline('insert_head_css','<!-- insert_head_css -->')";
1921
+    $p->interdire_scripts = false;
1922 1922
 
1923
-	return $p;
1923
+    return $p;
1924 1924
 }
1925 1925
 
1926 1926
 /**
@@ -1935,11 +1935,11 @@  discard block
 block discarded – undo
1935 1935
  *     Pile complétée par le code à générer
1936 1936
  **/
1937 1937
 function balise_INCLUDE_dist($p) {
1938
-	if (function_exists('balise_INCLURE')) {
1939
-		return balise_INCLURE($p);
1940
-	} else {
1941
-		return balise_INCLURE_dist($p);
1942
-	}
1938
+    if (function_exists('balise_INCLURE')) {
1939
+        return balise_INCLURE($p);
1940
+    } else {
1941
+        return balise_INCLURE_dist($p);
1942
+    }
1943 1943
 }
1944 1944
 
1945 1945
 /**
@@ -1973,66 +1973,66 @@  discard block
 block discarded – undo
1973 1973
  *     Pile complétée par le code à générer
1974 1974
  **/
1975 1975
 function balise_INCLURE_dist($p) {
1976
-	$id_boucle = $p->id_boucle;
1977
-	// la lang n'est pas passe de facon automatique par argumenter
1978
-	// mais le sera pas recuperer_fond, sauf si etoile=>true est passe
1979
-	// en option
1980
-
1981
-	$_contexte = argumenter_inclure($p->param, true, $p, $p->boucles, $id_boucle, false, false);
1982
-
1983
-	// erreur de syntaxe = fond absent
1984
-	// (2 messages d'erreur SPIP pour le prix d'un, mais pas d'erreur PHP
1985
-	if (!$_contexte) {
1986
-		$_contexte = [];
1987
-	}
1988
-
1989
-	if (isset($_contexte['fond'])) {
1990
-		$f = $_contexte['fond'];
1991
-		// toujours vrai :
1992
-		if (preg_match('/^.fond.\s*=>(.*)$/s', $f, $r)) {
1993
-			$f = $r[1];
1994
-			unset($_contexte['fond']);
1995
-		} else {
1996
-			spip_log('compilation de #INCLURE a revoir');
1997
-		}
1998
-
1999
-		// #INCLURE{doublons}
2000
-		if (isset($_contexte['doublons'])) {
2001
-			$_contexte['doublons'] = "'doublons' => \$doublons";
2002
-		}
2003
-
2004
-		// Critere d'inclusion {env} (et {self} pour compatibilite ascendante)
2005
-		$flag_env = false;
2006
-		if (isset($_contexte['env']) or isset($_contexte['self'])) {
2007
-			$flag_env = true;
2008
-			unset($_contexte['env']);
2009
-		}
2010
-
2011
-		$_options = [];
2012
-		if (isset($_contexte['ajax'])) {
2013
-			$_options[] = preg_replace(',=>(.*)$,ims', '=> ($v=(\\1))?$v:true', $_contexte['ajax']);
2014
-			unset($_contexte['ajax']);
2015
-		}
2016
-		if ($p->etoile) {
2017
-			$_options[] = "'etoile'=>true";
2018
-		}
2019
-		$_options[] = "'compil'=>array(" . memoriser_contexte_compil($p) . ')';
2020
-
2021
-		$_l = 'array(' . join(",\n\t", $_contexte) . ')';
2022
-		if ($flag_env) {
2023
-			$_l = "array_merge(\$Pile[0],$_l)";
2024
-		}
2025
-
2026
-		$p->code = sprintf(CODE_RECUPERER_FOND, $f, $_l, join(',', $_options), "_request('connect') ?? ''");
2027
-	} elseif (!isset($_contexte[1])) {
2028
-		$msg = ['zbug_balise_sans_argument', ['balise' => ' INCLURE']];
2029
-		erreur_squelette($msg, $p);
2030
-	} else {
2031
-		$p->code = 'charge_scripts(' . $_contexte[1] . ',false)';
2032
-	}
2033
-
2034
-	$p->interdire_scripts = false; // la securite est assuree par recuperer_fond
2035
-	return $p;
1976
+    $id_boucle = $p->id_boucle;
1977
+    // la lang n'est pas passe de facon automatique par argumenter
1978
+    // mais le sera pas recuperer_fond, sauf si etoile=>true est passe
1979
+    // en option
1980
+
1981
+    $_contexte = argumenter_inclure($p->param, true, $p, $p->boucles, $id_boucle, false, false);
1982
+
1983
+    // erreur de syntaxe = fond absent
1984
+    // (2 messages d'erreur SPIP pour le prix d'un, mais pas d'erreur PHP
1985
+    if (!$_contexte) {
1986
+        $_contexte = [];
1987
+    }
1988
+
1989
+    if (isset($_contexte['fond'])) {
1990
+        $f = $_contexte['fond'];
1991
+        // toujours vrai :
1992
+        if (preg_match('/^.fond.\s*=>(.*)$/s', $f, $r)) {
1993
+            $f = $r[1];
1994
+            unset($_contexte['fond']);
1995
+        } else {
1996
+            spip_log('compilation de #INCLURE a revoir');
1997
+        }
1998
+
1999
+        // #INCLURE{doublons}
2000
+        if (isset($_contexte['doublons'])) {
2001
+            $_contexte['doublons'] = "'doublons' => \$doublons";
2002
+        }
2003
+
2004
+        // Critere d'inclusion {env} (et {self} pour compatibilite ascendante)
2005
+        $flag_env = false;
2006
+        if (isset($_contexte['env']) or isset($_contexte['self'])) {
2007
+            $flag_env = true;
2008
+            unset($_contexte['env']);
2009
+        }
2010
+
2011
+        $_options = [];
2012
+        if (isset($_contexte['ajax'])) {
2013
+            $_options[] = preg_replace(',=>(.*)$,ims', '=> ($v=(\\1))?$v:true', $_contexte['ajax']);
2014
+            unset($_contexte['ajax']);
2015
+        }
2016
+        if ($p->etoile) {
2017
+            $_options[] = "'etoile'=>true";
2018
+        }
2019
+        $_options[] = "'compil'=>array(" . memoriser_contexte_compil($p) . ')';
2020
+
2021
+        $_l = 'array(' . join(",\n\t", $_contexte) . ')';
2022
+        if ($flag_env) {
2023
+            $_l = "array_merge(\$Pile[0],$_l)";
2024
+        }
2025
+
2026
+        $p->code = sprintf(CODE_RECUPERER_FOND, $f, $_l, join(',', $_options), "_request('connect') ?? ''");
2027
+    } elseif (!isset($_contexte[1])) {
2028
+        $msg = ['zbug_balise_sans_argument', ['balise' => ' INCLURE']];
2029
+        erreur_squelette($msg, $p);
2030
+    } else {
2031
+        $p->code = 'charge_scripts(' . $_contexte[1] . ',false)';
2032
+    }
2033
+
2034
+    $p->interdire_scripts = false; // la securite est assuree par recuperer_fond
2035
+    return $p;
2036 2036
 }
2037 2037
 
2038 2038
 
@@ -2060,69 +2060,69 @@  discard block
 block discarded – undo
2060 2060
  **/
2061 2061
 function balise_MODELE_dist($p) {
2062 2062
 
2063
-	$_contexte = argumenter_inclure($p->param, true, $p, $p->boucles, $p->id_boucle, false);
2064
-
2065
-	// erreur de syntaxe = fond absent
2066
-	// (2 messages d'erreur SPIP pour le prix d'un, mais pas d'erreur PHP
2067
-	if (!$_contexte) {
2068
-		$_contexte = [];
2069
-	}
2070
-
2071
-	if (!isset($_contexte[1])) {
2072
-		$msg = ['zbug_balise_sans_argument', ['balise' => ' MODELE']];
2073
-		erreur_squelette($msg, $p);
2074
-	} else {
2075
-		$nom = $_contexte[1];
2076
-		unset($_contexte[1]);
2077
-
2078
-		if (preg_match("/^\s*'[^']*'/s", $nom)) {
2079
-			$nom = "'modeles/" . substr($nom, 1);
2080
-		} else {
2081
-			$nom = "'modeles/' . $nom";
2082
-		}
2083
-
2084
-		$flag_env = false;
2085
-		if (isset($_contexte['env'])) {
2086
-			$flag_env = true;
2087
-			unset($_contexte['env']);
2088
-		}
2089
-
2090
-		// Incoherence dans la syntaxe du contexte. A revoir.
2091
-		// Reserver la cle primaire de la boucle courante si elle existe
2092
-		if (isset($p->boucles[$p->id_boucle]->primary)) {
2093
-			$primary = $p->boucles[$p->id_boucle]->primary;
2094
-			if (!strpos($primary, ',')) {
2095
-				$id = champ_sql($primary, $p);
2096
-				$_contexte[] = "'$primary'=>" . $id;
2097
-				$_contexte[] = "'id'=>" . $id;
2098
-			}
2099
-		}
2100
-		$_contexte[] = "'recurs'=>(++\$recurs)";
2101
-		$connect = '';
2102
-		if (isset($p->boucles[$p->id_boucle])) {
2103
-			$connect = $p->boucles[$p->id_boucle]->sql_serveur;
2104
-		}
2105
-
2106
-		$_options = memoriser_contexte_compil($p);
2107
-		$_options = "'compil'=>array($_options), 'trim'=>true";
2108
-		if (isset($_contexte['ajax'])) {
2109
-			$_options .= ', ' . preg_replace(',=>(.*)$,ims', '=> ($v=(\\1))?$v:true', $_contexte['ajax']);
2110
-			unset($_contexte['ajax']);
2111
-		}
2112
-
2113
-		$_l = 'array(' . join(",\n\t", $_contexte) . ')';
2114
-		if ($flag_env) {
2115
-			$_l = "array_merge(\$Pile[0],$_l)";
2116
-		}
2117
-
2118
-		$page = sprintf(CODE_RECUPERER_FOND, $nom, $_l, $_options, _q($connect));
2119
-
2120
-		$p->code = "\n\t(((\$recurs=(isset(\$Pile[0]['recurs'])?\$Pile[0]['recurs']:0))>=5)? '' :\n\t$page)\n";
2121
-
2122
-		$p->interdire_scripts = false; // securite assuree par le squelette
2123
-	}
2124
-
2125
-	return $p;
2063
+    $_contexte = argumenter_inclure($p->param, true, $p, $p->boucles, $p->id_boucle, false);
2064
+
2065
+    // erreur de syntaxe = fond absent
2066
+    // (2 messages d'erreur SPIP pour le prix d'un, mais pas d'erreur PHP
2067
+    if (!$_contexte) {
2068
+        $_contexte = [];
2069
+    }
2070
+
2071
+    if (!isset($_contexte[1])) {
2072
+        $msg = ['zbug_balise_sans_argument', ['balise' => ' MODELE']];
2073
+        erreur_squelette($msg, $p);
2074
+    } else {
2075
+        $nom = $_contexte[1];
2076
+        unset($_contexte[1]);
2077
+
2078
+        if (preg_match("/^\s*'[^']*'/s", $nom)) {
2079
+            $nom = "'modeles/" . substr($nom, 1);
2080
+        } else {
2081
+            $nom = "'modeles/' . $nom";
2082
+        }
2083
+
2084
+        $flag_env = false;
2085
+        if (isset($_contexte['env'])) {
2086
+            $flag_env = true;
2087
+            unset($_contexte['env']);
2088
+        }
2089
+
2090
+        // Incoherence dans la syntaxe du contexte. A revoir.
2091
+        // Reserver la cle primaire de la boucle courante si elle existe
2092
+        if (isset($p->boucles[$p->id_boucle]->primary)) {
2093
+            $primary = $p->boucles[$p->id_boucle]->primary;
2094
+            if (!strpos($primary, ',')) {
2095
+                $id = champ_sql($primary, $p);
2096
+                $_contexte[] = "'$primary'=>" . $id;
2097
+                $_contexte[] = "'id'=>" . $id;
2098
+            }
2099
+        }
2100
+        $_contexte[] = "'recurs'=>(++\$recurs)";
2101
+        $connect = '';
2102
+        if (isset($p->boucles[$p->id_boucle])) {
2103
+            $connect = $p->boucles[$p->id_boucle]->sql_serveur;
2104
+        }
2105
+
2106
+        $_options = memoriser_contexte_compil($p);
2107
+        $_options = "'compil'=>array($_options), 'trim'=>true";
2108
+        if (isset($_contexte['ajax'])) {
2109
+            $_options .= ', ' . preg_replace(',=>(.*)$,ims', '=> ($v=(\\1))?$v:true', $_contexte['ajax']);
2110
+            unset($_contexte['ajax']);
2111
+        }
2112
+
2113
+        $_l = 'array(' . join(",\n\t", $_contexte) . ')';
2114
+        if ($flag_env) {
2115
+            $_l = "array_merge(\$Pile[0],$_l)";
2116
+        }
2117
+
2118
+        $page = sprintf(CODE_RECUPERER_FOND, $nom, $_l, $_options, _q($connect));
2119
+
2120
+        $p->code = "\n\t(((\$recurs=(isset(\$Pile[0]['recurs'])?\$Pile[0]['recurs']:0))>=5)? '' :\n\t$page)\n";
2121
+
2122
+        $p->interdire_scripts = false; // securite assuree par le squelette
2123
+    }
2124
+
2125
+    return $p;
2126 2126
 }
2127 2127
 
2128 2128
 
@@ -2146,21 +2146,21 @@  discard block
 block discarded – undo
2146 2146
  *     Pile complétée par le code à générer
2147 2147
  **/
2148 2148
 function balise_SET_dist($p) {
2149
-	$_nom = interprete_argument_balise(1, $p);
2150
-	$_val = interprete_argument_balise(2, $p);
2149
+    $_nom = interprete_argument_balise(1, $p);
2150
+    $_val = interprete_argument_balise(2, $p);
2151 2151
 
2152
-	if (!$_nom or !$_val) {
2153
-		$err_b_s_a = ['zbug_balise_sans_argument', ['balise' => 'SET']];
2154
-		erreur_squelette($err_b_s_a, $p);
2155
-	}
2156
-	// affectation $_zzz inutile, mais permet de contourner un bug OpCode cache sous PHP 5.5.4
2157
-	// cf https://bugs.php.net/bug.php?id=65845
2158
-	else {
2159
-		$p->code = "vide(\$Pile['vars'][\$_zzz=(string)$_nom] = $_val)";
2160
-	}
2152
+    if (!$_nom or !$_val) {
2153
+        $err_b_s_a = ['zbug_balise_sans_argument', ['balise' => 'SET']];
2154
+        erreur_squelette($err_b_s_a, $p);
2155
+    }
2156
+    // affectation $_zzz inutile, mais permet de contourner un bug OpCode cache sous PHP 5.5.4
2157
+    // cf https://bugs.php.net/bug.php?id=65845
2158
+    else {
2159
+        $p->code = "vide(\$Pile['vars'][\$_zzz=(string)$_nom] = $_val)";
2160
+    }
2161 2161
 
2162
-	$p->interdire_scripts = false; // la balise ne renvoie rien
2163
-	return $p;
2162
+    $p->interdire_scripts = false; // la balise ne renvoie rien
2163
+    return $p;
2164 2164
 }
2165 2165
 
2166 2166
 
@@ -2190,12 +2190,12 @@  discard block
 block discarded – undo
2190 2190
  *     Pile complétée par le code à générer
2191 2191
  **/
2192 2192
 function balise_GET_dist($p) {
2193
-	$p->interdire_scripts = false; // le contenu vient de #SET, donc il est de confiance
2194
-	if (function_exists('balise_ENV')) {
2195
-		return balise_ENV($p, '$Pile["vars"]??[]');
2196
-	} else {
2197
-		return balise_ENV_dist($p, '$Pile["vars"]??[]');
2198
-	}
2193
+    $p->interdire_scripts = false; // le contenu vient de #SET, donc il est de confiance
2194
+    if (function_exists('balise_ENV')) {
2195
+        return balise_ENV($p, '$Pile["vars"]??[]');
2196
+    } else {
2197
+        return balise_ENV_dist($p, '$Pile["vars"]??[]');
2198
+    }
2199 2199
 }
2200 2200
 
2201 2201
 
@@ -2218,22 +2218,22 @@  discard block
 block discarded – undo
2218 2218
  *     Pile complétée par le code à générer
2219 2219
  **/
2220 2220
 function balise_DOUBLONS_dist($p) {
2221
-	if ($type = interprete_argument_balise(1, $p)) {
2222
-		if ($famille = interprete_argument_balise(2, $p)) {
2223
-			$type .= '.' . $famille;
2224
-		}
2225
-		$p->code = '(isset($doublons[' . $type . ']) ? $doublons[' . $type . '] : "")';
2226
-		if (!$p->etoile) {
2227
-			$p->code = 'array_filter(array_map("intval",explode(",",'
2228
-				. $p->code . ')))';
2229
-		}
2230
-	} else {
2231
-		$p->code = '$doublons';
2232
-	}
2221
+    if ($type = interprete_argument_balise(1, $p)) {
2222
+        if ($famille = interprete_argument_balise(2, $p)) {
2223
+            $type .= '.' . $famille;
2224
+        }
2225
+        $p->code = '(isset($doublons[' . $type . ']) ? $doublons[' . $type . '] : "")';
2226
+        if (!$p->etoile) {
2227
+            $p->code = 'array_filter(array_map("intval",explode(",",'
2228
+                . $p->code . ')))';
2229
+        }
2230
+    } else {
2231
+        $p->code = '$doublons';
2232
+    }
2233 2233
 
2234
-	$p->interdire_scripts = false;
2234
+    $p->interdire_scripts = false;
2235 2235
 
2236
-	return $p;
2236
+    return $p;
2237 2237
 }
2238 2238
 
2239 2239
 
@@ -2256,18 +2256,18 @@  discard block
 block discarded – undo
2256 2256
  *     Pile complétée par le code à générer
2257 2257
  **/
2258 2258
 function balise_PIPELINE_dist($p) {
2259
-	$_pipe = interprete_argument_balise(1, $p);
2260
-	if (!$_pipe) {
2261
-		$err_b_s_a = ['zbug_balise_sans_argument', ['balise' => 'PIPELINE']];
2262
-		erreur_squelette($err_b_s_a, $p);
2263
-	} else {
2264
-		$_flux = interprete_argument_balise(2, $p);
2265
-		$_flux = $_flux ?: "''";
2266
-		$p->code = "pipeline( $_pipe , $_flux )";
2267
-		$p->interdire_scripts = false;
2268
-	}
2259
+    $_pipe = interprete_argument_balise(1, $p);
2260
+    if (!$_pipe) {
2261
+        $err_b_s_a = ['zbug_balise_sans_argument', ['balise' => 'PIPELINE']];
2262
+        erreur_squelette($err_b_s_a, $p);
2263
+    } else {
2264
+        $_flux = interprete_argument_balise(2, $p);
2265
+        $_flux = $_flux ?: "''";
2266
+        $p->code = "pipeline( $_pipe , $_flux )";
2267
+        $p->interdire_scripts = false;
2268
+    }
2269 2269
 
2270
-	return $p;
2270
+    return $p;
2271 2271
 }
2272 2272
 
2273 2273
 
@@ -2292,10 +2292,10 @@  discard block
 block discarded – undo
2292 2292
  *     Pile complétée par le code à générer
2293 2293
  **/
2294 2294
 function balise_EDIT_dist($p) {
2295
-	$p->code = "''";
2296
-	$p->interdire_scripts = false;
2295
+    $p->code = "''";
2296
+    $p->interdire_scripts = false;
2297 2297
 
2298
-	return $p;
2298
+    return $p;
2299 2299
 }
2300 2300
 
2301 2301
 
@@ -2318,11 +2318,11 @@  discard block
 block discarded – undo
2318 2318
  *     Pile complétée par le code à générer
2319 2319
  **/
2320 2320
 function balise_TOTAL_UNIQUE_dist($p) {
2321
-	$_famille = interprete_argument_balise(1, $p);
2322
-	$_famille = $_famille ?: "''";
2323
-	$p->code = "unique('', $_famille, true)";
2321
+    $_famille = interprete_argument_balise(1, $p);
2322
+    $_famille = $_famille ?: "''";
2323
+    $p->code = "unique('', $_famille, true)";
2324 2324
 
2325
-	return $p;
2325
+    return $p;
2326 2326
 }
2327 2327
 
2328 2328
 /**
@@ -2345,19 +2345,19 @@  discard block
 block discarded – undo
2345 2345
  *     Pile complétée par le code à générer
2346 2346
  **/
2347 2347
 function balise_ARRAY_dist($p) {
2348
-	$_code = [];
2349
-	$n = 1;
2350
-	do {
2351
-		$_key = interprete_argument_balise($n++, $p);
2352
-		$_val = interprete_argument_balise($n++, $p);
2353
-		if ($_key and $_val) {
2354
-			$_code[] = "$_key => $_val";
2355
-		}
2356
-	} while ($_key && $_val);
2357
-	$p->code = 'array(' . join(', ', $_code) . ')';
2358
-	$p->interdire_scripts = false;
2348
+    $_code = [];
2349
+    $n = 1;
2350
+    do {
2351
+        $_key = interprete_argument_balise($n++, $p);
2352
+        $_val = interprete_argument_balise($n++, $p);
2353
+        if ($_key and $_val) {
2354
+            $_code[] = "$_key => $_val";
2355
+        }
2356
+    } while ($_key && $_val);
2357
+    $p->code = 'array(' . join(', ', $_code) . ')';
2358
+    $p->interdire_scripts = false;
2359 2359
 
2360
-	return $p;
2360
+    return $p;
2361 2361
 }
2362 2362
 
2363 2363
 /**
@@ -2376,15 +2376,15 @@  discard block
 block discarded – undo
2376 2376
  *     Pile complétée par le code à générer
2377 2377
  */
2378 2378
 function balise_LISTE_dist($p) {
2379
-	$_code = [];
2380
-	$n = 1;
2381
-	while ($_val = interprete_argument_balise($n++, $p)) {
2382
-		$_code[] = $_val;
2383
-	}
2384
-	$p->code = 'array(' . join(', ', $_code) . ')';
2385
-	$p->interdire_scripts = false;
2379
+    $_code = [];
2380
+    $n = 1;
2381
+    while ($_val = interprete_argument_balise($n++, $p)) {
2382
+        $_code[] = $_val;
2383
+    }
2384
+    $p->code = 'array(' . join(', ', $_code) . ')';
2385
+    $p->interdire_scripts = false;
2386 2386
 
2387
-	return $p;
2387
+    return $p;
2388 2388
 }
2389 2389
 
2390 2390
 
@@ -2418,21 +2418,21 @@  discard block
 block discarded – undo
2418 2418
  *     Pile complétée par le code à générer
2419 2419
  **/
2420 2420
 function balise_AUTORISER_dist($p) {
2421
-	$_code = [];
2422
-	$p->descr['session'] = true; // faire un cache par session
2421
+    $_code = [];
2422
+    $p->descr['session'] = true; // faire un cache par session
2423 2423
 
2424
-	$n = 1;
2425
-	while ($_v = interprete_argument_balise($n++, $p)) {
2426
-		$_code[] = $_v;
2427
-	}
2424
+    $n = 1;
2425
+    while ($_v = interprete_argument_balise($n++, $p)) {
2426
+        $_code[] = $_v;
2427
+    }
2428 2428
 
2429
-	$p->code = '((function_exists("autoriser")||include_spip("inc/autoriser"))&&autoriser(' . join(
2430
-		', ',
2431
-		$_code
2432
-	) . ')?" ":"")';
2433
-	$p->interdire_scripts = false;
2429
+    $p->code = '((function_exists("autoriser")||include_spip("inc/autoriser"))&&autoriser(' . join(
2430
+        ', ',
2431
+        $_code
2432
+    ) . ')?" ":"")';
2433
+    $p->interdire_scripts = false;
2434 2434
 
2435
-	return $p;
2435
+    return $p;
2436 2436
 }
2437 2437
 
2438 2438
 
@@ -2456,15 +2456,15 @@  discard block
 block discarded – undo
2456 2456
  *     Pile complétée par le code à générer
2457 2457
  **/
2458 2458
 function balise_PLUGIN_dist($p) {
2459
-	$plugin = interprete_argument_balise(1, $p);
2460
-	$plugin = isset($plugin) ? str_replace('\'', '"', $plugin) : '""';
2461
-	$type_info = interprete_argument_balise(2, $p);
2462
-	$type_info = isset($type_info) ? str_replace('\'', '"', $type_info) : '"est_actif"';
2459
+    $plugin = interprete_argument_balise(1, $p);
2460
+    $plugin = isset($plugin) ? str_replace('\'', '"', $plugin) : '""';
2461
+    $type_info = interprete_argument_balise(2, $p);
2462
+    $type_info = isset($type_info) ? str_replace('\'', '"', $type_info) : '"est_actif"';
2463 2463
 
2464
-	$f = chercher_filtre('info_plugin');
2465
-	$p->code = $f . '(' . $plugin . ', ' . $type_info . ')';
2464
+    $f = chercher_filtre('info_plugin');
2465
+    $p->code = $f . '(' . $plugin . ', ' . $type_info . ')';
2466 2466
 
2467
-	return $p;
2467
+    return $p;
2468 2468
 }
2469 2469
 
2470 2470
 /**
@@ -2485,9 +2485,9 @@  discard block
 block discarded – undo
2485 2485
  *     Pile complétée par le code à générer
2486 2486
  **/
2487 2487
 function balise_AIDER_dist($p) {
2488
-	$_motif = interprete_argument_balise(1, $p);
2489
-	$p->code = "((\$aider=charger_fonction('aide','inc',true))?\$aider($_motif):'')";
2490
-	return $p;
2488
+    $_motif = interprete_argument_balise(1, $p);
2489
+    $p->code = "((\$aider=charger_fonction('aide','inc',true))?\$aider($_motif):'')";
2490
+    return $p;
2491 2491
 }
2492 2492
 
2493 2493
 /**
@@ -2513,16 +2513,16 @@  discard block
 block discarded – undo
2513 2513
  *     Pile complétée par le code à générer
2514 2514
  **/
2515 2515
 function balise_ACTION_FORMULAIRE($p) {
2516
-	if (!$_url = interprete_argument_balise(1, $p)) {
2517
-		$_url = "(\$Pile[0]['action'] ?? '')";
2518
-	}
2519
-	if (!$_form = interprete_argument_balise(2, $p)) {
2520
-		$_form = "(\$Pile[0]['form'] ?? '')";
2521
-	}
2522
-
2523
-	// envoyer le nom du formulaire que l'on traite
2524
-	// transmettre les eventuels args de la balise formulaire
2525
-	$p->code = "	'<span class=\"form-hidden\">' .
2516
+    if (!$_url = interprete_argument_balise(1, $p)) {
2517
+        $_url = "(\$Pile[0]['action'] ?? '')";
2518
+    }
2519
+    if (!$_form = interprete_argument_balise(2, $p)) {
2520
+        $_form = "(\$Pile[0]['form'] ?? '')";
2521
+    }
2522
+
2523
+    // envoyer le nom du formulaire que l'on traite
2524
+    // transmettre les eventuels args de la balise formulaire
2525
+    $p->code = "	'<span class=\"form-hidden\">' .
2526 2526
 	form_hidden($_url) .
2527 2527
 	'<input name=\'formulaire_action\' type=\'hidden\'
2528 2528
 		value=\'' . $_form . '\' />' .
@@ -2533,9 +2533,9 @@  discard block
 block discarded – undo
2533 2533
 	(\$Pile[0]['_hidden'] ?? '') .
2534 2534
 	'</span>'";
2535 2535
 
2536
-	$p->interdire_scripts = false;
2536
+    $p->interdire_scripts = false;
2537 2537
 
2538
-	return $p;
2538
+    return $p;
2539 2539
 }
2540 2540
 
2541 2541
 
@@ -2576,25 +2576,25 @@  discard block
 block discarded – undo
2576 2576
  */
2577 2577
 function balise_BOUTON_ACTION_dist($p) {
2578 2578
 
2579
-	$args = [];
2580
-	for ($k = 1; $k <= 6; $k++) {
2581
-		$_a = interprete_argument_balise($k, $p);
2582
-		if (!$_a) {
2583
-			$_a = "''";
2584
-		}
2585
-		$args[] = $_a;
2586
-	}
2587
-	// supprimer les args vides
2588
-	while (end($args) == "''" and count($args) > 2) {
2589
-		array_pop($args);
2590
-	}
2591
-	$args = implode(',', $args);
2579
+    $args = [];
2580
+    for ($k = 1; $k <= 6; $k++) {
2581
+        $_a = interprete_argument_balise($k, $p);
2582
+        if (!$_a) {
2583
+            $_a = "''";
2584
+        }
2585
+        $args[] = $_a;
2586
+    }
2587
+    // supprimer les args vides
2588
+    while (end($args) == "''" and count($args) > 2) {
2589
+        array_pop($args);
2590
+    }
2591
+    $args = implode(',', $args);
2592 2592
 
2593
-	$bouton_action = chercher_filtre('bouton_action');
2594
-	$p->code = "$bouton_action($args)";
2595
-	$p->interdire_scripts = false;
2593
+    $bouton_action = chercher_filtre('bouton_action');
2594
+    $p->code = "$bouton_action($args)";
2595
+    $p->interdire_scripts = false;
2596 2596
 
2597
-	return $p;
2597
+    return $p;
2598 2598
 }
2599 2599
 
2600 2600
 
@@ -2613,10 +2613,10 @@  discard block
 block discarded – undo
2613 2613
  *     Pile complétée par le code à générer
2614 2614
  */
2615 2615
 function balise_SLOGAN_SITE_SPIP_dist($p) {
2616
-	$p->code = "\$GLOBALS['meta']['slogan_site']";
2616
+    $p->code = "\$GLOBALS['meta']['slogan_site']";
2617 2617
 
2618
-	#$p->interdire_scripts = true;
2619
-	return $p;
2618
+    #$p->interdire_scripts = true;
2619
+    return $p;
2620 2620
 }
2621 2621
 
2622 2622
 
@@ -2640,10 +2640,10 @@  discard block
 block discarded – undo
2640 2640
  *     Pile complétée par le code à générer
2641 2641
  */
2642 2642
 function balise_HTML5_dist($p) {
2643
-	$p->code = html5_permis() ? "' '" : "''";
2644
-	$p->interdire_scripts = false;
2643
+    $p->code = html5_permis() ? "' '" : "''";
2644
+    $p->interdire_scripts = false;
2645 2645
 
2646
-	return $p;
2646
+    return $p;
2647 2647
 }
2648 2648
 
2649 2649
 
@@ -2669,58 +2669,58 @@  discard block
 block discarded – undo
2669 2669
  *     Pile complétée par le code à générer
2670 2670
  */
2671 2671
 function balise_TRI_dist($p, $liste = 'true') {
2672
-	$b = index_boucle_mere($p);
2673
-	// s'il n'y a pas de nom de boucle, on ne peut pas trier
2674
-	if ($b === '') {
2675
-		$msg = ['zbug_champ_hors_boucle', ['champ' => zbug_presenter_champ($p)]];
2676
-		erreur_squelette($msg, $p);
2677
-		$p->code = "''";
2672
+    $b = index_boucle_mere($p);
2673
+    // s'il n'y a pas de nom de boucle, on ne peut pas trier
2674
+    if ($b === '') {
2675
+        $msg = ['zbug_champ_hors_boucle', ['champ' => zbug_presenter_champ($p)]];
2676
+        erreur_squelette($msg, $p);
2677
+        $p->code = "''";
2678 2678
 
2679
-		return $p;
2680
-	}
2681
-	$boucle = $p->boucles[$b];
2679
+        return $p;
2680
+    }
2681
+    $boucle = $p->boucles[$b];
2682 2682
 
2683
-	// s'il n'y a pas de tri_champ, c'est qu'on se trouve
2684
-	// dans un boucle recursive ou qu'on a oublie le critere {tri}
2685
-	if (!isset($boucle->modificateur['tri_champ'])) {
2686
-		$msg = ['zbug_champ_hors_critere', [
2687
-			'champ' => zbug_presenter_champ($p),
2688
-			'critere' => 'tri'
2689
-		]];
2690
-		erreur_squelette($msg, $p);
2691
-		$p->code = "''";
2683
+    // s'il n'y a pas de tri_champ, c'est qu'on se trouve
2684
+    // dans un boucle recursive ou qu'on a oublie le critere {tri}
2685
+    if (!isset($boucle->modificateur['tri_champ'])) {
2686
+        $msg = ['zbug_champ_hors_critere', [
2687
+            'champ' => zbug_presenter_champ($p),
2688
+            'critere' => 'tri'
2689
+        ]];
2690
+        erreur_squelette($msg, $p);
2691
+        $p->code = "''";
2692 2692
 
2693
-		return $p;
2694
-	}
2693
+        return $p;
2694
+    }
2695 2695
 
2696
-	// Différentes infos relatives au tri présentes dans les modificateurs
2697
-	$_tri_nom = $boucle->modificateur['tri_nom'] ; // nom du paramètre définissant le tri
2698
-	$_tri_champ = $boucle->modificateur['tri_champ']; // champ actuel utilisé le tri
2699
-	$_tri_sens = $boucle->modificateur['tri_sens']; // sens de tri actuel
2700
-	$_tri_liste_sens_defaut = $boucle->modificateur['tri_liste_sens_defaut']; // sens par défaut pour chaque champ
2696
+    // Différentes infos relatives au tri présentes dans les modificateurs
2697
+    $_tri_nom = $boucle->modificateur['tri_nom'] ; // nom du paramètre définissant le tri
2698
+    $_tri_champ = $boucle->modificateur['tri_champ']; // champ actuel utilisé le tri
2699
+    $_tri_sens = $boucle->modificateur['tri_sens']; // sens de tri actuel
2700
+    $_tri_liste_sens_defaut = $boucle->modificateur['tri_liste_sens_defaut']; // sens par défaut pour chaque champ
2701 2701
 
2702
-	$_champ_ou_sens = interprete_argument_balise(1, $p);
2703
-	// si pas de champ, renvoyer le critère de tri actuel
2704
-	if (!$_champ_ou_sens) {
2705
-		$p->code = $_tri_champ;
2702
+    $_champ_ou_sens = interprete_argument_balise(1, $p);
2703
+    // si pas de champ, renvoyer le critère de tri actuel
2704
+    if (!$_champ_ou_sens) {
2705
+        $p->code = $_tri_champ;
2706 2706
 
2707
-		return $p;
2708
-	}
2709
-	// forcer la jointure si besoin, et si le champ est statique
2710
-	if (preg_match(",^'([\w.]+)'$,i", $_champ_ou_sens, $m)) {
2711
-		index_pile($b, $m[1], $p->boucles, '', null, true, false);
2712
-	}
2707
+        return $p;
2708
+    }
2709
+    // forcer la jointure si besoin, et si le champ est statique
2710
+    if (preg_match(",^'([\w.]+)'$,i", $_champ_ou_sens, $m)) {
2711
+        index_pile($b, $m[1], $p->boucles, '', null, true, false);
2712
+    }
2713 2713
 
2714
-	$_libelle = interprete_argument_balise(2, $p);
2715
-	$_libelle = $_libelle ?: $_champ_ou_sens;
2714
+    $_libelle = interprete_argument_balise(2, $p);
2715
+    $_libelle = $_libelle ?: $_champ_ou_sens;
2716 2716
 
2717
-	$_class = interprete_argument_balise(3, $p) ?? "''";
2717
+    $_class = interprete_argument_balise(3, $p) ?? "''";
2718 2718
 
2719
-	$p->code = "calculer_balise_tri($_champ_ou_sens, $_libelle, $_class, $_tri_nom, $_tri_champ, $_tri_sens, $_tri_liste_sens_defaut)";
2719
+    $p->code = "calculer_balise_tri($_champ_ou_sens, $_libelle, $_class, $_tri_nom, $_tri_champ, $_tri_sens, $_tri_liste_sens_defaut)";
2720 2720
 
2721
-	$p->interdire_scripts = false;
2721
+    $p->interdire_scripts = false;
2722 2722
 
2723
-	return $p;
2723
+    return $p;
2724 2724
 }
2725 2725
 
2726 2726
 
@@ -2741,21 +2741,21 @@  discard block
 block discarded – undo
2741 2741
  *     Pile complétée par le code à générer
2742 2742
  */
2743 2743
 function balise_SAUTER_dist($p) {
2744
-	$id_boucle = $p->id_boucle;
2744
+    $id_boucle = $p->id_boucle;
2745 2745
 
2746
-	if (empty($p->boucles[$id_boucle])) {
2747
-		$msg = ['zbug_champ_hors_boucle', ['champ' => '#SAUTER']];
2748
-		erreur_squelette($msg, $p);
2749
-	} else {
2750
-		$_saut = interprete_argument_balise(1, $p);
2751
-		$_compteur = "\$Numrows['$id_boucle']['compteur_boucle']";
2752
-		$_total = "(\$Numrows['$id_boucle']['total'] ?? null)";
2746
+    if (empty($p->boucles[$id_boucle])) {
2747
+        $msg = ['zbug_champ_hors_boucle', ['champ' => '#SAUTER']];
2748
+        erreur_squelette($msg, $p);
2749
+    } else {
2750
+        $_saut = interprete_argument_balise(1, $p);
2751
+        $_compteur = "\$Numrows['$id_boucle']['compteur_boucle']";
2752
+        $_total = "(\$Numrows['$id_boucle']['total'] ?? null)";
2753 2753
 
2754
-		$p->code = "vide($_compteur=\$iter->skip($_saut,$_total))";
2755
-	}
2756
-	$p->interdire_scripts = false;
2754
+        $p->code = "vide($_compteur=\$iter->skip($_saut,$_total))";
2755
+    }
2756
+    $p->interdire_scripts = false;
2757 2757
 
2758
-	return $p;
2758
+    return $p;
2759 2759
 }
2760 2760
 
2761 2761
 
@@ -2777,22 +2777,22 @@  discard block
 block discarded – undo
2777 2777
  *     Pile complétée par le code à générer
2778 2778
  */
2779 2779
 function balise_PUBLIE_dist($p) {
2780
-	if (!$_type = interprete_argument_balise(1, $p)) {
2781
-		$_type = _q($p->type_requete);
2782
-		$_id = champ_sql($p->boucles[$p->id_boucle]->primary, $p);
2783
-	} else {
2784
-		$_id = interprete_argument_balise(2, $p);
2785
-	}
2780
+    if (!$_type = interprete_argument_balise(1, $p)) {
2781
+        $_type = _q($p->type_requete);
2782
+        $_id = champ_sql($p->boucles[$p->id_boucle]->primary, $p);
2783
+    } else {
2784
+        $_id = interprete_argument_balise(2, $p);
2785
+    }
2786 2786
 
2787
-	$connect = '';
2788
-	if (isset($p->boucles[$p->id_boucle])) {
2789
-		$connect = $p->boucles[$p->id_boucle]->sql_serveur;
2790
-	}
2787
+    $connect = '';
2788
+    if (isset($p->boucles[$p->id_boucle])) {
2789
+        $connect = $p->boucles[$p->id_boucle]->sql_serveur;
2790
+    }
2791 2791
 
2792
-	$p->code = '(objet_test_si_publie(' . $_type . ',intval(' . $_id . '),' . _q($connect) . ")?' ':'')";
2793
-	$p->interdire_scripts = false;
2792
+    $p->code = '(objet_test_si_publie(' . $_type . ',intval(' . $_id . '),' . _q($connect) . ")?' ':'')";
2793
+    $p->interdire_scripts = false;
2794 2794
 
2795
-	return $p;
2795
+    return $p;
2796 2796
 }
2797 2797
 
2798 2798
 /**
@@ -2821,12 +2821,12 @@  discard block
 block discarded – undo
2821 2821
  *     Pile complétée par le code à générer
2822 2822
  */
2823 2823
 function balise_PRODUIRE_dist($p) {
2824
-	$balise_inclure = charger_fonction('INCLURE', 'balise');
2825
-	$p = $balise_inclure($p);
2824
+    $balise_inclure = charger_fonction('INCLURE', 'balise');
2825
+    $p = $balise_inclure($p);
2826 2826
 
2827
-	$p->code = str_replace('recuperer_fond(', 'produire_fond_statique(', $p->code);
2827
+    $p->code = str_replace('recuperer_fond(', 'produire_fond_statique(', $p->code);
2828 2828
 
2829
-	return $p;
2829
+    return $p;
2830 2830
 }
2831 2831
 
2832 2832
 /**
@@ -2845,13 +2845,13 @@  discard block
 block discarded – undo
2845 2845
  *     Pile complétée par le code à générer
2846 2846
  */
2847 2847
 function balise_LARGEUR_ECRAN_dist($p) {
2848
-	$_class = interprete_argument_balise(1, $p);
2849
-	if (!$_class) {
2850
-		$_class = 'null';
2851
-	}
2852
-	$p->code = "(is_string($_class)?vide(\$GLOBALS['largeur_ecran']=$_class):(isset(\$GLOBALS['largeur_ecran'])?\$GLOBALS['largeur_ecran']:''))";
2848
+    $_class = interprete_argument_balise(1, $p);
2849
+    if (!$_class) {
2850
+        $_class = 'null';
2851
+    }
2852
+    $p->code = "(is_string($_class)?vide(\$GLOBALS['largeur_ecran']=$_class):(isset(\$GLOBALS['largeur_ecran'])?\$GLOBALS['largeur_ecran']:''))";
2853 2853
 
2854
-	return $p;
2854
+    return $p;
2855 2855
 }
2856 2856
 
2857 2857
 
@@ -2867,14 +2867,14 @@  discard block
 block discarded – undo
2867 2867
  *     Pile complétée par le code à générer
2868 2868
  **/
2869 2869
 function balise_CONST_dist($p) {
2870
-	$_const = interprete_argument_balise(1, $p);
2871
-	if (!strlen($_const ?? '')) {
2872
-		$p->code = "''";
2873
-	}
2874
-	else {
2875
-		$p->code = "(defined($_const)?constant($_const):'')";
2876
-	}
2877
-	$p->interdire_scripts = false;
2878
-
2879
-	return $p;
2870
+    $_const = interprete_argument_balise(1, $p);
2871
+    if (!strlen($_const ?? '')) {
2872
+        $p->code = "''";
2873
+    }
2874
+    else {
2875
+        $p->code = "(defined($_const)?constant($_const):'')";
2876
+    }
2877
+    $p->interdire_scripts = false;
2878
+
2879
+    return $p;
2880 2880
 }
Please login to merge, or discard this patch.