Completed
Push — master ( 3caaa9...7e8601 )
by cam
01:42
created
ecrire/inc/modifier.php 1 patch
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -113,7 +113,7 @@  discard block
 block discarded – undo
113 113
 
114 114
 	// Appels incomplets (sans $c)
115 115
 	if (!is_array($c)) {
116
-		spip_log('erreur appel objet_modifier_champs(' . $objet . '), manque $c');
116
+		spip_log('erreur appel objet_modifier_champs('.$objet.'), manque $c');
117 117
 
118 118
 		return _T('erreur_technique_enregistrement_impossible');
119 119
 	}
@@ -146,7 +146,7 @@  discard block
 block discarded – undo
146 146
 	$champs = array_map('corriger_caracteres', $champs);
147 147
 
148 148
 	// On récupère l'état avant toute modification
149
-	$row = sql_fetsel('*', $spip_table_objet, $id_table_objet . '=' . $id_objet);
149
+	$row = sql_fetsel('*', $spip_table_objet, $id_table_objet.'='.$id_objet);
150 150
 
151 151
 	// Envoyer aux plugins
152 152
 	$champs = pipeline(
@@ -200,7 +200,7 @@  discard block
 block discarded – undo
200 200
 				$id_rubrique = 0;
201 201
 				if (isset($desc['field']['id_rubrique'])) {
202 202
 					$parent = ($objet == 'rubrique') ? 'id_parent' : 'id_rubrique';
203
-					$id_rubrique = sql_getfetsel($parent, $spip_table_objet, "$id_table_objet=" . intval($id_objet));
203
+					$id_rubrique = sql_getfetsel($parent, $spip_table_objet, "$id_table_objet=".intval($id_objet));
204 204
 				}
205 205
 				$instituer_langue_objet = charger_fonction('instituer_langue_objet', 'action');
206 206
 				$champs['lang'] = $instituer_langue_objet($objet, $id_objet, $id_rubrique, $changer_lang, $serveur);
@@ -222,13 +222,13 @@  discard block
 block discarded – undo
222 222
 		}
223 223
 
224 224
 		// allez on commit la modif
225
-		sql_updateq($spip_table_objet, $champs, "$id_table_objet=" . intval($id_objet), [], $serveur);
225
+		sql_updateq($spip_table_objet, $champs, "$id_table_objet=".intval($id_objet), [], $serveur);
226 226
 
227 227
 		// on verifie si elle est bien passee
228 228
 		$moof = sql_fetsel(
229 229
 			array_keys($champs),
230 230
 			$spip_table_objet,
231
-			"$id_table_objet=" . intval($id_objet),
231
+			"$id_table_objet=".intval($id_objet),
232 232
 			[],
233 233
 			[],
234 234
 			'',
@@ -264,13 +264,13 @@  discard block
 block discarded – undo
264 264
 			// c'est un cas exceptionnel
265 265
 			if (count($liste)) {
266 266
 				spip_log(
267
-					"Erreur enregistrement en base $objet/$id_objet champs :" . var_export($conflits, true),
268
-					'modifier.' . _LOG_CRITIQUE
267
+					"Erreur enregistrement en base $objet/$id_objet champs :".var_export($conflits, true),
268
+					'modifier.'._LOG_CRITIQUE
269 269
 				);
270 270
 
271 271
 				return _T(
272 272
 					'erreur_technique_enregistrement_champs',
273
-					['champs' => "<i>'" . implode("'</i>,<i>'", $liste) . "'</i>"]
273
+					['champs' => "<i>'".implode("'</i>,<i>'", $liste)."'</i>"]
274 274
 				);
275 275
 			}
276 276
 		}
@@ -312,18 +312,18 @@  discard block
 block discarded – undo
312 312
 	include_spip('inc/filtres_mini');
313 313
 	$qui = '';
314 314
 	if (!empty($GLOBALS['visiteur_session']['id_auteur'])) {
315
-		$qui .= ' #id_auteur:' . $GLOBALS['visiteur_session']['id_auteur'] . '#';
315
+		$qui .= ' #id_auteur:'.$GLOBALS['visiteur_session']['id_auteur'].'#';
316 316
 	}
317 317
 	if (!empty($GLOBALS['visiteur_session']['nom'])) {
318
-		$qui .= ' #nom:' . $GLOBALS['visiteur_session']['nom'] . '#';
318
+		$qui .= ' #nom:'.$GLOBALS['visiteur_session']['nom'].'#';
319 319
 	}
320 320
 	if ($qui == '') {
321
-		$qui = '#ip:' . $GLOBALS['ip'] . '#';
321
+		$qui = '#ip:'.$GLOBALS['ip'].'#';
322 322
 	}
323
-	journal(_L($qui . ' a édité ' . $objet . ' ' . $id_objet . ' (' . join(
323
+	journal(_L($qui.' a édité '.$objet.' '.$id_objet.' ('.join(
324 324
 		'+',
325 325
 		array_diff(array_keys($champs), ['date_modif'])
326
-	) . ')'), [
326
+	).')'), [
327 327
 		'faire' => 'modifier',
328 328
 		'quoi' => $objet,
329 329
 		'id' => $id_objet
Please login to merge, or discard this patch.
ecrire/inc/acces.php 1 patch
Spacing   +23 added lines, -23 removed lines patch added patch discarded remove patch
@@ -31,7 +31,7 @@  discard block
 block discarded – undo
31 31
  *     Mot de passe
32 32
  **/
33 33
 function creer_pass_aleatoire($longueur = 16, $sel = '') {
34
-	$seed = (int)round(((float)microtime() + 1) * time());
34
+	$seed = (int) round(((float) microtime() + 1) * time());
35 35
 
36 36
 	mt_srand($seed);
37 37
 	$s = '';
@@ -42,9 +42,9 @@  discard block
 block discarded – undo
42 42
 			if (!$s) {
43 43
 				$s = random_int(0, mt_getrandmax());
44 44
 			}
45
-			$s = substr(md5(uniqid($s) . $sel), 0, 16);
45
+			$s = substr(md5(uniqid($s).$sel), 0, 16);
46 46
 		}
47
-		$r = unpack('Cr', pack('H2', $s . $s));
47
+		$r = unpack('Cr', pack('H2', $s.$s));
48 48
 		$x = $r['r'] & 63;
49 49
 		if ($x < 10) {
50 50
 			$x = chr($x + 48);
@@ -82,7 +82,7 @@  discard block
 block discarded – undo
82 82
 	static $seeded;
83 83
 
84 84
 	if (!$seeded) {
85
-		$seed = (int)round(((float)microtime() + 1) * time());
85
+		$seed = (int) round(((float) microtime() + 1) * time());
86 86
 		mt_srand($seed);
87 87
 		$seeded = true;
88 88
 	}
@@ -168,10 +168,10 @@  discard block
 block discarded – undo
168 168
 			ecrire_meta('low_sec', $low_sec = creer_pass_aleatoire());
169 169
 		}
170 170
 	} else {
171
-		$low_sec = sql_getfetsel('low_sec', 'spip_auteurs', 'id_auteur = ' . intval($id_auteur));
171
+		$low_sec = sql_getfetsel('low_sec', 'spip_auteurs', 'id_auteur = '.intval($id_auteur));
172 172
 		if (!$low_sec) {
173 173
 			$low_sec = creer_pass_aleatoire();
174
-			sql_updateq('spip_auteurs', ['low_sec' => $low_sec], 'id_auteur = ' . intval($id_auteur));
174
+			sql_updateq('spip_auteurs', ['low_sec' => $low_sec], 'id_auteur = '.intval($id_auteur));
175 175
 		}
176 176
 	}
177 177
 
@@ -229,7 +229,7 @@  discard block
 block discarded – undo
229 229
 function generer_url_api_low_sec(string $script, string $format, string $fond, string $path, string $args, bool $no_entities = false, ?bool $public = null) {
230 230
 	$id_auteur = $GLOBALS['visiteur_session']['id_auteur'] ?? 0;
231 231
 	$cle = afficher_low_sec($id_auteur, "$script/$format $fond $args");
232
-	$path = "$id_auteur/$cle/$format/$fond" . ($path ? "/$path" : '');
232
+	$path = "$id_auteur/$cle/$format/$fond".($path ? "/$path" : '');
233 233
 
234 234
 	return generer_url_api($script, $path, $args, $no_entities = false, $public);
235 235
 }
@@ -253,9 +253,9 @@  discard block
 block discarded – undo
253 253
 	foreach ($args as $val => $var) {
254 254
 		if ($var) {
255 255
 			if ($val <> 'statut') {
256
-				$a .= ':' . $val . '-' . $var;
256
+				$a .= ':'.$val.'-'.$var;
257 257
 			}
258
-			$b .= $val . '=' . $var . '&';
258
+			$b .= $val.'='.$var.'&';
259 259
 		}
260 260
 	}
261 261
 	$a = substr($a, 1);
@@ -285,7 +285,7 @@  discard block
 block discarded – undo
285 285
  *     Clé
286 286
  **/
287 287
 function afficher_low_sec($id_auteur, $action = '') {
288
-	return substr(md5($action . low_sec($id_auteur)), 0, 8);
288
+	return substr(md5($action.low_sec($id_auteur)), 0, 8);
289 289
 }
290 290
 
291 291
 /**
@@ -316,7 +316,7 @@  discard block
 block discarded – undo
316 316
 	if (!$id_auteur = intval($id_auteur)) {
317 317
 		return;
318 318
 	} // jamais trop prudent ;)
319
-	sql_updateq('spip_auteurs', ['low_sec' => ''], 'id_auteur = ' . intval($id_auteur));
319
+	sql_updateq('spip_auteurs', ['low_sec' => ''], 'id_auteur = '.intval($id_auteur));
320 320
 }
321 321
 
322 322
 /**
@@ -326,7 +326,7 @@  discard block
 block discarded – undo
326 326
  */
327 327
 function initialiser_sel() {
328 328
 	if (!isset($GLOBALS['htsalt'])) {
329
-		$GLOBALS['htsalt'] = '$1$' . creer_pass_aleatoire();
329
+		$GLOBALS['htsalt'] = '$1$'.creer_pass_aleatoire();
330 330
 	}
331 331
 	return $GLOBALS['htsalt'];
332 332
 }
@@ -345,8 +345,8 @@  discard block
 block discarded – undo
345 345
  *     - void sinon.
346 346
  **/
347 347
 function ecrire_acces() {
348
-	$htaccess = _DIR_RESTREINT . _ACCESS_FILE_NAME;
349
-	$htpasswd = _DIR_TMP . _AUTH_USER_FILE;
348
+	$htaccess = _DIR_RESTREINT._ACCESS_FILE_NAME;
349
+	$htpasswd = _DIR_TMP._AUTH_USER_FILE;
350 350
 
351 351
 	// Cette variable de configuration peut etre posee par un plugin
352 352
 	// par exemple acces_restreint ;
@@ -357,7 +357,7 @@  discard block
 block discarded – undo
357 357
 		and !@file_exists($htaccess)
358 358
 	) {
359 359
 		spip_unlink($htpasswd);
360
-		spip_unlink($htpasswd . '-admin');
360
+		spip_unlink($htpasswd.'-admin');
361 361
 		return;
362 362
 	}
363 363
 
@@ -385,10 +385,10 @@  discard block
 block discarded – undo
385 385
 	$pwd_all = ''; // login:htpass pour tous
386 386
 	$pwd_admin = ''; // login:htpass pour les admins
387 387
 
388
-	$res = sql_select('login, htpass, statut', 'spip_auteurs', "htpass!='' AND login!='' AND " . sql_in('statut', ['1comite', '0minirezo', 'nouveau']));
388
+	$res = sql_select('login, htpass, statut', 'spip_auteurs', "htpass!='' AND login!='' AND ".sql_in('statut', ['1comite', '0minirezo', 'nouveau']));
389 389
 	while ($row = sql_fetch($res)) {
390 390
 		if (strlen($row['login']) and strlen($row['htpass'])) {
391
-			$ligne = $row['login'] . ':' . $row['htpass'] . "\n";
391
+			$ligne = $row['login'].':'.$row['htpass']."\n";
392 392
 			$pwd_all .= $ligne;
393 393
 			if ($row['statut'] == '0minirezo') {
394 394
 				$pwd_admin .= $ligne;
@@ -433,7 +433,7 @@  discard block
 block discarded – undo
433 433
  * @return boolean
434 434
  */
435 435
 function verifier_htaccess($rep, $force = false) {
436
-	$htaccess = rtrim($rep, '/') . '/' . _ACCESS_FILE_NAME;
436
+	$htaccess = rtrim($rep, '/').'/'._ACCESS_FILE_NAME;
437 437
 	if (((@file_exists($htaccess)) or defined('_TEST_DIRS')) and !$force) {
438 438
 		return true;
439 439
 	}
@@ -462,17 +462,17 @@  discard block
 block discarded – undo
462 462
 		fputs($ht, $deny);
463 463
 		fclose($ht);
464 464
 		@chmod($htaccess, _SPIP_CHMOD & 0666);
465
-		$t = rtrim($rep, '/') . '/.ok';
465
+		$t = rtrim($rep, '/').'/.ok';
466 466
 		if ($ht = @fopen($t, 'w')) {
467 467
 			@fclose($ht);
468 468
 			include_spip('inc/distant');
469 469
 			$t = substr($t, strlen(_DIR_RACINE));
470
-			$t = url_de_base() . $t;
470
+			$t = url_de_base().$t;
471 471
 			$ht = recuperer_url($t, ['methode' => 'HEAD', 'taille_max' => 0, 'follow_location' => false]);
472 472
 			$ht = ($ht['status'] ?? null) === 403;
473 473
 		}
474 474
 	}
475
-	spip_log("Creation de $htaccess " . ($ht ? ' reussie' : ' manquee'));
475
+	spip_log("Creation de $htaccess ".($ht ? ' reussie' : ' manquee'));
476 476
 
477 477
 	return $ht;
478 478
 }
@@ -498,11 +498,11 @@  discard block
 block discarded – undo
498 498
 	$dirs = sql_allfetsel('extension', 'spip_types_documents');
499 499
 	$dirs[] = ['extension' => 'distant'];
500 500
 	foreach ($dirs as $e) {
501
-		if (is_dir($dir = _DIR_IMG . $e['extension'])) {
501
+		if (is_dir($dir = _DIR_IMG.$e['extension'])) {
502 502
 			if ($f) {
503 503
 				verifier_htaccess($dir);
504 504
 			} else {
505
-				spip_unlink($dir . '/' . _ACCESS_FILE_NAME);
505
+				spip_unlink($dir.'/'._ACCESS_FILE_NAME);
506 506
 			}
507 507
 		}
508 508
 	}
Please login to merge, or discard this patch.
ecrire/inc/filtres_dates.php 1 patch
Spacing   +33 added lines, -33 removed lines patch added patch discarded remove patch
@@ -39,7 +39,7 @@  discard block
 block discarded – undo
39 39
 function extraire_date($texte): string {
40 40
 	// format = 2001-08
41 41
 	if (preg_match(',([1-2][0-9]{3})[^0-9]*(1[0-2]|0?[1-9]),', $texte, $regs)) {
42
-		return $regs[1] . '-' . sprintf('%02d', $regs[2]) . '-01';
42
+		return $regs[1].'-'.sprintf('%02d', $regs[2]).'-01';
43 43
 	}
44 44
 	return '';
45 45
 }
@@ -70,11 +70,11 @@  discard block
 block discarded – undo
70 70
 		}
71 71
 		if (preg_match('#^([12][0-9]{3})([-/]00)?( [-0-9:]+)?$#', $date, $regs)) {
72 72
 			$regs = array_pad($regs, 4, null); // eviter notice php
73
-			$date = $regs[1] . '-00-00' . $regs[3];
73
+			$date = $regs[1].'-00-00'.$regs[3];
74 74
 		} else {
75 75
 			if (preg_match('#^([12][0-9]{3}[-/][01]?[0-9])([-/]00)?( [-0-9:]+)?$#', $date, $regs)) {
76 76
 				$regs = array_pad($regs, 4, null); // eviter notice php
77
-				$date = preg_replace('@/@', '-', $regs[1]) . '-00' . $regs[3];
77
+				$date = preg_replace('@/@', '-', $regs[1]).'-00'.$regs[3];
78 78
 			} else {
79 79
 				$date = date('Y-m-d H:i:s', strtotime($date));
80 80
 			}
@@ -100,7 +100,7 @@  discard block
 block discarded – undo
100 100
 function vider_date($letexte, $verif_format_date = false): string {
101 101
 	if (
102 102
 		!$verif_format_date
103
-		or (in_array(strlen($letexte), [10,19]) and
103
+		or (in_array(strlen($letexte), [10, 19]) and
104 104
 			  preg_match('/^[0-9]{4}-[0-9]{2}-[0-9]{2}(\s[0-9]{2}:[0-9]{2}:[0-9]{2})?$/', $letexte))
105 105
 	) {
106 106
 		if (strncmp('0000-00-00', $letexte, 10) == 0) {
@@ -387,17 +387,17 @@  discard block
 block discarded – undo
387 387
 	if ($decal > 3600 * 24 * 30) {
388 388
 		$mois = floor($decal / (3600 * 24 * 30));
389 389
 		if ($mois < 2) {
390
-			$delai = "$mois " . _T('date_un_mois');
390
+			$delai = "$mois "._T('date_un_mois');
391 391
 		} else {
392
-			$delai = "$mois " . _T('date_mois');
392
+			$delai = "$mois "._T('date_mois');
393 393
 		}
394 394
 	} else {
395 395
 		if ($decal > 3600 * 24 * 7) {
396 396
 			$semaines = floor($decal / (3600 * 24 * 7));
397 397
 			if ($semaines < 2) {
398
-				$delai = "$semaines " . _T('date_une_semaine');
398
+				$delai = "$semaines "._T('date_une_semaine');
399 399
 			} else {
400
-				$delai = "$semaines " . _T('date_semaines');
400
+				$delai = "$semaines "._T('date_semaines');
401 401
 			}
402 402
 		} else {
403 403
 			if ($decal > 3600 * 24) {
@@ -405,30 +405,30 @@  discard block
 block discarded – undo
405 405
 				if ($jours < 2) {
406 406
 					return $il_y_a == 'date_dans' ? _T('date_demain') : _T('date_hier');
407 407
 				} else {
408
-					$delai = "$jours " . _T('date_jours');
408
+					$delai = "$jours "._T('date_jours');
409 409
 				}
410 410
 			} else {
411 411
 				if ($decal >= 3600) {
412 412
 					$heures = floor($decal / 3600);
413 413
 					if ($heures < 2) {
414
-						$delai = "$heures " . _T('date_une_heure');
414
+						$delai = "$heures "._T('date_une_heure');
415 415
 					} else {
416
-						$delai = "$heures " . _T('date_heures');
416
+						$delai = "$heures "._T('date_heures');
417 417
 					}
418 418
 				} else {
419 419
 					if ($decal >= 60) {
420 420
 						$minutes = floor($decal / 60);
421 421
 						if ($minutes < 2) {
422
-							$delai = "$minutes " . _T('date_une_minute');
422
+							$delai = "$minutes "._T('date_une_minute');
423 423
 						} else {
424
-							$delai = "$minutes " . _T('date_minutes');
424
+							$delai = "$minutes "._T('date_minutes');
425 425
 						}
426 426
 					} else {
427 427
 						$secondes = ceil($decal);
428 428
 						if ($secondes < 2) {
429
-							$delai = "$secondes " . _T('date_une_seconde');
429
+							$delai = "$secondes "._T('date_une_seconde');
430 430
 						} else {
431
-							$delai = "$secondes " . _T('date_secondes');
431
+							$delai = "$secondes "._T('date_secondes');
432 432
 						}
433 433
 					}
434 434
 				}
@@ -521,7 +521,7 @@  discard block
 block discarded – undo
521 521
 		$njour = 0;
522 522
 	} else {
523 523
 		$njour = intval($jour);
524
-		if ($jourth = _T('date_jnum' . $jour)) {
524
+		if ($jourth = _T('date_jnum'.$jour)) {
525 525
 			$jour = $jourth;
526 526
 		}
527 527
 	}
@@ -529,10 +529,10 @@  discard block
 block discarded – undo
529 529
 	$mois = intval($mois);
530 530
 	if ($mois > 0 and $mois < 13) {
531 531
 		/* Traiter le cas "abbr" pour les noms de mois */
532
-		$param = ((isset($options['param']) and $options['param'] === 'abbr') ? '_' . $options['param'] : '');
533
-		$nommois = _T('date_mois_' . $mois . $param);
532
+		$param = ((isset($options['param']) and $options['param'] === 'abbr') ? '_'.$options['param'] : '');
533
+		$nommois = _T('date_mois_'.$mois.$param);
534 534
 		if ($jour) {
535
-			$jourmois = _T('date_de_mois_' . $mois, ['j' => $jour, 'nommois' => $nommois]);
535
+			$jourmois = _T('date_de_mois_'.$mois, ['j' => $jour, 'nommois' => $nommois]);
536 536
 		} else {
537 537
 			$jourmois = $nommois;
538 538
 		}
@@ -542,7 +542,7 @@  discard block
 block discarded – undo
542 542
 	}
543 543
 
544 544
 	if ($annee < 0) {
545
-		$annee = -$annee . ' ' . _T('date_avant_jc');
545
+		$annee = -$annee.' '._T('date_avant_jc');
546 546
 		$avjc = true;
547 547
 	} else {
548 548
 		$avjc = false;
@@ -568,11 +568,11 @@  discard block
 block discarded – undo
568 568
 				}
569 569
 			}
570 570
 			if ($vue == 'saison') {
571
-				return $saison ? _T('date_saison_' . $saison) : '';
571
+				return $saison ? _T('date_saison_'.$saison) : '';
572 572
 			} else {
573 573
 				return $saison ? trim(_T(
574 574
 					'date_fmt_saison_annee',
575
-					['saison' => _T('date_saison_' . $saison), 'annee' => $annee]
575
+					['saison' => _T('date_saison_'.$saison), 'annee' => $annee]
576 576
 				)) : '';
577 577
 			}
578 578
 
@@ -649,9 +649,9 @@  discard block
 block discarded – undo
649 649
 			}
650 650
 			$nom = mktime(1, 1, 1, $mois, $njour, $annee);
651 651
 			$nom = 1 + date('w', $nom);
652
-			$param = ((isset($options['param']) and $options['param']) ? '_' . $options['param'] : '');
652
+			$param = ((isset($options['param']) and $options['param']) ? '_'.$options['param'] : '');
653 653
 
654
-			return _T('date_jour_' . $nom . $param);
654
+			return _T('date_jour_'.$nom.$param);
655 655
 
656 656
 		case 'mois_annee':
657 657
 			if ($avjc) {
@@ -1046,8 +1046,8 @@  discard block
 block discarded – undo
1046 1046
 
1047 1047
 	$dtstart = $dtend = $dtabbr = '';
1048 1048
 	if (strpos($forme, 'hcal') !== false) {
1049
-		$dtstart = "<abbr class='dtstart' title='" . date_iso($date_debut) . "'>";
1050
-		$dtend = "<abbr class='dtend' title='" . date_iso($date_fin) . "'>";
1049
+		$dtstart = "<abbr class='dtstart' title='".date_iso($date_debut)."'>";
1050
+		$dtend = "<abbr class='dtend' title='".date_iso($date_fin)."'>";
1051 1051
 		$dtabbr = '</abbr>';
1052 1052
 	}
1053 1053
 
@@ -1095,7 +1095,7 @@  discard block
 block discarded – undo
1095 1095
 			}
1096 1096
 		} else {
1097 1097
 			if ($dtabbr && $dtstart) {
1098
-				$s = $dtstart . spip_ucfirst($s) . $dtabbr;
1098
+				$s = $dtstart.spip_ucfirst($s).$dtabbr;
1099 1099
 			} else {
1100 1100
 				$s = spip_ucfirst($s);
1101 1101
 			}
@@ -1118,8 +1118,8 @@  discard block
 block discarded – undo
1118 1118
 				$date_debut = _T('date_fmt_jour_heure', ['jour' => $date_debut, 'heure' => $hd]);
1119 1119
 				$date_fin = _T('date_fmt_jour_heure', ['jour' => $date_fin, 'heure' => $hf]);
1120 1120
 			}
1121
-			$date_debut = $dtstart . $date_debut . $dtabbr;
1122
-			$date_fin = $dtend . $date_fin . $dtabbr;
1121
+			$date_debut = $dtstart.$date_debut.$dtabbr;
1122
+			$date_fin = $dtend.$date_fin.$dtabbr;
1123 1123
 
1124 1124
 			$s = _T('date_fmt_periode', ['date_debut' => $date_debut, 'date_fin' => $date_fin]);
1125 1125
 		} else {
@@ -1136,8 +1136,8 @@  discard block
 block discarded – undo
1136 1136
 				$date_fin = _T('date_fmt_jour_heure', ['jour' => $date_fin, 'heure' => $hf]);
1137 1137
 			}
1138 1138
 
1139
-			$date_debut = $dtstart . $date_debut . $dtabbr;
1140
-			$date_fin = $dtend . $date_fin . $dtabbr;
1139
+			$date_debut = $dtstart.$date_debut.$dtabbr;
1140
+			$date_fin = $dtend.$date_fin.$dtabbr;
1141 1141
 			$s = _T('date_fmt_periode', ['date_debut' => $date_debut, 'date_fin' => $date_fin]);
1142 1142
 		}
1143 1143
 	}
@@ -1241,7 +1241,7 @@  discard block
 block discarded – undo
1241 1241
 		$d = date('Y-m-d');
1242 1242
 	}
1243 1243
 
1244
-	return substr($d, 0, 4) . substr($d, 5, 2) . substr($d, 8, 2);
1244
+	return substr($d, 0, 4).substr($d, 5, 2).substr($d, 8, 2);
1245 1245
 }
1246 1246
 
1247 1247
 /**
@@ -1261,7 +1261,7 @@  discard block
 block discarded – undo
1261 1261
 		$d = date('Y-m-d');
1262 1262
 	}
1263 1263
 
1264
-	return substr($d, 0, 4) . substr($d, 5, 2);
1264
+	return substr($d, 0, 4).substr($d, 5, 2);
1265 1265
 }
1266 1266
 
1267 1267
 /**
Please login to merge, or discard this patch.
ecrire/inc/filtres.php 1 patch
Spacing   +129 added lines, -130 removed lines patch added patch discarded remove patch
@@ -96,7 +96,7 @@  discard block
 block discarded – undo
96 96
 	}
97 97
 
98 98
 	include_fichiers_fonctions();
99
-	foreach (['filtre_' . $fonc, 'filtre_' . $fonc . '_dist', $fonc] as $f) {
99
+	foreach (['filtre_'.$fonc, 'filtre_'.$fonc.'_dist', $fonc] as $f) {
100 100
 		trouver_filtre_matrice($f); // charge des fichiers spécifiques éventuels
101 101
 		if (is_callable($f)) {
102 102
 			return $f;
@@ -234,7 +234,7 @@  discard block
 block discarded – undo
234 234
 	// affichage "GIT [master: abcdef]"
235 235
 	$commit = $desc['commit_short'] ?? $desc['commit'];
236 236
 	if ($desc['branch']) {
237
-		$commit = $desc['branch'] . ': ' . $commit;
237
+		$commit = $desc['branch'].': '.$commit;
238 238
 	}
239 239
 	return "{$desc['vcs']} [$commit]";
240 240
 }
@@ -253,9 +253,9 @@  discard block
 block discarded – undo
253 253
 	}
254 254
 
255 255
 	// version installee par GIT
256
-	if (lire_fichier($dir . '/.git/HEAD', $c)) {
256
+	if (lire_fichier($dir.'/.git/HEAD', $c)) {
257 257
 		$currentHead = trim(substr($c, 4));
258
-		if (lire_fichier($dir . '/.git/' . $currentHead, $hash)) {
258
+		if (lire_fichier($dir.'/.git/'.$currentHead, $hash)) {
259 259
 			return [
260 260
 				'vcs' => 'GIT',
261 261
 				'branch' => basename($currentHead),
@@ -282,8 +282,8 @@  discard block
 block discarded – undo
282 282
 		$dir = '.';
283 283
 	}
284 284
 	// version installee par SVN
285
-	if (file_exists($dir . '/.svn/wc.db') && class_exists(\SQLite3::class)) {
286
-		$db = new SQLite3($dir . '/.svn/wc.db');
285
+	if (file_exists($dir.'/.svn/wc.db') && class_exists(\SQLite3::class)) {
286
+		$db = new SQLite3($dir.'/.svn/wc.db');
287 287
 		$result = $db->query('SELECT changed_revision FROM nodes WHERE local_relpath = "" LIMIT 1');
288 288
 		if ($result) {
289 289
 			$row = $result->fetchArray();
@@ -301,12 +301,12 @@  discard block
 block discarded – undo
301 301
 
302 302
 // La matrice est necessaire pour ne filtrer _que_ des fonctions definies dans filtres_images
303 303
 // et laisser passer les fonctions personnelles baptisees image_...
304
-$GLOBALS['spip_matrice']['image_graver'] = true;//'inc/filtres_images_mini.php';
305
-$GLOBALS['spip_matrice']['image_select'] = true;//'inc/filtres_images_mini.php';
306
-$GLOBALS['spip_matrice']['image_reduire'] = true;//'inc/filtres_images_mini.php';
307
-$GLOBALS['spip_matrice']['image_reduire_par'] = true;//'inc/filtres_images_mini.php';
308
-$GLOBALS['spip_matrice']['image_passe_partout'] = true;//'inc/filtres_images_mini.php';
309
-$GLOBALS['spip_matrice']['image_recadre_avec_fallback'] = true;//'inc/filtres_images_mini.php';
304
+$GLOBALS['spip_matrice']['image_graver'] = true; //'inc/filtres_images_mini.php';
305
+$GLOBALS['spip_matrice']['image_select'] = true; //'inc/filtres_images_mini.php';
306
+$GLOBALS['spip_matrice']['image_reduire'] = true; //'inc/filtres_images_mini.php';
307
+$GLOBALS['spip_matrice']['image_reduire_par'] = true; //'inc/filtres_images_mini.php';
308
+$GLOBALS['spip_matrice']['image_passe_partout'] = true; //'inc/filtres_images_mini.php';
309
+$GLOBALS['spip_matrice']['image_recadre_avec_fallback'] = true; //'inc/filtres_images_mini.php';
310 310
 
311 311
 $GLOBALS['spip_matrice']['couleur_html_to_hex'] = 'inc/filtres_images_mini.php';
312 312
 $GLOBALS['spip_matrice']['couleur_hex_to_hsl'] = 'inc/filtres_images_mini.php';
@@ -465,8 +465,8 @@  discard block
 block discarded – undo
465 465
  */
466 466
 function filtre_debug($val, $key = null) {
467 467
 	$debug = (
468
-		is_null($key) ? '' : (var_export($key, true) . ' = ')
469
-		) . var_export($val, true);
468
+		is_null($key) ? '' : (var_export($key, true).' = ')
469
+		).var_export($val, true);
470 470
 
471 471
 	include_spip('inc/autoriser');
472 472
 	if (autoriser('webmestre')) {
@@ -522,7 +522,7 @@  discard block
 block discarded – undo
522 522
 		$is_file = false;
523 523
 	}
524 524
 	if ($is_file) {
525
-		$is_local_file = function ($path) {
525
+		$is_local_file = function($path) {
526 526
 			if (strpos($path, '?') !== false) {
527 527
 				$path = supprimer_timestamp($path);
528 528
 				// remove ?24px added by find_in_theme on .svg files
@@ -571,7 +571,7 @@  discard block
 block discarded – undo
571 571
 					if ($mouseover = extraire_attribut($reduit, 'onmouseover')) {
572 572
 						if (preg_match(",this[.]src=['\"]([^'\"]+)['\"],ims", $mouseover, $match)) {
573 573
 							$srcover = $match[1];
574
-							$srcover_filter = $filtre("<img src='" . $match[1] . "' />", ...$args);
574
+							$srcover_filter = $filtre("<img src='".$match[1]."' />", ...$args);
575 575
 							$srcover_filter = extraire_attribut($srcover_filter, 'src');
576 576
 							$reduit = str_replace($srcover, $srcover_filter, $reduit);
577 577
 						}
@@ -972,7 +972,7 @@  discard block
 block discarded – undo
972 972
 	// " -> &quot; et tout ce genre de choses
973 973
 	$u = $GLOBALS['meta']['pcre_u'];
974 974
 	$texte = str_replace('&nbsp;', ' ', $texte);
975
-	$texte = preg_replace('/\s{2,}/S' . $u, ' ', $texte);
975
+	$texte = preg_replace('/\s{2,}/S'.$u, ' ', $texte);
976 976
 	// ne pas echapper les sinqle quotes car certains outils de syndication gerent mal
977 977
 	$texte = entites_html($texte, false, false);
978 978
 	// mais bien echapper les double quotes !
@@ -1032,7 +1032,7 @@  discard block
 block discarded – undo
1032 1032
  **/
1033 1033
 function supprimer_numero($texte) {
1034 1034
 	return preg_replace(
1035
-		',^[[:space:]]*([0-9]+)([.)]|' . chr(194) . '?' . chr(176) . ')[[:space:]]+,S',
1035
+		',^[[:space:]]*([0-9]+)([.)]|'.chr(194).'?'.chr(176).')[[:space:]]+,S',
1036 1036
 		'',
1037 1037
 		$texte
1038 1038
 	);
@@ -1060,7 +1060,7 @@  discard block
 block discarded – undo
1060 1060
 function recuperer_numero($texte) {
1061 1061
 	if (
1062 1062
 		preg_match(
1063
-			',^[[:space:]]*([0-9]+)([.)]|' . chr(194) . '?' . chr(176) . ')[[:space:]]+,S',
1063
+			',^[[:space:]]*([0-9]+)([.)]|'.chr(194).'?'.chr(176).')[[:space:]]+,S',
1064 1064
 			$texte,
1065 1065
 			$regs
1066 1066
 		)
@@ -1151,8 +1151,8 @@  discard block
 block discarded – undo
1151 1151
  **/
1152 1152
 function textebrut($texte) {
1153 1153
 	$u = $GLOBALS['meta']['pcre_u'];
1154
-	$texte = preg_replace('/\s+/S' . $u, ' ', $texte);
1155
-	$texte = preg_replace('/<(p|br)( [^>]*)?' . '>/iS', "\n\n", $texte);
1154
+	$texte = preg_replace('/\s+/S'.$u, ' ', $texte);
1155
+	$texte = preg_replace('/<(p|br)( [^>]*)?'.'>/iS', "\n\n", $texte);
1156 1156
 	$texte = preg_replace("/^\n+/", '', $texte);
1157 1157
 	$texte = preg_replace("/\n+$/", '', $texte);
1158 1158
 	$texte = preg_replace("/\n +/", "\n", $texte);
@@ -1186,7 +1186,7 @@  discard block
 block discarded – undo
1186 1186
 		)
1187 1187
 	) {
1188 1188
 		foreach ($liens[0] as $a) {
1189
-			$rel = 'noopener noreferrer ' . extraire_attribut($a, 'rel');
1189
+			$rel = 'noopener noreferrer '.extraire_attribut($a, 'rel');
1190 1190
 			$ablank = inserer_attribut($a, 'rel', $rel);
1191 1191
 			$ablank = inserer_attribut($ablank, 'target', '_blank');
1192 1192
 			$texte = str_replace($a, $ablank, $texte);
@@ -1211,7 +1211,7 @@  discard block
 block discarded – undo
1211 1211
 		foreach ($regs[0] as $a) {
1212 1212
 			$rel = extraire_attribut($a, 'rel') ?? '';
1213 1213
 			if (strpos($rel, 'nofollow') === false) {
1214
-				$rel = 'nofollow' . ($rel ? " $rel" : '');
1214
+				$rel = 'nofollow'.($rel ? " $rel" : '');
1215 1215
 				$anofollow = inserer_attribut($a, 'rel', $rel);
1216 1216
 				$texte = str_replace($a, $anofollow, $texte);
1217 1217
 			}
@@ -1240,7 +1240,7 @@  discard block
 block discarded – undo
1240 1240
 	$u = $GLOBALS['meta']['pcre_u'];
1241 1241
 	$texte = preg_replace('@</p>@iS', "\n", $texte);
1242 1242
 	$texte = preg_replace("@<p\b.*>@UiS", '<br />', $texte);
1243
-	$texte = preg_replace('@^\s*<br />@S' . $u, '', $texte);
1243
+	$texte = preg_replace('@^\s*<br />@S'.$u, '', $texte);
1244 1244
 
1245 1245
 	return $texte;
1246 1246
 }
@@ -1271,7 +1271,7 @@  discard block
 block discarded – undo
1271 1271
 		return $texte;
1272 1272
 	}
1273 1273
 	include_spip('inc/texte');
1274
-	$tag = preg_match(',</?(' . _BALISES_BLOCS . ')[>[:space:]],iS', $texte) ?
1274
+	$tag = preg_match(',</?('._BALISES_BLOCS.')[>[:space:]],iS', $texte) ?
1275 1275
 		'div' : 'span';
1276 1276
 
1277 1277
 	return "<$tag style='word-wrap:break-word;'>$texte</$tag>";
@@ -1383,7 +1383,7 @@  discard block
 block discarded – undo
1383 1383
 	}
1384 1384
 	$u = $GLOBALS['meta']['pcre_u'];
1385 1385
 	if ($textebrut) {
1386
-		$texte = preg_replace([",\n,", ',\s(?=\s),msS' . $u], [' ', ''], textebrut($texte));
1386
+		$texte = preg_replace([",\n,", ',\s(?=\s),msS'.$u], [' ', ''], textebrut($texte));
1387 1387
 	}
1388 1388
 	$texte = texte_backend($texte);
1389 1389
 	$texte = str_replace(["'", '"'], ['&#039;', '&#034;'], $texte);
@@ -1418,7 +1418,7 @@  discard block
 block discarded – undo
1418 1418
 	# un message pour abs_url
1419 1419
 	$GLOBALS['mode_abs_url'] = 'url';
1420 1420
 	$url = trim($url);
1421
-	$r = ',^(?:' . _PROTOCOLES_STD . '):?/?/?$,iS';
1421
+	$r = ',^(?:'._PROTOCOLES_STD.'):?/?/?$,iS';
1422 1422
 
1423 1423
 	return preg_match($r, $url) ? '' : ($entites ? entites_html($url) : $url);
1424 1424
 }
@@ -1618,14 +1618,14 @@  discard block
 block discarded – undo
1618 1618
 	if (strpos($texte, '<') !== false) {
1619 1619
 		include_spip('inc/lien');
1620 1620
 		if (defined('_PREG_MODELE')) {
1621
-			$preg_modeles = '@' . _PREG_MODELE . '@imsS';
1621
+			$preg_modeles = '@'._PREG_MODELE.'@imsS';
1622 1622
 			$texte = echappe_html($texte, '', true, $preg_modeles);
1623 1623
 		}
1624 1624
 	}
1625 1625
 
1626 1626
 	$debut = '';
1627 1627
 	$suite = $texte;
1628
-	while ($t = strpos('-' . $suite, "\n", 1)) {
1628
+	while ($t = strpos('-'.$suite, "\n", 1)) {
1629 1629
 		$debut .= substr($suite, 0, $t - 1);
1630 1630
 		$suite = substr($suite, $t);
1631 1631
 		$car = substr($suite, 0, 1);
@@ -1643,11 +1643,11 @@  discard block
 block discarded – undo
1643 1643
 			$suite = substr($suite, strlen($regs[0]));
1644 1644
 		}
1645 1645
 	}
1646
-	$texte = $debut . $suite;
1646
+	$texte = $debut.$suite;
1647 1647
 
1648 1648
 	$texte = echappe_retour($texte);
1649 1649
 
1650
-	return $texte . $fin;
1650
+	return $texte.$fin;
1651 1651
 }
1652 1652
 
1653 1653
 
@@ -1709,7 +1709,7 @@  discard block
 block discarded – undo
1709 1709
 		}
1710 1710
 
1711 1711
 		foreach ($regs as $reg) {
1712
-			$cle = ($reg[1] ? $reg[1] . ':' : '') . $reg[2];
1712
+			$cle = ($reg[1] ? $reg[1].':' : '').$reg[2];
1713 1713
 			$desc = $traduire($cle, $lang, true);
1714 1714
 			$l = $desc->langue;
1715 1715
 			// si pas de traduction, on laissera l'écriture de l'idiome entier dans le texte.
@@ -1823,9 +1823,9 @@  discard block
 block discarded – undo
1823 1823
 					// il ne faut pas echapper en div si propre produit un seul paragraphe
1824 1824
 					include_spip('inc/texte');
1825 1825
 					$trad_propre = preg_replace(',(^<p[^>]*>|</p>$),Uims', '', propre($trad));
1826
-					$mode = preg_match(',</?(' . _BALISES_BLOCS . ')[>[:space:]],iS', $trad_propre) ? 'div' : 'span';
1826
+					$mode = preg_match(',</?('._BALISES_BLOCS.')[>[:space:]],iS', $trad_propre) ? 'div' : 'span';
1827 1827
 					if ($mode === 'div') {
1828
-						$trad = rtrim($trad) . "\n\n";
1828
+						$trad = rtrim($trad)."\n\n";
1829 1829
 					}
1830 1830
 					$trad = code_echappement($trad, 'multi', false, $mode);
1831 1831
 					$trad = str_replace("'", '"', inserer_attribut($trad, 'lang', $l));
@@ -2025,7 +2025,7 @@  discard block
 block discarded – undo
2025 2025
 	if (is_array($balise)) {
2026 2026
 		array_walk(
2027 2027
 			$balise,
2028
-			function (&$a, $key, $t) {
2028
+			function(&$a, $key, $t) {
2029 2029
 				$a = extraire_attribut($a, $t);
2030 2030
 			},
2031 2031
 			$attribut
@@ -2122,14 +2122,14 @@  discard block
 block discarded – undo
2122 2122
 
2123 2123
 	if ($old !== null) {
2124 2124
 		// Remplacer l'ancien attribut du meme nom
2125
-		$balise = $r[1] . $insert . $r[5];
2125
+		$balise = $r[1].$insert.$r[5];
2126 2126
 	} else {
2127 2127
 		// preferer une balise " />" (comme <img />)
2128 2128
 		if (preg_match(',/>,', $balise)) {
2129
-			$balise = preg_replace(',\s?/>,S', $insert . ' />', $balise, 1);
2129
+			$balise = preg_replace(',\s?/>,S', $insert.' />', $balise, 1);
2130 2130
 		} // sinon une balise <a ...> ... </a>
2131 2131
 		else {
2132
-			$balise = preg_replace(',\s?>,S', $insert . '>', $balise, 1);
2132
+			$balise = preg_replace(',\s?>,S', $insert.'>', $balise, 1);
2133 2133
 		}
2134 2134
 	}
2135 2135
 
@@ -2184,7 +2184,7 @@  discard block
 block discarded – undo
2184 2184
 		if (
2185 2185
 			$class_courante
2186 2186
 			and strpos($class_courante, (string) $c) !== false
2187
-			and preg_match('/(^|\s)' . preg_quote($c) . '($|\s)/', $class_courante)
2187
+			and preg_match('/(^|\s)'.preg_quote($c).'($|\s)/', $class_courante)
2188 2188
 		) {
2189 2189
 			$is_class_presente = true;
2190 2190
 		}
@@ -2192,12 +2192,12 @@  discard block
 block discarded – undo
2192 2192
 			in_array($operation, ['ajouter', 'commuter'])
2193 2193
 			and !$is_class_presente
2194 2194
 		) {
2195
-			$class_new = ltrim(rtrim($class_new ?? '') . ' ' . $c);
2195
+			$class_new = ltrim(rtrim($class_new ?? '').' '.$c);
2196 2196
 		} elseif (
2197 2197
 			in_array($operation, ['supprimer', 'commuter'])
2198 2198
 			and $is_class_presente
2199 2199
 		) {
2200
-			$class_new = trim(preg_replace('/(^|\s)' . preg_quote($c) . '($|\s)/', "\\1", $class_new));
2200
+			$class_new = trim(preg_replace('/(^|\s)'.preg_quote($c).'($|\s)/', "\\1", $class_new));
2201 2201
 		}
2202 2202
 	}
2203 2203
 
@@ -2260,7 +2260,7 @@  discard block
 block discarded – undo
2260 2260
 // Quelques fonctions de calcul arithmetique
2261 2261
 //
2262 2262
 function floatstr($a) {
2263
- return str_replace(',', '.', (string)floatval($a));
2263
+ return str_replace(',', '.', (string) floatval($a));
2264 2264
 }
2265 2265
 function strize($f, $a, $b) {
2266 2266
  return floatstr($f(floatstr($a), floatstr($b)));
@@ -2396,13 +2396,13 @@  discard block
 block discarded – undo
2396 2396
 	if (!defined('_TAGS_NOM_AUTEUR')) {
2397 2397
 		define('_TAGS_NOM_AUTEUR', '');
2398 2398
 	}
2399
-	$tags_acceptes = array_unique(explode(',', 'multi,' . _TAGS_NOM_AUTEUR));
2399
+	$tags_acceptes = array_unique(explode(',', 'multi,'._TAGS_NOM_AUTEUR));
2400 2400
 	foreach ($tags_acceptes as $tag) {
2401 2401
 		if (strlen($tag)) {
2402
-			$remp1[] = '<' . trim($tag) . '>';
2403
-			$remp1[] = '</' . trim($tag) . '>';
2404
-			$remp2[] = '\x60' . trim($tag) . '\x61';
2405
-			$remp2[] = '\x60/' . trim($tag) . '\x61';
2402
+			$remp1[] = '<'.trim($tag).'>';
2403
+			$remp1[] = '</'.trim($tag).'>';
2404
+			$remp2[] = '\x60'.trim($tag).'\x61';
2405
+			$remp2[] = '\x60/'.trim($tag).'\x61';
2406 2406
 		}
2407 2407
 	}
2408 2408
 	$v_nom = str_replace($remp2, $remp1, supprimer_tags(str_replace($remp1, $remp2, $nom)));
@@ -2456,7 +2456,7 @@  discard block
 block discarded – undo
2456 2456
 				. http_img_pack(
2457 2457
 					'attachment-16.png',
2458 2458
 					$t,
2459
-					'title="' . attribut_html($t) . '"'
2459
+					'title="'.attribut_html($t).'"'
2460 2460
 				)
2461 2461
 				. '</a>',
2462 2462
 				$tag
@@ -2520,10 +2520,10 @@  discard block
 block discarded – undo
2520 2520
 	$fichier = basename($url);
2521 2521
 
2522 2522
 	return '<a rel="enclosure"'
2523
-	. ($url ? ' href="' . spip_htmlspecialchars($url) . '"' : '')
2524
-	. ($type ? ' type="' . spip_htmlspecialchars($type) . '"' : '')
2525
-	. ($length ? ' title="' . spip_htmlspecialchars($length) . '"' : '')
2526
-	. '>' . $fichier . '</a>';
2523
+	. ($url ? ' href="'.spip_htmlspecialchars($url).'"' : '')
2524
+	. ($type ? ' type="'.spip_htmlspecialchars($type).'"' : '')
2525
+	. ($length ? ' title="'.spip_htmlspecialchars($length).'"' : '')
2526
+	. '>'.$fichier.'</a>';
2527 2527
 }
2528 2528
 
2529 2529
 /**
@@ -2551,9 +2551,9 @@  discard block
 block discarded – undo
2551 2551
 			} # vieux data
2552 2552
 			$fichier = basename($url);
2553 2553
 			$enclosures[] = '<enclosure'
2554
-				. ($url ? ' url="' . spip_htmlspecialchars($url) . '"' : '')
2555
-				. ($type ? ' type="' . spip_htmlspecialchars($type) . '"' : '')
2556
-				. ($length ? ' length="' . $length . '"' : '')
2554
+				. ($url ? ' url="'.spip_htmlspecialchars($url).'"' : '')
2555
+				. ($type ? ' type="'.spip_htmlspecialchars($type).'"' : '')
2556
+				. ($length ? ' length="'.$length.'"' : '')
2557 2557
 				. ' />';
2558 2558
 		}
2559 2559
 	}
@@ -2579,7 +2579,7 @@  discard block
 block discarded – undo
2579 2579
 		if (extraire_attribut($e, 'rel') == 'tag') {
2580 2580
 			$subjects .= '<dc:subject>'
2581 2581
 				. texte_backend(textebrut($e))
2582
-				. '</dc:subject>' . "\n";
2582
+				. '</dc:subject>'."\n";
2583 2583
 		}
2584 2584
 	}
2585 2585
 
@@ -2615,7 +2615,7 @@  discard block
 block discarded – undo
2615 2615
 	if (is_array($texte)) {
2616 2616
 		array_walk(
2617 2617
 			$texte,
2618
-			function (&$a, $key, $t) {
2618
+			function(&$a, $key, $t) {
2619 2619
 				$a = extraire_balise($a, $t);
2620 2620
 			},
2621 2621
 			$tag
@@ -2663,7 +2663,7 @@  discard block
 block discarded – undo
2663 2663
 	if (is_array($texte)) {
2664 2664
 		array_walk(
2665 2665
 			$texte,
2666
-			function (&$a, $key, $t) {
2666
+			function(&$a, $key, $t) {
2667 2667
 				$a = extraire_balises($a, $t);
2668 2668
 			},
2669 2669
 			$tag
@@ -2796,7 +2796,7 @@  discard block
 block discarded – undo
2796 2796
 		if ($fond != '404') {
2797 2797
 			$contexte = array_shift($p);
2798 2798
 			$contexte['page'] = $fond;
2799
-			$action = preg_replace('/([?]' . preg_quote($fond) . '[^&=]*[0-9]+)(&|$)/', '?&', $action);
2799
+			$action = preg_replace('/([?]'.preg_quote($fond).'[^&=]*[0-9]+)(&|$)/', '?&', $action);
2800 2800
 		}
2801 2801
 	}
2802 2802
 	// defaire ce qu'a injecte urls_decoder_url : a revoir en modifiant la signature de urls_decoder_url
@@ -2851,9 +2851,9 @@  discard block
 block discarded – undo
2851 2851
 			. '"'
2852 2852
 			. (is_null($val)
2853 2853
 				? ''
2854
-				: ' value="' . entites_html($val) . '"'
2854
+				: ' value="'.entites_html($val).'"'
2855 2855
 			)
2856
-			. ' type="hidden"' . "\n/>";
2856
+			. ' type="hidden"'."\n/>";
2857 2857
 	}
2858 2858
 
2859 2859
 	return join('', $hidden);
@@ -2963,7 +2963,7 @@  discard block
 block discarded – undo
2963 2963
 
2964 2964
 	return preg_replace_callback(
2965 2965
 		",url\s*\(\s*['\"]?([^'\"/#\s][^:]*)['\"]?\s*\),Uims",
2966
-		fn($x) => "url('" . suivre_lien($path, $x[1]) . "')",
2966
+		fn($x) => "url('".suivre_lien($path, $x[1])."')",
2967 2967
 		$contenu
2968 2968
 	);
2969 2969
 }
@@ -3024,14 +3024,14 @@  discard block
 block discarded – undo
3024 3024
 	) {
3025 3025
 		$distant = true;
3026 3026
 		$cssf = parse_url($css);
3027
-		$cssf = $cssf['path'] . ($cssf['query'] ? '?' . $cssf['query'] : '');
3027
+		$cssf = $cssf['path'].($cssf['query'] ? '?'.$cssf['query'] : '');
3028 3028
 		$cssf = preg_replace(',[?:&=],', '_', $cssf);
3029 3029
 	} else {
3030 3030
 		$distant = false;
3031 3031
 		$cssf = $css;
3032 3032
 		// 1. regarder d'abord si un fichier avec la bonne direction n'est pas aussi
3033 3033
 		//propose (rien a faire dans ce cas)
3034
-		$f = preg_replace(',(_rtl)?\.css$,i', '_' . $ndir . '.css', $css);
3034
+		$f = preg_replace(',(_rtl)?\.css$,i', '_'.$ndir.'.css', $css);
3035 3035
 		if (@file_exists($f)) {
3036 3036
 			return $f;
3037 3037
 		}
@@ -3041,7 +3041,7 @@  discard block
 block discarded – undo
3041 3041
 	$dir_var = sous_repertoire(_DIR_VAR, 'cache-css');
3042 3042
 	$f = $dir_var
3043 3043
 		. preg_replace(',.*/(.*?)(_rtl)?\.css,', '\1', $cssf)
3044
-		. '.' . substr(md5($cssf), 0, 4) . '_' . $ndir . '.css';
3044
+		. '.'.substr(md5($cssf), 0, 4).'_'.$ndir.'.css';
3045 3045
 
3046 3046
 	// la css peut etre distante (url absolue !)
3047 3047
 	if ($distant) {
@@ -3087,8 +3087,8 @@  discard block
 block discarded – undo
3087 3087
 		} // si la css_direction commence par $dir_var on la fait passer pour une absolue
3088 3088
 		elseif (substr($css_direction, 0, strlen($dir_var)) == $dir_var) {
3089 3089
 			$css_direction = substr($css_direction, strlen($dir_var));
3090
-			$src_faux_abs['/@@@@@@/' . $css_direction] = $css_direction;
3091
-			$css_direction = '/@@@@@@/' . $css_direction;
3090
+			$src_faux_abs['/@@@@@@/'.$css_direction] = $css_direction;
3091
+			$css_direction = '/@@@@@@/'.$css_direction;
3092 3092
 		}
3093 3093
 		$src[] = $regs[0][$k];
3094 3094
 		$src_direction_css[] = str_replace($import_css, $css_direction, $regs[0][$k]);
@@ -3137,7 +3137,7 @@  discard block
 block discarded – undo
3137 3137
 
3138 3138
 	$f = basename($css, '.css');
3139 3139
 	$f = sous_repertoire(_DIR_VAR, 'cache-css')
3140
-		. preg_replace(',(.*?)(_rtl|_ltr)?$,', "\\1-urlabs-" . substr(md5("$css-urlabs"), 0, 4) . "\\2", $f)
3140
+		. preg_replace(',(.*?)(_rtl|_ltr)?$,', "\\1-urlabs-".substr(md5("$css-urlabs"), 0, 4)."\\2", $f)
3141 3141
 		. '.css';
3142 3142
 
3143 3143
 	if ((@filemtime($f) > @filemtime($css)) and (_VAR_MODE != 'recalcul')) {
@@ -3147,7 +3147,7 @@  discard block
 block discarded – undo
3147 3147
 	if ($url_absolue_css == $css) {
3148 3148
 		if (
3149 3149
 			strncmp($GLOBALS['meta']['adresse_site'], $css, $l = strlen($GLOBALS['meta']['adresse_site'])) != 0
3150
-			or !lire_fichier(_DIR_RACINE . substr($css, $l), $contenu)
3150
+			or !lire_fichier(_DIR_RACINE.substr($css, $l), $contenu)
3151 3151
 		) {
3152 3152
 			include_spip('inc/distant');
3153 3153
 			$contenu = recuperer_url($css);
@@ -3259,7 +3259,7 @@  discard block
 block discarded – undo
3259 3259
 	$expression = str_replace('\/', '/', $expression);
3260 3260
 	$expression = str_replace('/', '\/', $expression);
3261 3261
 
3262
-	if (preg_match('/' . $expression . '/' . $modif, $texte ?? '', $r)) {
3262
+	if (preg_match('/'.$expression.'/'.$modif, $texte ?? '', $r)) {
3263 3263
 		if (isset($r[$capte])) {
3264 3264
 			return $r[$capte];
3265 3265
 		} else {
@@ -3297,7 +3297,7 @@  discard block
 block discarded – undo
3297 3297
 	$expression = str_replace('\/', '/', $expression);
3298 3298
 	$expression = str_replace('/', '\/', $expression);
3299 3299
 
3300
-	return preg_replace('/' . $expression . '/' . $modif, $replace, $texte);
3300
+	return preg_replace('/'.$expression.'/'.$modif, $replace, $texte);
3301 3301
 }
3302 3302
 
3303 3303
 
@@ -3316,7 +3316,7 @@  discard block
 block discarded – undo
3316 3316
 function traiter_doublons_documents(&$doublons, $letexte) {
3317 3317
 
3318 3318
 	// Verifier dans le texte & les notes (pas beau, helas)
3319
-	$t = $letexte . $GLOBALS['les_notes'];
3319
+	$t = $letexte.$GLOBALS['les_notes'];
3320 3320
 
3321 3321
 	if (
3322 3322
 		strstr($t, 'spip_document_') // evite le preg_match_all si inutile
@@ -3330,7 +3330,7 @@  discard block
 block discarded – undo
3330 3330
 		if (!isset($doublons['documents'])) {
3331 3331
 			$doublons['documents'] = '';
3332 3332
 		}
3333
-		$doublons['documents'] .= ',' . join(',', $matches[1]);
3333
+		$doublons['documents'] .= ','.join(',', $matches[1]);
3334 3334
 	}
3335 3335
 
3336 3336
 	return $letexte;
@@ -3387,7 +3387,7 @@  discard block
 block discarded – undo
3387 3387
 	if ($env) {
3388 3388
 		foreach ($env as $i => $j) {
3389 3389
 			if (is_string($j) and !in_array($i, $ignore_params)) {
3390
-				$texte .= "<param name='" . attribut_html($i) . "'\n\tvalue='" . attribut_html($j) . "' />";
3390
+				$texte .= "<param name='".attribut_html($i)."'\n\tvalue='".attribut_html($j)."' />";
3391 3391
 			}
3392 3392
 		}
3393 3393
 	}
@@ -3426,7 +3426,7 @@  discard block
 block discarded – undo
3426 3426
 	if ($env) {
3427 3427
 		foreach ($env as $i => $j) {
3428 3428
 			if (is_string($j) and !in_array($i, $ignore_params)) {
3429
-				$texte .= attribut_html($i) . "='" . attribut_html($j) . "' ";
3429
+				$texte .= attribut_html($i)."='".attribut_html($j)."' ";
3430 3430
 			}
3431 3431
 		}
3432 3432
 	}
@@ -3500,10 +3500,10 @@  discard block
 block discarded – undo
3500 3500
 	// si il y a un .svg a la bonne taille (-16.svg) a cote, on l'utilise en remplacement du -16.png
3501 3501
 	if (
3502 3502
 		preg_match(',-(\d+)[.](png|gif|svg)$,', $img_file, $m)
3503
-		and $variante_svg_generique = substr($img_file, 0, -strlen($m[0])) . '-xx.svg'
3503
+		and $variante_svg_generique = substr($img_file, 0, -strlen($m[0])).'-xx.svg'
3504 3504
 		and file_exists($variante_svg_generique)
3505 3505
 	) {
3506
-		if ($variante_svg_size = substr($variante_svg_generique, 0, -6) . $m[1] . '.svg' and file_exists($variante_svg_size)) {
3506
+		if ($variante_svg_size = substr($variante_svg_generique, 0, -6).$m[1].'.svg' and file_exists($variante_svg_size)) {
3507 3507
 			$img_file = $variante_svg_size;
3508 3508
 		}
3509 3509
 		else {
@@ -3561,7 +3561,7 @@  discard block
 block discarded – undo
3561 3561
 				return '';
3562 3562
 			}
3563 3563
 		}
3564
-		$atts .= " width='" . $largeur . "' height='" . $hauteur . "'";
3564
+		$atts .= " width='".$largeur."' height='".$hauteur."'";
3565 3565
 	}
3566 3566
 
3567 3567
 	if (file_exists($img_file)) {
@@ -3571,14 +3571,14 @@  discard block
 block discarded – undo
3571 3571
 		$alt = '';
3572 3572
 	}
3573 3573
 	elseif ($alt or $alt === '') {
3574
-		$alt = " alt='" . attribut_html($alt) . "'";
3574
+		$alt = " alt='".attribut_html($alt)."'";
3575 3575
 	}
3576 3576
 	else {
3577
-		$alt = " alt='" . attribut_html($title) . "'";
3577
+		$alt = " alt='".attribut_html($title)."'";
3578 3578
 	}
3579 3579
 	return "<img src='$img_file'$alt"
3580
-	. ($title ? ' title="' . attribut_html($title) . '"' : '')
3581
-	. ' ' . ltrim($atts)
3580
+	. ($title ? ' title="'.attribut_html($title).'"' : '')
3581
+	. ' '.ltrim($atts)
3582 3582
 	. ' />';
3583 3583
 }
3584 3584
 
@@ -3592,10 +3592,10 @@  discard block
 block discarded – undo
3592 3592
  */
3593 3593
 function http_style_background($img, $att = '', $size = null) {
3594 3594
 	if ($size and is_numeric($size)) {
3595
-		$size = trim($size) . 'px';
3595
+		$size = trim($size).'px';
3596 3596
 	}
3597
-	return " style='background" .
3598
-		($att ? '' : '-image') . ': url("' . chemin_image($img) . '")' . ($att ? (' ' . $att) : '') . ';'
3597
+	return " style='background".
3598
+		($att ? '' : '-image').': url("'.chemin_image($img).'")'.($att ? (' '.$att) : '').';'
3599 3599
 		. ($size ? "background-size:{$size};" : '')
3600 3600
 		. "'";
3601 3601
 }
@@ -3710,7 +3710,7 @@  discard block
 block discarded – undo
3710 3710
 		$img = http_img_pack(
3711 3711
 			$img,
3712 3712
 			$alt,
3713
-			$class ? " class='" . attribut_html($class) . "'" : '',
3713
+			$class ? " class='".attribut_html($class)."'" : '',
3714 3714
 			'',
3715 3715
 			['chemin_image' => false, 'utiliser_suffixe_size' => false]
3716 3716
 		);
@@ -3795,7 +3795,7 @@  discard block
 block discarded – undo
3795 3795
 	$balise_svg_source = $balise_svg;
3796 3796
 
3797 3797
 	// entete XML à supprimer
3798
-	$svg = preg_replace(',^\s*<\?xml[^>]*\?' . '>,', '', $svg);
3798
+	$svg = preg_replace(',^\s*<\?xml[^>]*\?'.'>,', '', $svg);
3799 3799
 
3800 3800
 	// IE est toujours mon ami
3801 3801
 	$balise_svg = inserer_attribut($balise_svg, 'focusable', 'false');
@@ -3813,9 +3813,9 @@  discard block
 block discarded – undo
3813 3813
 	// regler le alt
3814 3814
 	if ($alt) {
3815 3815
 		$balise_svg = inserer_attribut($balise_svg, 'role', 'img');
3816
-		$id = 'img-svg-title-' . substr(md5("$img_file:$svg:$alt"), 0, 4);
3816
+		$id = 'img-svg-title-'.substr(md5("$img_file:$svg:$alt"), 0, 4);
3817 3817
 		$balise_svg = inserer_attribut($balise_svg, 'aria-labelledby', $id);
3818
-		$title = "<title id=\"$id\">" . entites_html($alt) . "</title>\n";
3818
+		$title = "<title id=\"$id\">".entites_html($alt)."</title>\n";
3819 3819
 		$balise_svg .= $title;
3820 3820
 	}
3821 3821
 	else {
@@ -3863,7 +3863,7 @@  discard block
 block discarded – undo
3863 3863
 	if (is_array($tableau)) {
3864 3864
 		foreach ($tableau as $k => $v) {
3865 3865
 			$res = recuperer_fond(
3866
-				'modeles/' . $modele,
3866
+				'modeles/'.$modele,
3867 3867
 				array_merge(['cle' => $k], (is_array($v) ? $v : ['valeur' => $v]))
3868 3868
 			);
3869 3869
 			$texte .= $res;
@@ -4048,7 +4048,7 @@  discard block
 block discarded – undo
4048 4048
 	}
4049 4049
 
4050 4050
 	$c = serialize($c);
4051
-	$cle = calculer_cle_action($form . $c);
4051
+	$cle = calculer_cle_action($form.$c);
4052 4052
 	$c = "$cle:$c";
4053 4053
 
4054 4054
 	// on ne stocke pas les contextes dans des fichiers en cache
@@ -4106,15 +4106,15 @@  discard block
 block discarded – undo
4106 4106
 	}
4107 4107
 	// toujours encoder l'url source dans le bloc ajax
4108 4108
 	$r = self();
4109
-	$r = ' data-origin="' . $r . '"';
4109
+	$r = ' data-origin="'.$r.'"';
4110 4110
 	$class = 'ajaxbloc';
4111 4111
 	if ($ajaxid and is_string($ajaxid)) {
4112 4112
 		// ajaxid est normalement conforme a un nom de classe css
4113 4113
 		// on ne verifie pas la conformite, mais on passe entites_html par dessus par precaution
4114
-		$class .= ' ajax-id-' . entites_html($ajaxid);
4114
+		$class .= ' ajax-id-'.entites_html($ajaxid);
4115 4115
 	}
4116 4116
 
4117
-	return "<div class='$class' " . "data-ajax-env='$env'$r>\n$emboite</div><!--ajaxbloc-->\n";
4117
+	return "<div class='$class' "."data-ajax-env='$env'$r>\n$emboite</div><!--ajaxbloc-->\n";
4118 4118
 }
4119 4119
 
4120 4120
 /**
@@ -4158,7 +4158,7 @@  discard block
 block discarded – undo
4158 4158
 		$cle = substr($c, 0, $p);
4159 4159
 		$c = substr($c, $p + 1);
4160 4160
 
4161
-		if ($cle == calculer_cle_action($form . $c)) {
4161
+		if ($cle == calculer_cle_action($form.$c)) {
4162 4162
 			$env = @unserialize($c);
4163 4163
 			return $env;
4164 4164
 		}
@@ -4279,13 +4279,13 @@  discard block
 block discarded – undo
4279 4279
 				}
4280 4280
 			}
4281 4281
 		}
4282
-		$att .= 'class="' . ($class ? attribut_html($class) . ' ' : '') . (defined('_LIEN_OU_EXPOSE_CLASS_ON') ? _LIEN_OU_EXPOSE_CLASS_ON : 'on') . '"';
4282
+		$att .= 'class="'.($class ? attribut_html($class).' ' : '').(defined('_LIEN_OU_EXPOSE_CLASS_ON') ? _LIEN_OU_EXPOSE_CLASS_ON : 'on').'"';
4283 4283
 	} else {
4284 4284
 		$bal = 'a';
4285 4285
 		$att = "href='$url'"
4286
-			. ($title ? " title='" . attribut_html($title) . "'" : '')
4287
-			. ($class ? " class='" . attribut_html($class) . "'" : '')
4288
-			. ($rel ? " rel='" . attribut_html($rel) . "'" : '')
4286
+			. ($title ? " title='".attribut_html($title)."'" : '')
4287
+			. ($class ? " class='".attribut_html($class)."'" : '')
4288
+			. ($rel ? " rel='".attribut_html($rel)."'" : '')
4289 4289
 			. $evt;
4290 4290
 	}
4291 4291
 	if ($libelle === null) {
@@ -4424,7 +4424,7 @@  discard block
 block discarded – undo
4424 4424
 
4425 4425
 	// Icône
4426 4426
 	$icone = http_img_pack($fond, $alt, "width='$size' height='$size'");
4427
-	$icone = '<span class="icone-image' . ($fonction ? " icone-fonction icone-fonction-$fonction" : '') . "\">$icone</span>";
4427
+	$icone = '<span class="icone-image'.($fonction ? " icone-fonction icone-fonction-$fonction" : '')."\">$icone</span>";
4428 4428
 
4429 4429
 	// Markup final
4430 4430
 	if ($type == 'lien') {
@@ -4699,20 +4699,20 @@  discard block
 block discarded – undo
4699 4699
 		$class_form = 'ajax';
4700 4700
 		$class = str_replace('ajax', '', $class);
4701 4701
 	}
4702
-	$class_btn = 'submit ' . trim($class);
4702
+	$class_btn = 'submit '.trim($class);
4703 4703
 
4704 4704
 	if ($confirm) {
4705
-		$confirm = 'confirm("' . attribut_html($confirm) . '")';
4705
+		$confirm = 'confirm("'.attribut_html($confirm).'")';
4706 4706
 		if ($callback) {
4707 4707
 			$callback = "$confirm?($callback):false";
4708 4708
 		} else {
4709 4709
 			$callback = $confirm;
4710 4710
 		}
4711 4711
 	}
4712
-	$onclick = $callback ? " onclick='return " . addcslashes($callback, "'") . "'" : '';
4712
+	$onclick = $callback ? " onclick='return ".addcslashes($callback, "'")."'" : '';
4713 4713
 	$title = $title ? " title='$title'" : '';
4714 4714
 
4715
-	return "<form class='bouton_action_post $class_form' method='post' action='$url'><div>" . form_hidden($url)
4715
+	return "<form class='bouton_action_post $class_form' method='post' action='$url'><div>".form_hidden($url)
4716 4716
 	. "<button type='submit' class='$class_btn'$title$onclick>$libelle</button></div></form>";
4717 4717
 }
4718 4718
 
@@ -4777,14 +4777,14 @@  discard block
 block discarded – undo
4777 4777
 		$champ_titre = '';
4778 4778
 		if ($demande_titre) {
4779 4779
 			// si pas de titre declare mais champ titre, il sera peuple par le select *
4780
-			$champ_titre = (!empty($desc['titre'])) ? ', ' . $desc['titre'] : '';
4780
+			$champ_titre = (!empty($desc['titre'])) ? ', '.$desc['titre'] : '';
4781 4781
 		}
4782 4782
 		include_spip('base/abstract_sql');
4783 4783
 		include_spip('base/connect_sql');
4784 4784
 		$objets[$type_objet][$id_objet] = sql_fetsel(
4785
-			'*' . $champ_titre,
4785
+			'*'.$champ_titre,
4786 4786
 			$desc['table_sql'],
4787
-			id_table_objet($type_objet) . ' = ' . intval($id_objet)
4787
+			id_table_objet($type_objet).' = '.intval($id_objet)
4788 4788
 		);
4789 4789
 
4790 4790
 		// Toujours noter la longueur d'introduction, même si pas demandé cette fois-ci
@@ -4877,8 +4877,7 @@  discard block
 block discarded – undo
4877 4877
 	if (isset($ligne_sql['chapo'])) {
4878 4878
 		$chapo = $ligne_sql['chapo'];
4879 4879
 		$texte = strlen($descriptif) ?
4880
-			'' :
4881
-			"$chapo \n\n $texte";
4880
+			'' : "$chapo \n\n $texte";
4882 4881
 	}
4883 4882
 
4884 4883
 	// Longueur en paramètre, sinon celle renseignée dans la description de l'objet, sinon valeur en dur
@@ -4953,7 +4952,7 @@  discard block
 block discarded – undo
4953 4952
 		return $texte;
4954 4953
 	}
4955 4954
 
4956
-	$traitement = str_replace('%s', "'" . texte_script($texte) . "'", $traitement);
4955
+	$traitement = str_replace('%s', "'".texte_script($texte)."'", $traitement);
4957 4956
 
4958 4957
 	// Fournir $connect et $Pile[0] au traitement si besoin
4959 4958
 	$Pile = [0 => $env];
@@ -4987,7 +4986,7 @@  discard block
 block discarded – undo
4987 4986
 	}
4988 4987
 	$url = generer_objet_url($id_objet, $objet, '', '', null, '', $connect);
4989 4988
 
4990
-	return "<a href='$url' class='$objet'>" . couper($titre, $longueur) . '</a>';
4989
+	return "<a href='$url' class='$objet'>".couper($titre, $longueur).'</a>';
4991 4990
 }
4992 4991
 
4993 4992
 /**
@@ -5013,10 +5012,10 @@  discard block
 block discarded – undo
5013 5012
 function wrap($texte, $wrap) {
5014 5013
 	$balises = extraire_balises($wrap);
5015 5014
 	if (preg_match_all(",<([a-z]\w*)\b[^>]*>,UimsS", $wrap, $regs, PREG_PATTERN_ORDER)) {
5016
-		$texte = $wrap . $texte;
5015
+		$texte = $wrap.$texte;
5017 5016
 		$regs = array_reverse($regs[1]);
5018
-		$wrap = '</' . implode('></', $regs) . '>';
5019
-		$texte = $texte . $wrap;
5017
+		$wrap = '</'.implode('></', $regs).'>';
5018
+		$texte = $texte.$wrap;
5020 5019
 	}
5021 5020
 
5022 5021
 	return $texte;
@@ -5047,7 +5046,7 @@  discard block
 block discarded – undo
5047 5046
 
5048 5047
 	// caster $u en array si besoin
5049 5048
 	if (is_object($u)) {
5050
-		$u = (array)$u;
5049
+		$u = (array) $u;
5051 5050
 	}
5052 5051
 
5053 5052
 	if (is_array($u)) {
@@ -5069,7 +5068,7 @@  discard block
 block discarded – undo
5069 5068
 		// sinon on passe a la ligne et on indente
5070 5069
 		$i_str = str_pad('', $indent, ' ');
5071 5070
 		foreach ($u as $k => $v) {
5072
-			$out .= $join . $i_str . "$k: " . filtre_print_dist($v, $join, $indent + 2);
5071
+			$out .= $join.$i_str."$k: ".filtre_print_dist($v, $join, $indent + 2);
5073 5072
 		}
5074 5073
 
5075 5074
 		return $out;
@@ -5123,7 +5122,7 @@  discard block
 block discarded – undo
5123 5122
  * @return string
5124 5123
  */
5125 5124
 function objet_icone($objet, $taille = 24, $class = '') {
5126
-	$icone = objet_info($objet, 'icone_objet') . '-' . $taille . '.png';
5125
+	$icone = objet_info($objet, 'icone_objet').'-'.$taille.'.png';
5127 5126
 	$icone = chemin_image($icone);
5128 5127
 	$balise_img = charger_filtre('balise_img');
5129 5128
 
@@ -5149,7 +5148,7 @@  discard block
 block discarded – undo
5149 5148
  */
5150 5149
 function objet_T($objet, $chaine, $args = [], $options = []) {
5151 5150
 	$chaine = explode(':', $chaine);
5152
-	if ($t = _T($objet . ':' . end($chaine), $args, array_merge($options, ['force' => false]))) {
5151
+	if ($t = _T($objet.':'.end($chaine), $args, array_merge($options, ['force' => false]))) {
5153 5152
 		return $t;
5154 5153
 	}
5155 5154
 	$chaine = implode(':', $chaine);
@@ -5215,7 +5214,7 @@  discard block
 block discarded – undo
5215 5214
 	$cache = recuperer_fond($fond, $contexte, $options, $connect);
5216 5215
 
5217 5216
 	// calculer le nom de la css
5218
-	$dir_var = sous_repertoire(_DIR_VAR, 'cache-' . $extension);
5217
+	$dir_var = sous_repertoire(_DIR_VAR, 'cache-'.$extension);
5219 5218
 	$nom_safe = preg_replace(',\W,', '_', str_replace('.', '_', $fond));
5220 5219
 	$contexte_implicite = calculer_contexte_implicite();
5221 5220
 
@@ -5223,14 +5222,14 @@  discard block
 block discarded – undo
5223 5222
 	// mais on peut hasher selon le contenu a la demande, si plusieurs contextes produisent un meme contenu
5224 5223
 	// reduit la variabilite du nom et donc le nombre de css concatenees possibles in fine
5225 5224
 	if (isset($options['hash_on_content']) and $options['hash_on_content']) {
5226
-		$hash = md5($contexte_implicite['host'] . '::' . $cache);
5225
+		$hash = md5($contexte_implicite['host'].'::'.$cache);
5227 5226
 	}
5228 5227
 	else {
5229 5228
 		unset($contexte_implicite['notes']); // pas pertinent pour signaler un changeemnt de contenu pour des css/js
5230 5229
 		ksort($contexte);
5231
-		$hash = md5($fond . json_encode($contexte_implicite, JSON_THROW_ON_ERROR) . json_encode($contexte, JSON_THROW_ON_ERROR) . $connect);
5230
+		$hash = md5($fond.json_encode($contexte_implicite, JSON_THROW_ON_ERROR).json_encode($contexte, JSON_THROW_ON_ERROR).$connect);
5232 5231
 	}
5233
-	$filename = $dir_var . $extension . "dyn-$nom_safe-" . substr($hash, 0, 8) . ".$extension";
5232
+	$filename = $dir_var.$extension."dyn-$nom_safe-".substr($hash, 0, 8).".$extension";
5234 5233
 
5235 5234
 	// mettre a jour le fichier si il n'existe pas
5236 5235
 	// ou trop ancien
@@ -5238,8 +5237,8 @@  discard block
 block discarded – undo
5238 5237
 	// et recopie sur le fichier cible uniquement si il change
5239 5238
 	if (
5240 5239
 		!file_exists($filename)
5241
-		or !file_exists($filename . '.last')
5242
-		or (isset($cache['lastmodified']) and $cache['lastmodified'] and filemtime($filename . '.last') < $cache['lastmodified'])
5240
+		or !file_exists($filename.'.last')
5241
+		or (isset($cache['lastmodified']) and $cache['lastmodified'] and filemtime($filename.'.last') < $cache['lastmodified'])
5243 5242
 		or (defined('_VAR_MODE') and _VAR_MODE == 'recalcul')
5244 5243
 	) {
5245 5244
 		$contenu = $cache['texte'];
@@ -5260,10 +5259,10 @@  discard block
 block discarded – undo
5260 5259
 			}
5261 5260
 			// pas de date dans le commentaire car sinon ca invalide le md5 et force la maj
5262 5261
 			// mais on peut mettre un md5 du contenu, ce qui donne un aperu rapide si la feuille a change ou non
5263
-			$comment .= "}\n   md5:" . md5($contenu) . " */\n";
5262
+			$comment .= "}\n   md5:".md5($contenu)." */\n";
5264 5263
 		}
5265 5264
 		// et ecrire le fichier si il change
5266
-		ecrire_fichier_calcule_si_modifie($filename, $comment . $contenu, false, true);
5265
+		ecrire_fichier_calcule_si_modifie($filename, $comment.$contenu, false, true);
5267 5266
 	}
5268 5267
 
5269 5268
 	return timestamp($filename);
@@ -5489,7 +5488,7 @@  discard block
 block discarded – undo
5489 5488
 	if ($e > 0 and strlen($mid) > 8) {
5490 5489
 		$mid = '***...***';
5491 5490
 	}
5492
-	return substr($passe, 0, $e) . $mid . ($e > 0 ? substr($passe, -$e) : '');
5491
+	return substr($passe, 0, $e).$mid.($e > 0 ? substr($passe, -$e) : '');
5493 5492
 }
5494 5493
 
5495 5494
 
@@ -5551,7 +5550,7 @@  discard block
 block discarded – undo
5551 5550
 		case 'id':
5552 5551
 		case 'anchor':
5553 5552
 			if (preg_match(',^\d,', $texte)) {
5554
-				$texte = substr($type, 0, 1) . $texte;
5553
+				$texte = substr($type, 0, 1).$texte;
5555 5554
 			}
5556 5555
 	}
5557 5556
 
@@ -5561,9 +5560,9 @@  discard block
 block discarded – undo
5561 5560
 
5562 5561
 	if (strlen($texte) < $longueur_mini and $longueur_mini < $longueur_maxi) {
5563 5562
 		if (preg_match(',^\d,', $texte)) {
5564
-			$texte = ($type ? substr($type, 0, 1) : 's') . $texte;
5563
+			$texte = ($type ? substr($type, 0, 1) : 's').$texte;
5565 5564
 		}
5566
-		$texte .= $separateur . md5($original);
5565
+		$texte .= $separateur.md5($original);
5567 5566
 		$texte = substr($texte, 0, $longueur_mini);
5568 5567
 	}
5569 5568
 
Please login to merge, or discard this patch.
ecrire/public/composer.php 1 patch
Spacing   +44 added lines, -44 removed lines patch added patch discarded remove patch
@@ -55,7 +55,7 @@  discard block
 block discarded – undo
55 55
 		$GLOBALS['debug_objets']['courant'] = $nom;
56 56
 	}
57 57
 
58
-	$phpfile = sous_repertoire(_DIR_SKELS, '', false, true) . $nom . '.php';
58
+	$phpfile = sous_repertoire(_DIR_SKELS, '', false, true).$nom.'.php';
59 59
 
60 60
 	// si squelette est deja compile et perenne, le charger
61 61
 	if (!squelette_obsolete($phpfile, $source)) {
@@ -68,7 +68,7 @@  discard block
 block discarded – undo
68 68
 		#}
69 69
 	}
70 70
 
71
-	if (file_exists($lib = $squelette . '_fonctions' . '.php')) {
71
+	if (file_exists($lib = $squelette.'_fonctions'.'.php')) {
72 72
 		include_once $lib;
73 73
 	}
74 74
 
@@ -96,7 +96,7 @@  discard block
 block discarded – undo
96 96
 			eval("return true; $f ;");
97 97
 		} catch (\ParseError $e) {
98 98
 			// Code syntaxiquement faux (critere etc mal programme')
99
-			$msg = _T('zbug_erreur_compilation') . ' | Line ' . $e->getLine() . ' : ' . $e->getMessage();
99
+			$msg = _T('zbug_erreur_compilation').' | Line '.$e->getLine().' : '.$e->getMessage();
100 100
 			erreur_squelette($msg, $boucle);
101 101
 			// continuer pour trouver d'autres fautes eventuelles
102 102
 			// mais prevenir que c'est mort
@@ -124,7 +124,7 @@  discard block
 block discarded – undo
124 124
 
125 125
 	if (defined('_VAR_MODE') and _VAR_MODE == 'debug') {
126 126
 		// Tracer ce qui vient d'etre compile
127
-		$GLOBALS['debug_objets']['code'][$nom . 'tout'] = $code;
127
+		$GLOBALS['debug_objets']['code'][$nom.'tout'] = $code;
128 128
 
129 129
 		// si c'est ce que demande le debusqueur, lui passer la main
130 130
 		if (
@@ -148,13 +148,13 @@  discard block
 block discarded – undo
148 148
 		$code = "
149 149
 /*
150 150
  * Squelette : $sourcefile
151
- * Date :      " . gmdate('D, d M Y H:i:s', @filemtime($sourcefile)) . ' GMT
152
- * Compile :   ' . gmdate('D, d M Y H:i:s', time()) . ' GMT
153
- * ' . (!$boucles ? 'Pas de boucle' : ('Boucles :   ' . $noms)) . '
151
+ * Date :      ".gmdate('D, d M Y H:i:s', @filemtime($sourcefile)).' GMT
152
+ * Compile :   ' . gmdate('D, d M Y H:i:s', time()).' GMT
153
+ * ' . (!$boucles ? 'Pas de boucle' : ('Boucles :   '.$noms)).'
154 154
  */ ';
155 155
 	}
156 156
 
157
-	$code = '<' . "?php\n" . $code . join('', $boucles) . "\n";
157
+	$code = '<'."?php\n".$code.join('', $boucles)."\n";
158 158
 	if (!defined('_VAR_NOCACHE') or !_VAR_NOCACHE) {
159 159
 		ecrire_fichier($phpfile, $code);
160 160
 	}
@@ -216,7 +216,7 @@  discard block
 block discarded – undo
216 216
 			$j = join('-', array_map('ucwords', explode('-', strtolower($r[2]))));
217 217
 
218 218
 			if ($j == 'X-Spip-Filtre' and isset($headers[$j])) {
219
-				$headers[$j] .= '|' . $r[3];
219
+				$headers[$j] .= '|'.$r[3];
220 220
 			} else {
221 221
 				$headers[$j] = $r[3];
222 222
 			}
@@ -224,10 +224,10 @@  discard block
 block discarded – undo
224 224
 	}
225 225
 	// S'agit-il d'un resultat constant ou contenant du code php
226 226
 	$process_ins = (
227
-		strpos($corps, '<' . '?') === false
227
+		strpos($corps, '<'.'?') === false
228 228
 		or
229
-		(strpos($corps, '<' . '?xml') !== false and
230
-			strpos(str_replace('<' . '?xml', '', $corps), '<' . '?') === false)
229
+		(strpos($corps, '<'.'?xml') !== false and
230
+			strpos(str_replace('<'.'?xml', '', $corps), '<'.'?') === false)
231 231
 	)
232 232
 		? 'html'
233 233
 		: 'php';
@@ -256,10 +256,10 @@  discard block
 block discarded – undo
256 256
 
257 257
 		if ($process_ins == 'html') {
258 258
 			$skel['process_ins'] = (
259
-				strpos($corps, '<' . '?') === false
259
+				strpos($corps, '<'.'?') === false
260 260
 				or
261
-				(strpos($corps, '<' . '?xml') !== false and
262
-					strpos(str_replace('<' . '?xml', '', $corps), '<' . '?') === false)
261
+				(strpos($corps, '<'.'?xml') !== false and
262
+					strpos(str_replace('<'.'?xml', '', $corps), '<'.'?') === false)
263 263
 			)
264 264
 				? 'html'
265 265
 				: 'php';
@@ -277,7 +277,7 @@  discard block
 block discarded – undo
277 277
 //
278 278
 
279 279
 /** Code PHP pour inclure une balise dynamique à l'exécution d'une page */
280
-define('CODE_INCLURE_BALISE', '<' . '?php
280
+define('CODE_INCLURE_BALISE', '<'.'?php
281 281
 include_once("%s");
282 282
 if ($lang_select = "%s") $lang_select = lang_select($lang_select);
283 283
 inserer_balise_dynamique(balise_%s_dyn(%s), array(%s));
@@ -308,7 +308,7 @@  discard block
 block discarded – undo
308 308
 		// pas de lien symbolique sous Windows
309 309
 		and !(stristr(PHP_OS, 'WIN') and strpos($file, ':') !== false)
310 310
 	) {
311
-		$file = './" . _DIR_RACINE . "' . $file;
311
+		$file = './" . _DIR_RACINE . "'.$file;
312 312
 	}
313 313
 
314 314
 	$lang = $context_compil[4];
@@ -318,7 +318,7 @@  discard block
 block discarded – undo
318 318
 
319 319
 	$args = array_map('argumenter_squelette', $args);
320 320
 	if (!empty($context_compil['appel_php_depuis_modele'])) {
321
-		$args[0] = 'arguments_balise_dyn_depuis_modele(' . $args[0] . ')';
321
+		$args[0] = 'arguments_balise_dyn_depuis_modele('.$args[0].')';
322 322
 	}
323 323
 	$args = join(', ', $args);
324 324
 
@@ -352,14 +352,14 @@  discard block
 block discarded – undo
352 352
 	if (is_object($v)) {
353 353
 		return var_export($v, true);
354 354
 	} elseif (!is_array($v)) {
355
-		return "'" . texte_script((string) $v) . "'";
355
+		return "'".texte_script((string) $v)."'";
356 356
 	} else {
357 357
 		$out = [];
358 358
 		foreach ($v as $k => $val) {
359
-			$out [] = argumenter_squelette($k) . '=>' . argumenter_squelette($val);
359
+			$out [] = argumenter_squelette($k).'=>'.argumenter_squelette($val);
360 360
 		}
361 361
 
362
-		return 'array(' . join(', ', $out) . ')';
362
+		return 'array('.join(', ', $out).')';
363 363
 	}
364 364
 }
365 365
 
@@ -437,7 +437,7 @@  discard block
 block discarded – undo
437 437
 	}
438 438
 
439 439
 	// Y a-t-il une fonction de traitement des arguments ?
440
-	$f = 'balise_' . $nom_balise . '_stat';
440
+	$f = 'balise_'.$nom_balise.'_stat';
441 441
 
442 442
 	$r = !function_exists($f) ? $args : $f($args, $context_compil);
443 443
 
@@ -447,18 +447,18 @@  discard block
 block discarded – undo
447 447
 
448 448
 	// verifier que la fonction dyn est la,
449 449
 	// sinon se replier sur la generique si elle existe
450
-	if (!function_exists('balise_' . $nom_balise . '_dyn')) {
450
+	if (!function_exists('balise_'.$nom_balise.'_dyn')) {
451 451
 		if (
452 452
 			$balise_generique = chercher_balise_generique($nom)
453 453
 			and $nom_balise_generique = $balise_generique['nom_generique']
454
-			and $file = include_spip('balise/' . strtolower($nom_balise_generique))
455
-			and function_exists('balise_' . $nom_balise_generique . '_dyn')
454
+			and $file = include_spip('balise/'.strtolower($nom_balise_generique))
455
+			and function_exists('balise_'.$nom_balise_generique.'_dyn')
456 456
 		) {
457 457
 			// et lui injecter en premier arg le nom de la balise
458 458
 			array_unshift($r, $nom);
459 459
 			$nom_balise = $nom_balise_generique;
460 460
 			if (!_DIR_RESTREINT) {
461
-				$file = _DIR_RESTREINT_ABS . $file;
461
+				$file = _DIR_RESTREINT_ABS.$file;
462 462
 			}
463 463
 		} else {
464 464
 			$msg = ['zbug_balise_inexistante', ['from' => 'CVT', 'balise' => $nom]];
@@ -559,7 +559,7 @@  discard block
 block discarded – undo
559 559
 		$n = '';
560 560
 		foreach (explode(',', $liste) as $val) {
561 561
 			if ($a = intval($val) and $val === strval($a)) {
562
-				$n .= ',' . $val;
562
+				$n .= ','.$val;
563 563
 			}
564 564
 		}
565 565
 		if (strlen($n)) {
@@ -738,8 +738,8 @@  discard block
 block discarded – undo
738 738
 			// on construit le where une fois, puis on ajoute les where complentaires si besoin, et on reconstruit le where en fonction
739 739
 			$i = 0;
740 740
 			do {
741
-				$where[$k] = remplace_sous_requete($w, '(' . calculer_select(
742
-					[$sous[1] . ' AS id'],
741
+				$where[$k] = remplace_sous_requete($w, '('.calculer_select(
742
+					[$sous[1].' AS id'],
743 743
 					$from,
744 744
 					$from_type,
745 745
 					$wheresub,
@@ -752,7 +752,7 @@  discard block
 block discarded – undo
752 752
 					$id,
753 753
 					$serveur,
754 754
 					false
755
-				) . ')');
755
+				).')');
756 756
 				if (!$i) {
757 757
 					$i = 1;
758 758
 					$wherestring = calculer_where_to_string($where[$k]);
@@ -772,7 +772,7 @@  discard block
 block discarded – undo
772 772
 		if ($sous[0] == 'SUBSELECT') {
773 773
 			// c'est une sous requete explicite sous la forme identique a sql_select : (SUBSELECT,$select,$from,$where,$groupby,$orderby,$limit,$having)
774 774
 			array_push($where_simples, $sous[3]); // est-ce utile dans ce cas ?
775
-			$where[$k] = remplace_sous_requete($w, '(' . calculer_select(
775
+			$where[$k] = remplace_sous_requete($w, '('.calculer_select(
776 776
 				$sous[1], # select
777 777
 				$sous[2], #from
778 778
 				[], #from_type
@@ -787,7 +787,7 @@  discard block
 block discarded – undo
787 787
 				$id,
788 788
 				$serveur,
789 789
 				false
790
-			) . ')');
790
+			).')');
791 791
 		}
792 792
 		array_pop($where_simples);
793 793
 	}
@@ -850,15 +850,15 @@  discard block
 block discarded – undo
850 850
 			// sans recours a preg_match
851 851
 			// un implode(' ',..) est fait dans reinjecte_joint un peu plus bas
852 852
 			$afrom[$t][$cle] = [
853
-				"\n" .
854
-				($from_type[$cle] ?? 'INNER') . ' JOIN',
853
+				"\n".
854
+				($from_type[$cle] ?? 'INNER').' JOIN',
855 855
 				$from[$cle],
856 856
 				"AS $cle",
857 857
 				'ON (',
858 858
 				"$cle.$c",
859 859
 				'=',
860 860
 				"$t.$carr",
861
-				($and ? 'AND ' . $and : '') .
861
+				($and ? 'AND '.$and : '').
862 862
 				')'
863 863
 			];
864 864
 			if (isset($afrom[$cle])) {
@@ -896,7 +896,7 @@  discard block
 block discarded – undo
896 896
 		$t = key($from);
897 897
 		$c = current($from);
898 898
 		reset($from);
899
-		$e = '/\b(' . "$t\\." . join('|' . $t . '\.', $equiv) . ')\b/';
899
+		$e = '/\b('."$t\\.".join('|'.$t.'\.', $equiv).')\b/';
900 900
 		if (
901 901
 			!(strpos($t, ' ') or // jointure des le depart cf boucle_doc
902 902
 				calculer_jointnul($t, $select, $e) or
@@ -914,7 +914,7 @@  discard block
 block discarded – undo
914 914
 			unset($afrom[$t][$nt]);
915 915
 			$afrom[$nt] = $afrom[$t];
916 916
 			unset($afrom[$t]);
917
-			$e = '/\b' . preg_quote($nfrom[6]) . '\b/';
917
+			$e = '/\b'.preg_quote($nfrom[6]).'\b/';
918 918
 			$t = $nfrom[4];
919 919
 			$alias = '';
920 920
 			// verifier que les deux cles sont homonymes, sinon installer un alias dans le select
@@ -925,14 +925,14 @@  discard block
 block discarded – undo
925 925
 			if ($newcle != $oldcle) {
926 926
 				// si l'ancienne cle etait deja dans le select avec un AS
927 927
 				// reprendre simplement ce AS
928
-				$as = '/\b' . preg_quote($nfrom[6]) . '\s+(AS\s+\w+)\b/';
928
+				$as = '/\b'.preg_quote($nfrom[6]).'\s+(AS\s+\w+)\b/';
929 929
 				if (preg_match($as, implode(',', $select), $m)) {
930 930
 					$alias = '';
931 931
 				} else {
932
-					$alias = ', ' . $nfrom[4] . " AS $oldcle";
932
+					$alias = ', '.$nfrom[4]." AS $oldcle";
933 933
 				}
934 934
 			}
935
-			$select = remplacer_jointnul($t . $alias, $select, $e);
935
+			$select = remplacer_jointnul($t.$alias, $select, $e);
936 936
 			$join = remplacer_jointnul($t, $join, $e);
937 937
 			$where = remplacer_jointnul($t, $where, $e);
938 938
 			$having = remplacer_jointnul($t, $having, $e);
@@ -982,9 +982,9 @@  discard block
 block discarded – undo
982 982
 	} else {
983 983
 		$exp = '';
984 984
 		if (strtoupper($join) === 'AND') {
985
-			return $exp . join(" $join ", array_map('calculer_where_to_string', $v));
985
+			return $exp.join(" $join ", array_map('calculer_where_to_string', $v));
986 986
 		} else {
987
-			return $exp . join($join, $v);
987
+			return $exp.join($join, $v);
988 988
 		}
989 989
 	}
990 990
 }
@@ -1046,6 +1046,6 @@  discard block
 block discarded – undo
1046 1046
 	}
1047 1047
 
1048 1048
 	return $mime_type
1049
-	. (!$connect ? '' : preg_replace('/\W/', '_', $connect)) . '_'
1050
-	. md5($GLOBALS['spip_version_code'] . ' * ' . $skel . (isset($GLOBALS['marqueur_skel']) ? '*' . $GLOBALS['marqueur_skel'] : ''));
1049
+	. (!$connect ? '' : preg_replace('/\W/', '_', $connect)).'_'
1050
+	. md5($GLOBALS['spip_version_code'].' * '.$skel.(isset($GLOBALS['marqueur_skel']) ? '*'.$GLOBALS['marqueur_skel'] : ''));
1051 1051
 }
Please login to merge, or discard this patch.
ecrire/inc/traduire.php 1 patch
Spacing   +23 added lines, -23 removed lines patch added patch discarded remove patch
@@ -41,7 +41,7 @@  discard block
 block discarded – undo
41 41
 	static $dirs = [];
42 42
 	$liste = [];
43 43
 	foreach (creer_chemin() as $dir) {
44
-		if (!isset($dirs[$a = $dir . $dirname])) {
44
+		if (!isset($dirs[$a = $dir.$dirname])) {
45 45
 			$dirs[$a] = (is_dir($a) || !$a);
46 46
 		}
47 47
 		if ($dirs[$a]) {
@@ -67,21 +67,21 @@  discard block
 block discarded – undo
67 67
  **/
68 68
 function chercher_module_lang($module, $lang = '') {
69 69
 	if ($lang) {
70
-		$lang = '_' . $lang;
70
+		$lang = '_'.$lang;
71 71
 	}
72 72
 
73 73
 	// 1) dans un repertoire nomme lang/ se trouvant sur le chemin
74 74
 	if (
75 75
 		$f = ($module == 'local'
76
-		? find_in_path($module . $lang . '.php', 'lang/')
77
-		: find_langs_in_path($module . $lang . '.php', 'lang/'))
76
+		? find_in_path($module.$lang.'.php', 'lang/')
77
+		: find_langs_in_path($module.$lang.'.php', 'lang/'))
78 78
 	) {
79 79
 		return is_array($f) ? $f : [$f];
80 80
 	}
81 81
 
82 82
 	// 2) directement dans le chemin (old style, uniquement pour local)
83 83
 	return (($module == 'local') or strpos($module, '/'))
84
-		? (($f = find_in_path($module . $lang . '.php')) ? [$f] : false)
84
+		? (($f = find_in_path($module.$lang.'.php')) ? [$f] : false)
85 85
 		: false;
86 86
 }
87 87
 
@@ -105,7 +105,7 @@  discard block
 block discarded – undo
105 105
  **/
106 106
 function charger_langue($lang, $module = 'spip') {
107 107
 	static $langs = [];
108
-	$var = 'i18n_' . $module . '_' . $lang;
108
+	$var = 'i18n_'.$module.'_'.$lang;
109 109
 	if (!isset($langs[$lang])) {
110 110
 		$langs[$lang] = [];
111 111
 		if ($lang) {
@@ -120,13 +120,13 @@  discard block
 block discarded – undo
120 120
 	}
121 121
 	foreach ($langs[$lang] as $l) {
122 122
 		if ($fichiers_lang = chercher_module_lang($module, $l)) {
123
-			$GLOBALS['idx_lang'] = 'i18n_' . $module . '_' . $l;
123
+			$GLOBALS['idx_lang'] = 'i18n_'.$module.'_'.$l;
124 124
 			$GLOBALS[$GLOBALS['idx_lang']] = lire_fichier_langue(array_shift($fichiers_lang));
125 125
 			surcharger_langue($fichiers_lang);
126 126
 			if ($l !== $lang) {
127
-				$GLOBALS[$var] = &$GLOBALS['i18n_' . $module . '_' . $l];
127
+				$GLOBALS[$var] = &$GLOBALS['i18n_'.$module.'_'.$l];
128 128
 			}
129
-			$GLOBALS['lang_' . $var] = $l;
129
+			$GLOBALS['lang_'.$var] = $l;
130 130
 			#spip_log("module de langue : ${module}_$l.php", 'traduire');
131 131
 			break;
132 132
 		}
@@ -144,7 +144,7 @@  discard block
 block discarded – undo
144 144
  */
145 145
 function lire_fichier_langue(string $fichier): array {
146 146
 	$idx_lang_before = $GLOBALS['idx_lang'] ?? null;
147
-	$idx_lang_tmp = ($GLOBALS['idx_lang'] ?? 'lang') . '@temporaire';
147
+	$idx_lang_tmp = ($GLOBALS['idx_lang'] ?? 'lang').'@temporaire';
148 148
 	$GLOBALS['idx_lang'] = $idx_lang_tmp;
149 149
 	$idx_lang = include $fichier;
150 150
 	$GLOBALS['idx_lang'] = $idx_lang_before;
@@ -273,27 +273,27 @@  discard block
 block discarded – undo
273 273
 	} else {
274 274
 		$modules = ['spip', 'ecrire'];
275 275
 		$code = $ori;
276
-		$ori_complet = implode('|', $modules) . ':' . $ori;
276
+		$ori_complet = implode('|', $modules).':'.$ori;
277 277
 	}
278 278
 
279 279
 	$desc = new SPIP_Traductions_Description();
280 280
 
281 281
 	// parcourir tous les modules jusqu'a ce qu'on trouve
282 282
 	foreach ($modules as $module) {
283
-		$var = 'i18n_' . $module . '_' . $lang;
283
+		$var = 'i18n_'.$module.'_'.$lang;
284 284
 
285 285
 		if (empty($GLOBALS[$var])) {
286 286
 			charger_langue($lang, $module);
287 287
 			// surcharges persos -- on cherche
288 288
 			// (lang/)local_xx.php et/ou (lang/)local.php ...
289
-			if (!isset($local['local_' . $lang])) {
289
+			if (!isset($local['local_'.$lang])) {
290 290
 				// redéfinir la langue en cours pour les surcharges (chercher_langue a pu le changer)
291 291
 				$GLOBALS['idx_lang'] = $var;
292 292
 				// ... (lang/)local_xx.php
293
-				$local['local_' . $lang] = chercher_module_lang('local', $lang);
293
+				$local['local_'.$lang] = chercher_module_lang('local', $lang);
294 294
 			}
295
-			if ($local['local_' . $lang]) {
296
-				surcharger_langue($local['local_' . $lang]);
295
+			if ($local['local_'.$lang]) {
296
+				surcharger_langue($local['local_'.$lang]);
297 297
 			}
298 298
 			// ... puis (lang/)local.php
299 299
 			if (!isset($local['local'])) {
@@ -307,7 +307,7 @@  discard block
 block discarded – undo
307 307
 		if (isset($GLOBALS[$var][$code])) {
308 308
 			$desc->code = $code;
309 309
 			$desc->module = $module;
310
-			$desc->langue = $GLOBALS['lang_' . $var] ?? $lang;
310
+			$desc->langue = $GLOBALS['lang_'.$var] ?? $lang;
311 311
 			$desc->texte = $GLOBALS[$var][$code];
312 312
 			break;
313 313
 		}
@@ -365,13 +365,13 @@  discard block
 block discarded – undo
365 365
 	if (!$desc->mode and $desc->texte) {
366 366
 		// ne pas modifier 2 fois l'affichage
367 367
 		$desc->mode = 'traduction';
368
-		$classe = 'debug-traduction' . ($desc->module == 'ecrire' ? '-prive' : '');
368
+		$classe = 'debug-traduction'.($desc->module == 'ecrire' ? '-prive' : '');
369 369
 		$desc->texte = '<span '
370
-			. 'lang=' . $desc->langue
371
-			. ' class=' . $classe
372
-			. ' data-module=' . $desc->module
373
-			. ' data-code=' . $desc->code
374
-			. ' title=' . $modules . '(' . $desc->langue . ')>'
370
+			. 'lang='.$desc->langue
371
+			. ' class='.$classe
372
+			. ' data-module='.$desc->module
373
+			. ' data-code='.$desc->code
374
+			. ' title='.$modules.'('.$desc->langue.')>'
375 375
 			. $desc->texte
376 376
 			. '</span>';
377 377
 		$desc->texte = str_replace(
Please login to merge, or discard this patch.
ecrire/auth/spip.php 1 patch
Spacing   +27 added lines, -27 removed lines patch added patch discarded remove patch
@@ -49,7 +49,7 @@  discard block
 block discarded – undo
49 49
 		$row = sql_fetsel(
50 50
 			'*',
51 51
 			'spip_auteurs',
52
-			'login=' . sql_quote($login, $serveur, 'text') . " AND statut<>'5poubelle'",
52
+			'login='.sql_quote($login, $serveur, 'text')." AND statut<>'5poubelle'",
53 53
 			'',
54 54
 			'',
55 55
 			'',
@@ -75,7 +75,7 @@  discard block
 block discarded – undo
75 75
 	switch (strlen($row['pass'])) {
76 76
 		case 32:
77 77
 			// tres anciens mots de passe encodes en md5(alea.pass)
78
-			$md5pass = md5($row['alea_actuel'] . $pass);
78
+			$md5pass = md5($row['alea_actuel'].$pass);
79 79
 			if ($row['pass'] !== $md5pass) {
80 80
 				unset($row);
81 81
 			}
@@ -83,7 +83,7 @@  discard block
 block discarded – undo
83 83
 		case 64:
84 84
 			// anciens mots de passe encodes en sha256(alea.pass)
85 85
 			include_spip('auth/sha256.inc');
86
-			$shapass = spip_sha256($row['alea_actuel'] . $pass);
86
+			$shapass = spip_sha256($row['alea_actuel'].$pass);
87 87
 			if ($row['pass'] !== $shapass) {
88 88
 				unset($row);
89 89
 			}
@@ -99,12 +99,12 @@  discard block
 block discarded – undo
99 99
 				and !empty($row['backup_cles'])
100 100
 			) {
101 101
 				if ($cles->restore($row['backup_cles'], $pass, $row['pass'], $row['id_auteur'])) {
102
-					spip_log('Les cles secretes ont ete restaurées avec le backup du webmestre #' . $row['id_auteur'], 'auth' . _LOG_INFO_IMPORTANTE);
102
+					spip_log('Les cles secretes ont ete restaurées avec le backup du webmestre #'.$row['id_auteur'], 'auth'._LOG_INFO_IMPORTANTE);
103 103
 					$cles->save();
104 104
 				}
105 105
 				else {
106
-					spip_log('Pas de cle secrete disponible (fichier config/cle.php absent ?) mais le backup du webmestre #' . $row['id_auteur'] . " n'est pas valide", 'auth' . _LOG_ERREUR);
107
-					sql_updateq('spip_auteurs', ['backup_cles' => ''], 'id_auteur=' . intval($row['id_auteur']));
106
+					spip_log('Pas de cle secrete disponible (fichier config/cle.php absent ?) mais le backup du webmestre #'.$row['id_auteur']." n'est pas valide", 'auth'._LOG_ERREUR);
107
+					sql_updateq('spip_auteurs', ['backup_cles' => ''], 'id_auteur='.intval($row['id_auteur']));
108 108
 				}
109 109
 			}
110 110
 
@@ -148,7 +148,7 @@  discard block
 block discarded – undo
148 148
 			@sql_update(
149 149
 				'spip_auteurs',
150 150
 				$set,
151
-				'id_auteur=' . intval($row['id_auteur']) . ' AND pass=' . sql_quote(
151
+				'id_auteur='.intval($row['id_auteur']).' AND pass='.sql_quote(
152 152
 					$row['pass'],
153 153
 					$serveur,
154 154
 					'text'
@@ -191,20 +191,20 @@  discard block
 block discarded – undo
191 191
 
192 192
 	// si force, on ne verifie pas la presence d'un backup chez un webmestre
193 193
 	if ($force) {
194
-		spip_log('Pas de cle secrete disponible, on regenere une nouvelle cle forcee - tous les mots de passe sont invalides', 'auth' . _LOG_INFO_IMPORTANTE);
194
+		spip_log('Pas de cle secrete disponible, on regenere une nouvelle cle forcee - tous les mots de passe sont invalides', 'auth'._LOG_INFO_IMPORTANTE);
195 195
 		$secret = $cles->getSecretAuth(true);
196 196
 		return true;
197 197
 	}
198 198
 
199
-	$has_backup = sql_allfetsel('id_auteur', 'spip_auteurs', 'statut=' . sql_quote('0minirezo') . ' AND webmestre=' . sql_quote('oui') . " AND backup_cles!=''");
199
+	$has_backup = sql_allfetsel('id_auteur', 'spip_auteurs', 'statut='.sql_quote('0minirezo').' AND webmestre='.sql_quote('oui')." AND backup_cles!=''");
200 200
 	$has_backup = array_column($has_backup, 'id_auteur');
201 201
 	if (empty($has_backup)) {
202
-		spip_log("Pas de cle secrete disponible, et aucun webmestre n'a de backup, on regenere une nouvelle cle - tous les mots de passe sont invalides", 'auth' . _LOG_INFO_IMPORTANTE);
202
+		spip_log("Pas de cle secrete disponible, et aucun webmestre n'a de backup, on regenere une nouvelle cle - tous les mots de passe sont invalides", 'auth'._LOG_INFO_IMPORTANTE);
203 203
 		$secret = $cles->getSecretAuth(true);
204 204
 		return true;
205 205
 	}
206 206
 	else {
207
-		spip_log('Pas de cle secrete disponible (fichier config/cle.php absent ?) un des webmestres #' . implode(', #', $has_backup) . ' doit se connecter pour restaurer son backup des cles', 'auth' . _LOG_ERREUR);
207
+		spip_log('Pas de cle secrete disponible (fichier config/cle.php absent ?) un des webmestres #'.implode(', #', $has_backup).' doit se connecter pour restaurer son backup des cles', 'auth'._LOG_ERREUR);
208 208
 		return false;
209 209
 	}
210 210
 }
@@ -221,8 +221,8 @@  discard block
 block discarded – undo
221 221
 	$flux['data'] .=
222 222
 		  '<script type="text/javascript">/*<![CDATA[*/'
223 223
 		. "$js\n"
224
-		. "var login_info={'login':'" . $flux['args']['contexte']['var_login'] . "',"
225
-		. "'page_auteur': '" . generer_url_public('informer_auteur') . "',"
224
+		. "var login_info={'login':'".$flux['args']['contexte']['var_login']."',"
225
+		. "'page_auteur': '".generer_url_public('informer_auteur')."',"
226 226
 		. "'informe_auteur_en_cours':false,"
227 227
 		. "'attente_informe':0};"
228 228
 		. "jQuery(function(){jQuery('#var_login').change(actualise_auteur);});"
@@ -265,7 +265,7 @@  discard block
 block discarded – undo
265 265
 		} else {
266 266
 			$n = sql_countsel(
267 267
 				'spip_auteurs',
268
-				'login=' . sql_quote($new_login) . ' AND id_auteur!=' . intval($id_auteur) . " AND statut!='5poubelle'",
268
+				'login='.sql_quote($new_login).' AND id_auteur!='.intval($id_auteur)." AND statut!='5poubelle'",
269 269
 				'',
270 270
 				'',
271 271
 				$serveur
@@ -293,7 +293,7 @@  discard block
 block discarded – undo
293 293
 	}
294 294
 	if (
295 295
 		!$id_auteur = intval($id_auteur)
296
-		or !$auteur = sql_fetsel('login', 'spip_auteurs', 'id_auteur=' . intval($id_auteur), '', '', '', '', $serveur)
296
+		or !$auteur = sql_fetsel('login', 'spip_auteurs', 'id_auteur='.intval($id_auteur), '', '', '', '', $serveur)
297 297
 	) {
298 298
 		return false;
299 299
 	}
@@ -308,7 +308,7 @@  discard block
 block discarded – undo
308 308
 		$anciens = sql_allfetsel(
309 309
 			'id_auteur',
310 310
 			'spip_auteurs',
311
-			'login=' . sql_quote($new_login, $serveur, 'text') . " AND statut='5poubelle'",
311
+			'login='.sql_quote($new_login, $serveur, 'text')." AND statut='5poubelle'",
312 312
 			'',
313 313
 			'',
314 314
 			'',
@@ -342,8 +342,8 @@  discard block
 block discarded – undo
342 342
 		$r = sql_getfetsel(
343 343
 			'login',
344 344
 			'spip_auteurs',
345
-			"statut<>'5poubelle'" .
346
-			' AND (length(pass)>0)' .
345
+			"statut<>'5poubelle'".
346
+			' AND (length(pass)>0)'.
347 347
 			" AND (login=$l)",
348 348
 			'',
349 349
 			'',
@@ -362,8 +362,8 @@  discard block
 block discarded – undo
362 362
 		return sql_getfetsel(
363 363
 			'login',
364 364
 			'spip_auteurs',
365
-			"statut<>'5poubelle'" .
366
-			' AND (length(pass)>0)' .
365
+			"statut<>'5poubelle'".
366
+			' AND (length(pass)>0)'.
367 367
 			" AND (login<>'' AND (nom=$l OR email=$l))",
368 368
 			'',
369 369
 			'',
@@ -432,7 +432,7 @@  discard block
 block discarded – undo
432 432
 
433 433
 	if (
434 434
 		!$id_auteur = intval($id_auteur)
435
-		or !$auteur = sql_fetsel('login, statut, webmestre', 'spip_auteurs', 'id_auteur=' . intval($id_auteur), '', '', '', '', $serveur)
435
+		or !$auteur = sql_fetsel('login, statut, webmestre', 'spip_auteurs', 'id_auteur='.intval($id_auteur), '', '', '', '', $serveur)
436 436
 	) {
437 437
 		return false;
438 438
 	}
@@ -493,8 +493,8 @@  discard block
 block discarded – undo
493 493
 		or isset($champs['statut'])
494 494
 		or (isset($options['all']) and $options['all'])
495 495
 	) {
496
-		$htaccess = _DIR_RESTREINT . _ACCESS_FILE_NAME;
497
-		$htpasswd = _DIR_TMP . _AUTH_USER_FILE;
496
+		$htaccess = _DIR_RESTREINT._ACCESS_FILE_NAME;
497
+		$htpasswd = _DIR_TMP._AUTH_USER_FILE;
498 498
 
499 499
 		// Cette variable de configuration peut etre posee par un plugin
500 500
 		// par exemple acces_restreint ;
@@ -504,7 +504,7 @@  discard block
 block discarded – undo
504 504
 			and !@file_exists($htaccess)
505 505
 		) {
506 506
 			spip_unlink($htpasswd);
507
-			spip_unlink($htpasswd . '-admin');
507
+			spip_unlink($htpasswd.'-admin');
508 508
 
509 509
 			return;
510 510
 		}
@@ -522,16 +522,16 @@  discard block
 block discarded – undo
522 522
 		);
523 523
 		while ($t = sql_fetch($s)) {
524 524
 			if (strlen($t['login']) and strlen($t['htpass'])) {
525
-				$p1 .= $t['login'] . ':' . $t['htpass'] . "\n";
525
+				$p1 .= $t['login'].':'.$t['htpass']."\n";
526 526
 				if ($t['statut'] == '0minirezo') {
527
-					$p2 .= $t['login'] . ':' . $t['htpass'] . "\n";
527
+					$p2 .= $t['login'].':'.$t['htpass']."\n";
528 528
 				}
529 529
 			}
530 530
 		}
531 531
 		sql_free($s);
532 532
 		if ($p1) {
533 533
 			ecrire_fichier($htpasswd, $p1);
534
-			ecrire_fichier($htpasswd . '-admin', $p2);
534
+			ecrire_fichier($htpasswd.'-admin', $p2);
535 535
 			spip_log("Ecriture de $htpasswd et $htpasswd-admin");
536 536
 		}
537 537
 	}
Please login to merge, or discard this patch.
ecrire/inc/securiser_action.php 1 patch
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -93,7 +93,7 @@  discard block
 block discarded – undo
93 93
 	}
94 94
 
95 95
 	$arg = parametre_url($url_action, 'arg');
96
-	$confirm = md5("$action:$arg:" . realpath(__FILE__));
96
+	$confirm = md5("$action:$arg:".realpath(__FILE__));
97 97
 	if (_request('confirm_action') === $confirm) {
98 98
 		return true;
99 99
 	}
@@ -146,7 +146,7 @@  discard block
 block discarded – undo
146 146
 		} else {
147 147
 			return generer_url_action(
148 148
 				$action,
149
-				'arg=' . rawurlencode($arg) . "&hash=$hash" . (!$r ? '' : "&redirect=$r"),
149
+				'arg='.rawurlencode($arg)."&hash=$hash".(!$r ? '' : "&redirect=$r"),
150 150
 				$mode,
151 151
 				$public
152 152
 			);
@@ -157,9 +157,9 @@  discard block
 block discarded – undo
157 157
 	$hash = calculer_action_auteur("$action-$arg");
158 158
 	$att .= " style='margin: 0px; border: 0px'";
159 159
 	if ($redirect) {
160
-		$redirect = "\n\t\t<input name='redirect' type='hidden' value='" . str_replace("'", '&#39;', $redirect) . "' />";
160
+		$redirect = "\n\t\t<input name='redirect' type='hidden' value='".str_replace("'", '&#39;', $redirect)."' />";
161 161
 	}
162
-	$mode .= $redirect . "
162
+	$mode .= $redirect."
163 163
 <input name='hash' type='hidden' value='$hash' />
164 164
 <input name='arg' type='hidden' value='$arg' />";
165 165
 
@@ -233,7 +233,7 @@  discard block
 block discarded – undo
233 233
 	$pass = $pass ?? '';
234 234
 	$entry = "$action:$id_auteur:$pass:$alea";
235 235
 	if (!isset($sha[$entry])) {
236
-		$sha[$entry] = hash_hmac('sha256', "$action::$id_auteur", "$pass::" . _action_get_alea($alea));
236
+		$sha[$entry] = hash_hmac('sha256', "$action::$id_auteur", "$pass::"._action_get_alea($alea));
237 237
 	}
238 238
 
239 239
 	return $sha[$entry];
@@ -351,7 +351,7 @@  discard block
 block discarded – undo
351 351
 	// On nettoie l’URL de tous les var_.
352 352
 	$url = nettoyer_uri_var($url);
353 353
 
354
-	$token = _action_auteur('previsualiser-' . $url, $id_auteur, secret_du_site(), $alea);
354
+	$token = _action_auteur('previsualiser-'.$url, $id_auteur, secret_du_site(), $alea);
355 355
 	return "$id_auteur-$token";
356 356
 }
357 357
 
Please login to merge, or discard this patch.
ecrire/inc/auth.php 1 patch
Spacing   +12 added lines, -13 removed lines patch added patch discarded remove patch
@@ -59,7 +59,7 @@  discard block
 block discarded – undo
59 59
 	}
60 60
 
61 61
 	$n = intval(sql_errno());
62
-	spip_log("Erreur base de donnees $n " . sql_error());
62
+	spip_log("Erreur base de donnees $n ".sql_error());
63 63
 
64 64
 	return $n ?: 1;
65 65
 }
@@ -85,11 +85,11 @@  discard block
 block discarded – undo
85 85
 		// erreur SQL a afficher
86 86
 		$raison = minipres(
87 87
 			_T('info_travaux_titre'),
88
-			_T('titre_probleme_technique') . '<p><tt>' . sql_errno() . ' ' . sql_error() . '</tt></p>'
88
+			_T('titre_probleme_technique').'<p><tt>'.sql_errno().' '.sql_error().'</tt></p>'
89 89
 		);
90 90
 	} elseif (@$raison['statut']) {
91 91
 		// un simple visiteur n'a pas acces a l'espace prive
92
-		spip_log('connexion refusee a ' . @$raison['id_auteur']);
92
+		spip_log('connexion refusee a '.@$raison['id_auteur']);
93 93
 		$raison = minipres(_T('avis_erreur_connexion'), _T('avis_erreur_visiteur'));
94 94
 	} else {
95 95
 		// auteur en fin de droits ...
@@ -179,8 +179,7 @@  discard block
 block discarded – undo
179 179
 	$where = (is_numeric($id_auteur)
180 180
 		/*AND $id_auteur>0*/ // reprise lors des restaurations
181 181
 	) ?
182
-		"id_auteur=$id_auteur" :
183
-		(!strlen($GLOBALS['connect_login']) ? '' : 'login=' . sql_quote($GLOBALS['connect_login'], '', 'text'));
182
+		"id_auteur=$id_auteur" : (!strlen($GLOBALS['connect_login']) ? '' : 'login='.sql_quote($GLOBALS['connect_login'], '', 'text'));
184 183
 
185 184
 	if (!$where) {
186 185
 		return '';
@@ -222,7 +221,7 @@  discard block
 block discarded – undo
222 221
 	$GLOBALS['connect_login'] = $row['login'];
223 222
 	$GLOBALS['connect_statut'] = $row['statut'];
224 223
 
225
-	$GLOBALS['visiteur_session'] = array_merge((array)$GLOBALS['visiteur_session'], $row);
224
+	$GLOBALS['visiteur_session'] = array_merge((array) $GLOBALS['visiteur_session'], $row);
226 225
 
227 226
 	// au cas ou : ne pas memoriser les champs sensibles
228 227
 	unset($GLOBALS['visiteur_session']['pass']);
@@ -295,7 +294,7 @@  discard block
 block discarded – undo
295 294
  * @return string
296 295
  */
297 296
 function auth_a_loger() {
298
-	$redirect = generer_url_public('login', 'url=' . rawurlencode(self('&', true)), true);
297
+	$redirect = generer_url_public('login', 'url='.rawurlencode(self('&', true)), true);
299 298
 
300 299
 	// un echec au "bonjour" (login initial) quand le statut est
301 300
 	// inconnu signale sans doute un probleme de cookies
@@ -331,7 +330,7 @@  discard block
 block discarded – undo
331 330
 	$date ??= date('Y-m-d H:i:s');
332 331
 
333 332
 	if (abs(strtotime($date) - $connect_quand) >= 60) {
334
-		sql_updateq('spip_auteurs', ['en_ligne' => $date], 'id_auteur=' . intval($row['id_auteur']));
333
+		sql_updateq('spip_auteurs', ['en_ligne' => $date], 'id_auteur='.intval($row['id_auteur']));
335 334
 		$row['en_ligne'] = $date;
336 335
 	}
337 336
 
@@ -440,7 +439,7 @@  discard block
 block discarded – undo
440 439
 	if (
441 440
 		!$login
442 441
 		or !$login_base = auth_retrouver_login($login, $serveur)
443
-		or !$row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur)
442
+		or !$row = sql_fetsel('*', 'spip_auteurs', 'login='.sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur)
444 443
 	) {
445 444
 		// generer de fausses infos, mais credibles, pour eviter une attaque
446 445
 		// https://core.spip.net/issues/1758 + https://core.spip.net/issues/3691
@@ -550,7 +549,7 @@  discard block
 block discarded – undo
550 549
 	sql_updateq(
551 550
 		'spip_auteurs',
552 551
 		['prefs' => serialize($p)],
553
-		'id_auteur=' . intval($auteur['id_auteur'])
552
+		'id_auteur='.intval($auteur['id_auteur'])
554 553
 	);
555 554
 
556 555
 	//  bloquer ici le visiteur qui tente d'abuser de ses droits
@@ -714,7 +713,7 @@  discard block
 block discarded – undo
714 713
 		return false;
715 714
 	}
716 715
 
717
-	$row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login, $serveur, 'text'), '', '', '', '', $serveur);
716
+	$row = sql_fetsel('*', 'spip_auteurs', 'login='.sql_quote($login, $serveur, 'text'), '', '', '', '', $serveur);
718 717
 
719 718
 	if (!$row) {
720 719
 		if (
@@ -769,11 +768,11 @@  discard block
 block discarded – undo
769 768
 	$retour = $retour ?: _T('icone_retour');
770 769
 	$corps .= "<p>$raison</p>[<a href='$public'>$retour</a>] ";
771 770
 	if ($url) {
772
-		$corps .= "[<a href='" . generer_url_action('cookie', "essai_auth_http=oui&$url") . "'>$re</a>]";
771
+		$corps .= "[<a href='".generer_url_action('cookie', "essai_auth_http=oui&$url")."'>$re</a>]";
773 772
 	}
774 773
 
775 774
 	if ($lien) {
776
-		$corps .= " [<a href='$ecrire'>" . _T('login_espace_prive') . '</a>]';
775
+		$corps .= " [<a href='$ecrire'>"._T('login_espace_prive').'</a>]';
777 776
 	}
778 777
 	include_spip('inc/minipres');
779 778
 	echo minipres($pb, $corps);
Please login to merge, or discard this patch.