Completed
Push — master ( 204c16...802cc1 )
by cam
01:37 queued 14s
created
ecrire/public/criteres.php 1 patch
Spacing   +165 added lines, -170 removed lines patch added patch discarded remove patch
@@ -47,7 +47,7 @@  discard block
 block discarded – undo
47 47
 	$boucle = &$boucles[$idb];
48 48
 	$id_parent = $GLOBALS['exceptions_des_tables'][$boucle->id_table]['id_parent'] ?? 'id_parent';
49 49
 
50
-	$c = ["'='", "'$boucle->id_table." . "$id_parent'", 0];
50
+	$c = ["'='", "'$boucle->id_table."."$id_parent'", 0];
51 51
 	$boucle->where[] = ($crit->not ? ["'NOT'", $c] : $c);
52 52
 }
53 53
 
@@ -70,10 +70,10 @@  discard block
 block discarded – undo
70 70
 	$id = $boucle->primary;
71 71
 
72 72
 	if ($not or !$id) {
73
-		return ['zbug_critere_inconnu', ['critere' => $not . $crit->op]];
73
+		return ['zbug_critere_inconnu', ['critere' => $not.$crit->op]];
74 74
 	}
75 75
 	$arg = kwote(calculer_argument_precedent($idb, $id, $boucles));
76
-	$boucle->where[] = ["'!='", "'$boucle->id_table." . "$id'", $arg];
76
+	$boucle->where[] = ["'!='", "'$boucle->id_table."."$id'", $arg];
77 77
 }
78 78
 
79 79
 
@@ -104,12 +104,12 @@  discard block
 block discarded – undo
104 104
 	$not = ($crit->not ? '' : 'NOT');
105 105
 
106 106
 	// le doublon s'applique sur un type de boucle (article)
107
-	$nom = "'" . $boucle->type_requete . "'";
107
+	$nom = "'".$boucle->type_requete."'";
108 108
 
109 109
 	// compléter le nom avec un nom précisé {doublons nom}
110 110
 	// on obtient $nom = "'article' . 'nom'"
111 111
 	if (isset($crit->param[0])) {
112
-		$nom .= '.' . calculer_liste($crit->param[0], $idb, $boucles, $boucles[$idb]->id_parent);
112
+		$nom .= '.'.calculer_liste($crit->param[0], $idb, $boucles, $boucles[$idb]->id_parent);
113 113
 	}
114 114
 
115 115
 	// code qui déclarera l'index du stockage de nos doublons (pour éviter une notice PHP)
@@ -121,13 +121,13 @@  discard block
 block discarded – undo
121 121
 	// $doublons et son index, ici $nom
122 122
 
123 123
 	// debut du code "sql_in('articles.id_article', "
124
-	$debut_in = "sql_in('" . $boucle->id_table . '.' . $primary . "', ";
124
+	$debut_in = "sql_in('".$boucle->id_table.'.'.$primary."', ";
125 125
 	// lecture des données du doublon "$doublons[$doublon_index[] = "
126 126
 	// Attention : boucle->doublons désigne une variable qu'on affecte
127
-	$debut_doub = '$doublons[' . (!$not ? '' : ($boucle->doublons . '[]= '));
127
+	$debut_doub = '$doublons['.(!$not ? '' : ($boucle->doublons.'[]= '));
128 128
 
129 129
 	// le debut complet du code des doublons
130
-	$debut_doub = $debut_in . $debut_doub;
130
+	$debut_doub = $debut_in.$debut_doub;
131 131
 
132 132
 	// nom du doublon "('article' . 'nom')]"
133 133
 	$fin_doub = "($nom)]";
@@ -137,22 +137,22 @@  discard block
 block discarded – undo
137 137
 	foreach ($boucle->where as $k => $w) {
138 138
 		if (strpos($w[0], $debut_doub) === 0) {
139 139
 			// fusionner le sql_in (du where)
140
-			$boucle->where[$k][0] = $debut_doub . $fin_doub . ' . ' . substr($w[0], strlen($debut_in));
140
+			$boucle->where[$k][0] = $debut_doub.$fin_doub.' . '.substr($w[0], strlen($debut_in));
141 141
 			// fusionner l'initialisation (du hash) pour faire plus joli
142 142
 			$x = strpos($boucle->hash, $init_comment);
143 143
 			$len = strlen($init_comment);
144 144
 			$boucle->hash =
145
-				substr($boucle->hash, 0, $x + $len) . $init_code . substr($boucle->hash, $x + $len);
145
+				substr($boucle->hash, 0, $x + $len).$init_code.substr($boucle->hash, $x + $len);
146 146
 
147 147
 			return;
148 148
 		}
149 149
 	}
150 150
 
151 151
 	// mettre l'ensemble dans un tableau pour que ce ne soit pas vu comme une constante
152
-	$boucle->where[] = [$debut_doub . $fin_doub . ", '" . $not . "')"];
152
+	$boucle->where[] = [$debut_doub.$fin_doub.", '".$not."')"];
153 153
 
154 154
 	// déclarer le doublon s'il n'existe pas encore
155
-	$boucle->hash .= $init_comment . $init_code;
155
+	$boucle->hash .= $init_comment.$init_code;
156 156
 
157 157
 
158 158
 	# la ligne suivante avait l'intention d'eviter une collecte deja faite
@@ -214,7 +214,7 @@  discard block
 block discarded – undo
214 214
 	$deux = $deux[0]->texte;
215 215
 	if ($deux) {
216 216
 		$boucles[$idb]->limit =
217
-			'intval($Pile[0]["debut' . $un . '"]) . ",' . $deux . '"';
217
+			'intval($Pile[0]["debut'.$un.'"]) . ",'.$deux.'"';
218 218
 	} else {
219 219
 		calculer_critere_DEFAUT_dist($idb, $boucles, $crit);
220 220
 	}
@@ -276,26 +276,26 @@  discard block
 block discarded – undo
276 276
 		$type = calculer_liste([$crit->param[1][0]], $idb, $boucles, $boucle->id_parent);
277 277
 	}
278 278
 
279
-	$debut = ($type[0] !== "'") ? "'debut'.$type" : ("'debut" . substr($type, 1));
279
+	$debut = ($type[0] !== "'") ? "'debut'.$type" : ("'debut".substr($type, 1));
280 280
 	$boucle->modificateur['debut_nom'] = $type;
281 281
 	$partie =
282 282
 		// tester si le numero de page demande est de la forme '@yyy'
283
-		'isset($Pile[0][' . $debut . ']) ? $Pile[0][' . $debut . '] : _request(' . $debut . ");\n"
283
+		'isset($Pile[0]['.$debut.']) ? $Pile[0]['.$debut.'] : _request('.$debut.");\n"
284 284
 		. "\tif (\$debut_boucle && \$debut_boucle[0] === '@') {\n"
285
-		. "\t\t" . '$debut_boucle = $Pile[0][' . $debut . '] = quete_debut_pagination(\'' . $boucle->primary . '\',$Pile[0][\'@' . $boucle->primary . '\'] = substr($debut_boucle,1),' . $pas . ',$iter);' . "\n"
286
-		. "\t\t" . '$iter->seek(0);' . "\n"
285
+		. "\t\t".'$debut_boucle = $Pile[0]['.$debut.'] = quete_debut_pagination(\''.$boucle->primary.'\',$Pile[0][\'@'.$boucle->primary.'\'] = substr($debut_boucle,1),'.$pas.',$iter);'."\n"
286
+		. "\t\t".'$iter->seek(0);'."\n"
287 287
 		. "\t}\n"
288
-		. "\t" . '$debut_boucle = intval($debut_boucle)';
288
+		. "\t".'$debut_boucle = intval($debut_boucle)';
289 289
 
290 290
 	$boucle->hash .= '
291
-	$command[\'pagination\'] = array((isset($Pile[0][' . $debut . ']) ? $Pile[0][' . $debut . '] : null), ' . $pas . ');';
291
+	$command[\'pagination\'] = array((isset($Pile[0][' . $debut.']) ? $Pile[0]['.$debut.'] : null), '.$pas.');';
292 292
 
293 293
 	$boucle->total_parties = $pas;
294 294
 	calculer_parties($boucles, $idb, $partie, 'p+');
295 295
 	// ajouter la cle primaire dans le select pour pouvoir gerer la pagination referencee par @id
296 296
 	// sauf si pas de primaire, ou si primaire composee
297 297
 	// dans ce cas, on ne sait pas gerer une pagination indirecte
298
-	$t = $boucle->id_table . '.' . $boucle->primary;
298
+	$t = $boucle->id_table.'.'.$boucle->primary;
299 299
 	if (
300 300
 		$boucle->primary
301 301
 		and !preg_match('/[,\s]/', $boucle->primary)
@@ -342,24 +342,24 @@  discard block
 block discarded – undo
342 342
 	$boucle->hash .= '
343 343
 	// RECHERCHE'
344 344
 		. ($crit->cond ? '
345
-	if (!strlen(' . $quoi . ')){
345
+	if (!strlen(' . $quoi.')){
346 346
 		list($rech_select, $rech_where) = array("0 as points","");
347
-	} else' : '') . '
347
+	} else' : '').'
348 348
 	{
349 349
 		$prepare_recherche = charger_fonction(\'prepare_recherche\', \'inc\');
350
-		list($rech_select, $rech_where) = $prepare_recherche(' . $quoi . ', "' . $boucle->id_table . '", "' . $crit->cond . '","' . $boucle->sql_serveur . '",' . $_modificateur . ',"' . $boucle->primary . '");
350
+		list($rech_select, $rech_where) = $prepare_recherche(' . $quoi.', "'.$boucle->id_table.'", "'.$crit->cond.'","'.$boucle->sql_serveur.'",'.$_modificateur.',"'.$boucle->primary.'");
351 351
 	}
352 352
 	';
353 353
 
354 354
 
355
-	$t = $boucle->id_table . '.' . $boucle->primary;
355
+	$t = $boucle->id_table.'.'.$boucle->primary;
356 356
 	if (!in_array($t, $boucles[$idb]->select)) {
357 357
 		$boucle->select[] = $t;
358 358
 	} # pour postgres, neuneu ici
359 359
 	// jointure uniquement sur le serveur principal
360 360
 	// (on ne peut joindre une table d'un serveur distant avec la table des resultats du serveur principal)
361 361
 	if (!$boucle->sql_serveur) {
362
-		$boucle->join['resultats'] = ["'" . $boucle->id_table . "'", "'id'", "'" . $boucle->primary . "'"];
362
+		$boucle->join['resultats'] = ["'".$boucle->id_table."'", "'id'", "'".$boucle->primary."'"];
363 363
 		$boucle->from['resultats'] = 'spip_resultats';
364 364
 	}
365 365
 	$boucle->select[] = '$rech_select';
@@ -426,7 +426,7 @@  discard block
 block discarded – undo
426 426
 	$c =
427 427
 		[
428 428
 			"'OR'",
429
-			["'='", "'$table." . "id_trad'", "'$table.$prim'"],
429
+			["'='", "'$table."."id_trad'", "'$table.$prim'"],
430 430
 			["'='", "'$table.id_trad'", "'0'"]
431 431
 		];
432 432
 	$boucle->where[] = ($crit->not ? ["'NOT'", $c] : $c);
@@ -449,13 +449,13 @@  discard block
 block discarded – undo
449 449
 	$boucle = &$boucles[$idb];
450 450
 	$arg = kwote(calculer_argument_precedent($idb, 'id_parent', $boucles));
451 451
 	$id_parent = $GLOBALS['exceptions_des_tables'][$boucle->id_table]['id_parent'] ?? 'id_parent';
452
-	$mparent = $boucle->id_table . '.' . $id_parent;
452
+	$mparent = $boucle->id_table.'.'.$id_parent;
453 453
 
454 454
 	if ($boucle->type_requete == 'rubriques' or isset($GLOBALS['exceptions_des_tables'][$boucle->id_table]['id_parent'])) {
455 455
 		$boucle->where[] = ["'='", "'$mparent'", $arg];
456 456
 	} // le cas FORUMS est gere dans le plugin forum, dans la fonction critere_FORUMS_meme_parent_dist()
457 457
 	else {
458
-		return ['zbug_critere_inconnu', ['critere' => $crit->op . ' ' . $boucle->type_requete]];
458
+		return ['zbug_critere_inconnu', ['critere' => $crit->op.' '.$boucle->type_requete]];
459 459
 	}
460 460
 }
461 461
 
@@ -508,16 +508,15 @@  discard block
 block discarded – undo
508 508
 		if (count(trouver_champs_decomposes($champ, $desc)) > 1) {
509 509
 			$decompose = decompose_champ_id_objet($champ);
510 510
 			$champ = array_shift($decompose);
511
-			$boucle->where[] = ["'='", _q($cle . '.' . reset($decompose)), '"' . sql_quote(end($decompose)) . '"'];
511
+			$boucle->where[] = ["'='", _q($cle.'.'.reset($decompose)), '"'.sql_quote(end($decompose)).'"'];
512 512
 		}
513 513
 	} else {
514 514
 		$cle = $boucle->id_table;
515 515
 	}
516 516
 
517
-	$c = "sql_in('$cle" . ".$champ', calcul_branche_in($arg)"
518
-		. ($not ? ", 'NOT'" : '') . ')';
519
-	$boucle->where[] = !$crit->cond ? $c :
520
-		("($arg ? $c : " . ($not ? "'0=1'" : "'1=1'") . ')');
517
+	$c = "sql_in('$cle".".$champ', calcul_branche_in($arg)"
518
+		. ($not ? ", 'NOT'" : '').')';
519
+	$boucle->where[] = !$crit->cond ? $c : ("($arg ? $c : ".($not ? "'0=1'" : "'1=1'").')');
521 520
 }
522 521
 
523 522
 /**
@@ -537,9 +536,9 @@  discard block
 block discarded – undo
537 536
 	$not = ($crit->not ? 'NOT' : '');
538 537
 	$serveur = $boucle->sql_serveur;
539 538
 
540
-	$c = "sql_in('" .
541
-		$boucle->id_table . '.' . $boucle->primary
542
-		. "', lister_objets_avec_logos('" . $boucle->primary . "'), '$not', '$serveur')";
539
+	$c = "sql_in('".
540
+		$boucle->id_table.'.'.$boucle->primary
541
+		. "', lister_objets_avec_logos('".$boucle->primary."'), '$not', '$serveur')";
543 542
 
544 543
 	$boucle->where[] = $c;
545 544
 }
@@ -571,7 +570,7 @@  discard block
 block discarded – undo
571 570
 				$t = table_objet_sql($r[1]);
572 571
 				$t = array_search($t, $boucles[$idb]->from);
573 572
 				if ($t) {
574
-					$t .= '.' . $r[2];
573
+					$t .= '.'.$r[2];
575 574
 				}
576 575
 			}
577 576
 		} else {
@@ -586,7 +585,7 @@  discard block
 block discarded – undo
586 585
 			$boucles[$idb]->select[] = $t;
587 586
 		}
588 587
 	} else {
589
-		return ['zbug_critere_inconnu', ['critere' => $crit->op . ' ?']];
588
+		return ['zbug_critere_inconnu', ['critere' => $crit->op.' ?']];
590 589
 	}
591 590
 }
592 591
 
@@ -656,25 +655,25 @@  discard block
 block discarded – undo
656 655
 				(false !== $i = strpos($boucle->order[$n - 1], 'ASC'))
657 656
 				or (false !== $i = strpos($boucle->order[$n - 1], 'DESC'))
658 657
 			) {
659
-				$boucle->order[$n - 1] = substr_replace($boucle->order[$n - 1], "' . " . $boucle->modificateur['collate'] . " . ' ", $i, 0);
658
+				$boucle->order[$n - 1] = substr_replace($boucle->order[$n - 1], "' . ".$boucle->modificateur['collate']." . ' ", $i, 0);
660 659
 			} else {
661
-				$boucle->order[$n - 1] .= ' . ' . $boucle->modificateur['collate'];
660
+				$boucle->order[$n - 1] .= ' . '.$boucle->modificateur['collate'];
662 661
 			}
663 662
 		}
664 663
 	} else {
665
-		return (['zbug_critere_inconnu', ['critere' => $crit->op . ' ' . (is_countable($boucles[$idb]->order) ? count($boucles[$idb]->order) : 0)]]);
664
+		return (['zbug_critere_inconnu', ['critere' => $crit->op.' '.(is_countable($boucles[$idb]->order) ? count($boucles[$idb]->order) : 0)]]);
666 665
 	}
667 666
 }
668 667
 
669 668
 function calculer_critere_arg_dynamique($idb, &$boucles, $crit, $suffix = '') {
670 669
 	$boucle = $boucles[$idb];
671
-	$alt = "('" . $boucle->id_table . '.\' . $x' . $suffix . ')';
672
-	$var = '$champs_' . $idb;
670
+	$alt = "('".$boucle->id_table.'.\' . $x'.$suffix.')';
671
+	$var = '$champs_'.$idb;
673 672
 	$desc = (strpos($boucle->in, (string) "static $var =") !== false);
674 673
 	if (!$desc) {
675 674
 		$desc = $boucle->show['field'];
676 675
 		$desc = implode(',', array_map('_q', array_keys($desc)));
677
-		$boucles[$idb]->in .= "\n\tstatic $var = array(" . $desc . ');';
676
+		$boucles[$idb]->in .= "\n\tstatic $var = array(".$desc.');';
678 677
 	}
679 678
 	if ($desc) {
680 679
 		$alt = "(in_array(\$x, $var)  ? $alt :(\$x$suffix))";
@@ -749,7 +748,7 @@  discard block
 block discarded – undo
749 748
 		$sens = " . ' DESC'";
750 749
 	}
751 750
 	if (isset($boucle->modificateur['collate'])) {
752
-		$collecte = ' . ' . $boucle->modificateur['collate'];
751
+		$collecte = ' . '.$boucle->modificateur['collate'];
753 752
 	}
754 753
 
755 754
 	// Pour chaque paramètre du critère
@@ -771,14 +770,14 @@  discard block
 block discarded – undo
771 770
 			if (preg_match(',^(\w+)[\s]+(.*)$,', $par, $m)) {
772 771
 				$expression = trim($m[1]);
773 772
 				$champ = trim($m[2]);
774
-				if (function_exists($f = 'calculer_critere_par_expression_' . $expression)) {
773
+				if (function_exists($f = 'calculer_critere_par_expression_'.$expression)) {
775 774
 					$order = $f($idb, $boucles, $crit, $tri, $champ);
776 775
 				} else {
777
-					return ['zbug_critere_inconnu', ['critere' => $crit->op . " $par"]];
776
+					return ['zbug_critere_inconnu', ['critere' => $crit->op." $par"]];
778 777
 				}
779 778
 
780 779
 			// tris de la forme {par champ} ou {par FONCTION(champ)}
781
-			} elseif ($boucle->type_requete == 'DATA' or preg_match(',^' . CHAMP_SQL_PLUS_FONC . '$,is', $par, $match)) {
780
+			} elseif ($boucle->type_requete == 'DATA' or preg_match(',^'.CHAMP_SQL_PLUS_FONC.'$,is', $par, $match)) {
782 781
 				// {par FONCTION(champ)}
783 782
 				if (isset($match) and count($match) > 2) {
784 783
 					$par = substr($match[2], 1, -1);
@@ -788,7 +787,7 @@  discard block
 block discarded – undo
788 787
 				if ($par == 'hasard') {
789 788
 					$order = calculer_critere_par_hasard($idb, $boucles, $crit);
790 789
 				} elseif ($par == 'date' and !empty($boucle->show['date'])) {
791
-					$order = "'" . $boucle->id_table . '.' . $boucle->show['date'] . "'";
790
+					$order = "'".$boucle->id_table.'.'.$boucle->show['date']."'";
792 791
 				} else {
793 792
 					// cas général {par champ}, {par table.champ}, ...
794 793
 					$order = calculer_critere_par_champ($idb, $boucles, $crit, $par);
@@ -797,7 +796,7 @@  discard block
 block discarded – undo
797 796
 
798 797
 			// on ne sait pas traiter…
799 798
 			else {
800
-				return ['zbug_critere_inconnu', ['critere' => $crit->op . " $par"]];
799
+				return ['zbug_critere_inconnu', ['critere' => $crit->op." $par"]];
801 800
 			}
802 801
 
803 802
 			// En cas d'erreur de squelette retournée par une fonction
@@ -817,14 +816,14 @@  discard block
 block discarded – undo
817 816
 
818 817
 		if ($fct) {
819 818
 			if (preg_match("/^\s*'(.*)'\s*$/", $order, $r)) {
820
-				$order = "'$fct(" . $r[1] . ")'";
819
+				$order = "'$fct(".$r[1].")'";
821 820
 			} else {
822 821
 				$order = "'$fct(' . $order . ')'";
823 822
 			}
824 823
 		}
825
-		$t = $order . $collecte . $sens;
824
+		$t = $order.$collecte.$sens;
826 825
 		if (preg_match("/^(.*)'\s*\.\s*'([^']*')$/", $t, $r)) {
827
-			$t = $r[1] . $r[2];
826
+			$t = $r[1].$r[2];
828 827
 		}
829 828
 
830 829
 		$boucle->order[] = $t;
@@ -874,16 +873,16 @@  discard block
 block discarded – undo
874 873
 function calculer_critere_par_expression_num($idb, &$boucles, $crit, $tri, $champ) {
875 874
 	$_champ = calculer_critere_par_champ($idb, $boucles, $crit, $champ, true);
876 875
 	if (is_array($_champ)) {
877
-		return ['zbug_critere_inconnu', ['critere' => $crit->op . " num $champ"]];
876
+		return ['zbug_critere_inconnu', ['critere' => $crit->op." num $champ"]];
878 877
 	}
879 878
 	$boucle = &$boucles[$idb];
880
-	$texte = '0+' . $_champ;
879
+	$texte = '0+'.$_champ;
881 880
 	$suite = calculer_liste($tri, $idb, $boucles, $boucle->id_parent);
882 881
 	if ($suite !== "''") {
883
-		$texte = "\" . ((\$x = $suite) ? ('$texte' . \$x) : '0')" . ' . "';
882
+		$texte = "\" . ((\$x = $suite) ? ('$texte' . \$x) : '0')".' . "';
884 883
 	}
885
-	$asnum = 'num' . ($boucle->order ? count($boucle->order) : '');
886
-	$boucle->select[] = $texte . " AS $asnum";
884
+	$asnum = 'num'.($boucle->order ? count($boucle->order) : '');
885
+	$boucle->select[] = $texte." AS $asnum";
887 886
 
888 887
 	$orderassinum = calculer_critere_par_expression_sinum($idb, $boucles, $crit, $tri, $champ);
889 888
 	$orderassinum = trim($orderassinum, "'");
@@ -912,13 +911,13 @@  discard block
 block discarded – undo
912 911
 function calculer_critere_par_expression_sinum($idb, &$boucles, $crit, $tri, $champ) {
913 912
 	$_champ = calculer_critere_par_champ($idb, $boucles, $crit, $champ, true);
914 913
 	if (is_array($_champ)) {
915
-		return ['zbug_critere_inconnu', ['critere' => $crit->op . " sinum $champ"]];
914
+		return ['zbug_critere_inconnu', ['critere' => $crit->op." sinum $champ"]];
916 915
 	}
917 916
 	$boucle = &$boucles[$idb];
918
-	$texte = '0+' . $_champ;
917
+	$texte = '0+'.$_champ;
919 918
 	$suite = calculer_liste($tri, $idb, $boucles, $boucle->id_parent);
920 919
 	if ($suite !== "''") {
921
-		$texte = "\" . ((\$x = $suite) ? ('$texte' . \$x) : '0')" . ' . "';
920
+		$texte = "\" . ((\$x = $suite) ? ('$texte' . \$x) : '0')".' . "';
922 921
 	}
923 922
 
924 923
 	$as = false;
@@ -934,8 +933,8 @@  discard block
 block discarded – undo
934 933
 	}
935 934
 
936 935
 	if (!$as) {
937
-		$as = 'sinum' . ($boucle->order ? count($boucle->order) : '');
938
-		$boucle->select[] = $select . $as;
936
+		$as = 'sinum'.($boucle->order ? count($boucle->order) : '');
937
+		$boucle->select[] = $select.$as;
939 938
 	}
940 939
 	$order = "'$as'";
941 940
 	return $order;
@@ -960,10 +959,10 @@  discard block
 block discarded – undo
960 959
 function calculer_critere_par_expression_multi($idb, &$boucles, $crit, $tri, $champ) {
961 960
 	$_champ = calculer_critere_par_champ($idb, $boucles, $crit, $champ, true);
962 961
 	if (is_array($_champ)) {
963
-		return ['zbug_critere_inconnu', ['critere' => $crit->op . " multi $champ"]];
962
+		return ['zbug_critere_inconnu', ['critere' => $crit->op." multi $champ"]];
964 963
 	}
965 964
 	$boucle = &$boucles[$idb];
966
-	$boucle->select[] = "\".sql_multi('" . $_champ . "', \$GLOBALS['spip_lang']).\"";
965
+	$boucle->select[] = "\".sql_multi('".$_champ."', \$GLOBALS['spip_lang']).\"";
967 966
 	$order = "'multi'";
968 967
 	return $order;
969 968
 }
@@ -989,7 +988,7 @@  discard block
 block discarded – undo
989 988
 
990 989
 	// le champ existe dans la table, pas de souci (le plus commun)
991 990
 	if (isset($desc['field'][$par])) {
992
-		$par = $boucle->id_table . '.' . $par;
991
+		$par = $boucle->id_table.'.'.$par;
993 992
 	}
994 993
 	// le champ est peut être une jointure
995 994
 	else {
@@ -1010,24 +1009,24 @@  discard block
 block discarded – undo
1010 1009
 		// Sinon on cherche le champ dans les tables possibles de jointures
1011 1010
 		// Si la table est déjà dans le from, on la réutilise.
1012 1011
 		if ($infos = chercher_champ_dans_tables($champ, $boucle->from, $boucle->sql_serveur, $table)) {
1013
-			$par = $infos['alias'] . '.' . $champ;
1012
+			$par = $infos['alias'].'.'.$champ;
1014 1013
 		} elseif (
1015 1014
 			$boucle->jointures_explicites
1016 1015
 			and $alias = trouver_jointure_champ($champ, $boucle, explode(' ', $boucle->jointures_explicites), false, $table)
1017 1016
 		) {
1018
-			$par = $alias . '.' . $champ;
1017
+			$par = $alias.'.'.$champ;
1019 1018
 		} elseif ($alias = trouver_jointure_champ($champ, $boucle, $boucle->jointures, false, $table)) {
1020
-			$par = $alias . '.' . $champ;
1019
+			$par = $alias.'.'.$champ;
1021 1020
 		// en spécifiant directement l'alias {par L2.titre} (situation hasardeuse tout de même)
1022 1021
 		} elseif (
1023 1022
 			$table_alias
1024 1023
 			and isset($boucle->from[$table_alias])
1025 1024
 			and $infos = chercher_champ_dans_tables($champ, $boucle->from, $boucle->sql_serveur, $boucle->from[$table_alias])
1026 1025
 		) {
1027
-			$par = $infos['alias'] . '.' . $champ;
1026
+			$par = $infos['alias'].'.'.$champ;
1028 1027
 		} elseif ($table) {
1029 1028
 			// On avait table + champ, mais on ne les a pas trouvés
1030
-			return ['zbug_critere_inconnu', ['critere' => $crit->op . " $par"]];
1029
+			return ['zbug_critere_inconnu', ['critere' => $crit->op." $par"]];
1031 1030
 		} else {
1032 1031
 			// Sinon tant pis, ca doit etre un champ synthetise (cf points)
1033 1032
 		}
@@ -1051,7 +1050,7 @@  discard block
 block discarded – undo
1051 1050
 	if (!$t) {
1052 1051
 		$t = trouver_jointure_champ($champ, $boucle);
1053 1052
 	}
1054
-	return !$t ? '' : ("'" . $t . '.' . $champ . "'");
1053
+	return !$t ? '' : ("'".$t.'.'.$champ."'");
1055 1054
 }
1056 1055
 
1057 1056
 /**
@@ -1096,9 +1095,9 @@  discard block
 block discarded – undo
1096 1095
 				$boucle->default_order[] = ' DESC';
1097 1096
 			}
1098 1097
 		} else {
1099
-			$t = $boucle->order[$n - 1] . " . $order";
1098
+			$t = $boucle->order[$n - 1]." . $order";
1100 1099
 			if (preg_match("/^(.*)'\s*\.\s*'([^']*')$/", $t, $r)) {
1101
-				$t = $r[1] . $r[2];
1100
+				$t = $r[1].$r[2];
1102 1101
 			}
1103 1102
 			$boucle->order[$n - 1] = $t;
1104 1103
 		}
@@ -1135,7 +1134,7 @@  discard block
 block discarded – undo
1135 1134
 
1136 1135
 	$_liste = calculer_liste($crit->param[1], [], $boucles, $boucles[$idb]->id_parent);
1137 1136
 
1138
-	$order = "'-FIELD(' . $_order . ',' . ((\$zl=formate_liste_critere_par_ordre_liste(array_reverse($_liste),'" . $boucle->sql_serveur . "')) ? \$zl : '0').')'$sens";
1137
+	$order = "'-FIELD(' . $_order . ',' . ((\$zl=formate_liste_critere_par_ordre_liste(array_reverse($_liste),'".$boucle->sql_serveur."')) ? \$zl : '0').')'$sens";
1139 1138
 	$boucle->order[] = $order;
1140 1139
 }
1141 1140
 
@@ -1144,7 +1143,7 @@  discard block
 block discarded – undo
1144 1143
 	$params = $crit->param;
1145 1144
 
1146 1145
 	if ((is_countable($params) ? count($params) : 0) < 1) {
1147
-		return ['zbug_critere_inconnu', ['critere' => $crit->op . ' ?']];
1146
+		return ['zbug_critere_inconnu', ['critere' => $crit->op.' ?']];
1148 1147
 	}
1149 1148
 
1150 1149
 	$boucle = &$boucles[$idb];
@@ -1165,7 +1164,7 @@  discard block
 block discarded – undo
1165 1164
 	if (((is_countable($date) ? count($date) : 0) == 1) and ($date[0]->type == 'texte')) {
1166 1165
 		$date = $date[0]->texte;
1167 1166
 		if (!isset($fields[$date])) {
1168
-			return ['zbug_critere_inconnu', ['critere' => $crit->op . ' ' . $date]];
1167
+			return ['zbug_critere_inconnu', ['critere' => $crit->op.' '.$date]];
1169 1168
 		}
1170 1169
 	} else {
1171 1170
 		$a = calculer_liste($date, $idb, $boucles, $parent);
@@ -1177,38 +1176,38 @@  discard block
 block discarded – undo
1177 1176
 		$date = "'.(($cond)\n?\$a:\"$defaut\").'";
1178 1177
 	}
1179 1178
 	$annee = $params ? array_shift($params) : '';
1180
-	$annee = "\n" . 'sprintf("%04d", ($x = ' .
1181
-		calculer_liste($annee, $idb, $boucles, $parent) .
1179
+	$annee = "\n".'sprintf("%04d", ($x = '.
1180
+		calculer_liste($annee, $idb, $boucles, $parent).
1182 1181
 		') ? $x : date("Y"))';
1183 1182
 
1184 1183
 	$mois = $params ? array_shift($params) : '';
1185
-	$mois = "\n" . 'sprintf("%02d", ($x = ' .
1186
-		calculer_liste($mois, $idb, $boucles, $parent) .
1184
+	$mois = "\n".'sprintf("%02d", ($x = '.
1185
+		calculer_liste($mois, $idb, $boucles, $parent).
1187 1186
 		') ? $x : date("m"))';
1188 1187
 
1189 1188
 	$jour = $params ? array_shift($params) : '';
1190
-	$jour = "\n" . 'sprintf("%02d", ($x = ' .
1191
-		calculer_liste($jour, $idb, $boucles, $parent) .
1189
+	$jour = "\n".'sprintf("%02d", ($x = '.
1190
+		calculer_liste($jour, $idb, $boucles, $parent).
1192 1191
 		') ? $x : date("d"))';
1193 1192
 
1194 1193
 	$annee2 = $params ? array_shift($params) : '';
1195
-	$annee2 = "\n" . 'sprintf("%04d", ($x = ' .
1196
-		calculer_liste($annee2, $idb, $boucles, $parent) .
1194
+	$annee2 = "\n".'sprintf("%04d", ($x = '.
1195
+		calculer_liste($annee2, $idb, $boucles, $parent).
1197 1196
 		') ? $x : date("Y"))';
1198 1197
 
1199 1198
 	$mois2 = $params ? array_shift($params) : '';
1200
-	$mois2 = "\n" . 'sprintf("%02d", ($x = ' .
1201
-		calculer_liste($mois2, $idb, $boucles, $parent) .
1199
+	$mois2 = "\n".'sprintf("%02d", ($x = '.
1200
+		calculer_liste($mois2, $idb, $boucles, $parent).
1202 1201
 		') ? $x : date("m"))';
1203 1202
 
1204 1203
 	$jour2 = $params ? array_shift($params) : '';
1205
-	$jour2 = "\n" . 'sprintf("%02d", ($x = ' .
1206
-		calculer_liste($jour2, $idb, $boucles, $parent) .
1204
+	$jour2 = "\n".'sprintf("%02d", ($x = '.
1205
+		calculer_liste($jour2, $idb, $boucles, $parent).
1207 1206
 		') ? $x : date("d"))';
1208 1207
 
1209
-	$date = $boucle->id_table . ".$date";
1208
+	$date = $boucle->id_table.".$date";
1210 1209
 
1211
-	$quote_end = ",'" . $boucle->sql_serveur . "','text'";
1210
+	$quote_end = ",'".$boucle->sql_serveur."','text'";
1212 1211
 	if ($type == 'jour') {
1213 1212
 		$boucle->where[] = [
1214 1213
 			"'='",
@@ -1280,14 +1279,13 @@  discard block
 block discarded – undo
1280 1279
 	[$a21, $a22] = calculer_critere_parties_aux($idb, $boucles, $a2);
1281 1280
 
1282 1281
 	if (($op == ',') && (is_numeric($a11) && (is_numeric($a21)))) {
1283
-		$boucle->limit = $a11 . ',' . $a21;
1282
+		$boucle->limit = $a11.','.$a21;
1284 1283
 	} else {
1285 1284
 		// 3 dans {1/3}, {2,3} ou {1,n-3}
1286 1285
 		$boucle->total_parties = ($a21 != 'n') ? $a21 : $a22;
1287 1286
 		// 2 dans {2/3}, {2,5}, {n-2,1}
1288 1287
 		$partie = ($a11 != 'n') ? $a11 : $a12;
1289
-		$mode = (($op == '/') ? '/' :
1290
-			(($a11 == 'n') ? '-' : '+') . (($a21 == 'n') ? '-' : '+'));
1288
+		$mode = (($op == '/') ? '/' : (($a11 == 'n') ? '-' : '+').(($a21 == 'n') ? '-' : '+'));
1291 1289
 		// cas simple {0,#ENV{truc}} compilons le en LIMIT :
1292 1290
 		if ($a11 !== 'n' and $a21 !== 'n' and $mode == '++' and $op == ',') {
1293 1291
 			$boucle->limit =
@@ -1333,8 +1331,7 @@  discard block
 block discarded – undo
1333 1331
 	// {1/3}
1334 1332
 	if ($op1 == '/') {
1335 1333
 		$pmoins1 = is_numeric($debut) ? ($debut - 1) : "($debut-1)";
1336
-		$totpos = is_numeric($total_parties) ? ($total_parties) :
1337
-			"($total_parties ? $total_parties : 1)";
1334
+		$totpos = is_numeric($total_parties) ? ($total_parties) : "($total_parties ? $total_parties : 1)";
1338 1335
 		$fin = "ceil(($nombre_boucle * $debut )/$totpos) - 1";
1339 1336
 		$debut = !$pmoins1 ? 0 : "ceil(($nombre_boucle * $pmoins1)/$totpos);";
1340 1337
 	} else {
@@ -1345,15 +1342,13 @@  discard block
 block discarded – undo
1345 1342
 
1346 1343
 		// cas {x,n-1}
1347 1344
 		if ($op2 == '-') {
1348
-			$fin = '$debut_boucle + ' . $nombre_boucle . ' - '
1349
-				. (is_numeric($total_parties) ? ($total_parties + 1) :
1350
-					($total_parties . ' - 1'));
1345
+			$fin = '$debut_boucle + '.$nombre_boucle.' - '
1346
+				. (is_numeric($total_parties) ? ($total_parties + 1) : ($total_parties.' - 1'));
1351 1347
 		} else {
1352 1348
 			// {x,1} ou {pagination}
1353 1349
 			$fin = '$debut_boucle'
1354 1350
 				. (is_numeric($total_parties) ?
1355
-					(($total_parties == 1) ? '' : (' + ' . ($total_parties - 1))) :
1356
-					('+' . $total_parties . ' - 1'));
1351
+					(($total_parties == 1) ? '' : (' + '.($total_parties - 1))) : ('+'.$total_parties.' - 1'));
1357 1352
 		}
1358 1353
 
1359 1354
 		// {pagination}, gerer le debut_xx=-1 pour tout voir
@@ -1371,11 +1366,11 @@  discard block
 block discarded – undo
1371 1366
 	// Utiliser min pour rabattre $fin_boucle sur total_boucle.
1372 1367
 
1373 1368
 	$boucles[$id_boucle]->mode_partie = "\n\t"
1374
-		. '$debut_boucle = ' . $debut . ";\n	"
1369
+		. '$debut_boucle = '.$debut.";\n	"
1375 1370
 		. "\$debut_boucle = intval(\$debut_boucle);\n	"
1376
-		. '$fin_boucle = min(' . $fin . ", \$Numrows['$id_boucle']['total'] - 1);\n	"
1377
-		. '$Numrows[\'' . $id_boucle . "']['grand_total'] = \$Numrows['$id_boucle']['total'];\n	"
1378
-		. '$Numrows[\'' . $id_boucle . '\']["total"] = max(0,$fin_boucle - $debut_boucle + 1);'
1371
+		. '$fin_boucle = min('.$fin.", \$Numrows['$id_boucle']['total'] - 1);\n	"
1372
+		. '$Numrows[\''.$id_boucle."']['grand_total'] = \$Numrows['$id_boucle']['total'];\n	"
1373
+		. '$Numrows[\''.$id_boucle.'\']["total"] = max(0,$fin_boucle - $debut_boucle + 1);'
1379 1374
 		. "\n\tif (\$debut_boucle>0"
1380 1375
 		. " AND \$debut_boucle < \$Numrows['$id_boucle']['grand_total']"
1381 1376
 		. " AND \$iter->seek(\$debut_boucle,'continue'))"
@@ -1460,16 +1455,16 @@  discard block
 block discarded – undo
1460 1455
 		// critere personnalise ?
1461 1456
 		if (
1462 1457
 			(!$serveur or
1463
-				((!function_exists($f = 'critere_' . $serveur . '_' . $table . '_' . $critere))
1464
-					and (!function_exists($f = $f . '_dist'))
1465
-					and (!function_exists($f = 'critere_' . $serveur . '_' . $critere))
1466
-					and (!function_exists($f = $f . '_dist'))
1458
+				((!function_exists($f = 'critere_'.$serveur.'_'.$table.'_'.$critere))
1459
+					and (!function_exists($f = $f.'_dist'))
1460
+					and (!function_exists($f = 'critere_'.$serveur.'_'.$critere))
1461
+					and (!function_exists($f = $f.'_dist'))
1467 1462
 				)
1468 1463
 			)
1469
-			and (!function_exists($f = 'critere_' . $table . '_' . $critere))
1470
-			and (!function_exists($f = $f . '_dist'))
1471
-			and (!function_exists($f = 'critere_' . $critere))
1472
-			and (!function_exists($f = $f . '_dist'))
1464
+			and (!function_exists($f = 'critere_'.$table.'_'.$critere))
1465
+			and (!function_exists($f = $f.'_dist'))
1466
+			and (!function_exists($f = 'critere_'.$critere))
1467
+			and (!function_exists($f = $f.'_dist'))
1473 1468
 		) {
1474 1469
 			// fonction critere standard
1475 1470
 			$f = $defaut;
@@ -1500,9 +1495,9 @@  discard block
 block discarded – undo
1500 1495
  */
1501 1496
 function kwote($lisp, $serveur = '', $type = '') {
1502 1497
 	if (preg_match(_CODE_QUOTE, $lisp, $r)) {
1503
-		return $r[1] . '"' . sql_quote(str_replace(["\\'", '\\\\'], ["'", '\\'], $r[2]), $serveur, $type) . '"';
1498
+		return $r[1].'"'.sql_quote(str_replace(["\\'", '\\\\'], ["'", '\\'], $r[2]), $serveur, $type).'"';
1504 1499
 	} else {
1505
-		return "sql_quote($lisp, '$serveur', '" . str_replace("'", "\\'", $type) . "')";
1500
+		return "sql_quote($lisp, '$serveur', '".str_replace("'", "\\'", $type)."')";
1506 1501
 	}
1507 1502
 }
1508 1503
 
@@ -1524,7 +1519,7 @@  discard block
 block discarded – undo
1524 1519
 function critere_IN_dist($idb, &$boucles, $crit) {
1525 1520
 	$r = calculer_critere_infixe($idb, $boucles, $crit);
1526 1521
 	if (!$r) {
1527
-		return ['zbug_critere_inconnu', ['critere' => $crit->op . ' ?']];
1522
+		return ['zbug_critere_inconnu', ['critere' => $crit->op.' ?']];
1528 1523
 	}
1529 1524
 	[$arg, $op, $val, $col, $where_complement] = $r;
1530 1525
 
@@ -1549,8 +1544,8 @@  discard block
 block discarded – undo
1549 1544
 				"'NOT'",
1550 1545
 				[
1551 1546
 					"'IN'",
1552
-					"'" . $boucles[$idb]->id_table . '.' . $boucles[$idb]->primary . "'",
1553
-					["'SELF'", "'" . $boucles[$idb]->id_table . '.' . $boucles[$idb]->primary . "'", $where]
1547
+					"'".$boucles[$idb]->id_table.'.'.$boucles[$idb]->primary."'",
1548
+					["'SELF'", "'".$boucles[$idb]->id_table.'.'.$boucles[$idb]->primary."'", $where]
1554 1549
 				]
1555 1550
 			];
1556 1551
 		}
@@ -1567,22 +1562,22 @@  discard block
 block discarded – undo
1567 1562
 	$descr = $boucles[$idb]->descr;
1568 1563
 	$cpt = &$num[$descr['nom']][$descr['gram']][$idb];
1569 1564
 
1570
-	$var = '$in' . $cpt++;
1565
+	$var = '$in'.$cpt++;
1571 1566
 	$x = "\n\t$var = array();";
1572 1567
 	foreach ($val as $k => $v) {
1573 1568
 		if (preg_match(",^(\n//.*\n)?'(.*)'$,", $v, $r)) {
1574 1569
 			// optimiser le traitement des constantes
1575 1570
 			if (is_numeric($r[2])) {
1576
-				$x .= "\n\t$var" . "[]= $r[2];";
1571
+				$x .= "\n\t$var"."[]= $r[2];";
1577 1572
 			} else {
1578
-				$x .= "\n\t$var" . '[]= ' . sql_quote($r[2]) . ';';
1573
+				$x .= "\n\t$var".'[]= '.sql_quote($r[2]).';';
1579 1574
 			}
1580 1575
 		} else {
1581 1576
 			// Pour permettre de passer des tableaux de valeurs
1582 1577
 			// on repere l'utilisation brute de #ENV**{X},
1583 1578
 			// c'est-a-dire sa  traduction en ($PILE[0][X]).
1584 1579
 			// et on deballe mais en rajoutant l'anti XSS
1585
-			$x .= "\n\tif (!(is_array(\$a = ($v))))\n\t\t$var" . "[]= \$a;\n\telse $var = array_merge($var, \$a);";
1580
+			$x .= "\n\tif (!(is_array(\$a = ($v))))\n\t\t$var"."[]= \$a;\n\telse $var = array_merge($var, \$a);";
1586 1581
 		}
1587 1582
 	}
1588 1583
 
@@ -1596,7 +1591,7 @@  discard block
 block discarded – undo
1596 1591
 		$boucles[$idb]->default_order[] = "((!\$zqv=sql_quote($var) OR \$zqv===\"''\") ? 0 : ('FIELD($arg,' . \$zqv . ')'))";
1597 1592
 	}
1598 1593
 
1599
-	return "sql_in('$arg', $var" . ($crit2 == 'NOT' ? ",'NOT'" : '') . ')';
1594
+	return "sql_in('$arg', $var".($crit2 == 'NOT' ? ",'NOT'" : '').')';
1600 1595
 }
1601 1596
 
1602 1597
 /**
@@ -1669,7 +1664,7 @@  discard block
 block discarded – undo
1669 1664
 		$champs = array_diff($champs, array_keys($boucle->modificateur['criteres']));
1670 1665
 	}
1671 1666
 	// nous aider en mode debug.
1672
-	$boucle->debug[] = 'id_ : ' . implode(', ', $champs);
1667
+	$boucle->debug[] = 'id_ : '.implode(', ', $champs);
1673 1668
 	$boucle->modificateur['id_'] = $champs;
1674 1669
 
1675 1670
 	// créer un critère {id_xxx?} de chaque champ retenu
@@ -1921,8 +1916,8 @@  discard block
 block discarded – undo
1921 1916
 				"'NOT'",
1922 1917
 				[
1923 1918
 					"'IN'",
1924
-					"'" . $boucles[$idb]->id_table . '.' . $boucles[$idb]->primary . "'",
1925
-					["'SELF'", "'" . $boucles[$idb]->id_table . '.' . $boucles[$idb]->primary . "'", $where]
1919
+					"'".$boucles[$idb]->id_table.'.'.$boucles[$idb]->primary."'",
1920
+					["'SELF'", "'".$boucles[$idb]->id_table.'.'.$boucles[$idb]->primary."'", $where]
1926 1921
 				]
1927 1922
 			];
1928 1923
 		}
@@ -1933,7 +1928,7 @@  discard block
 block discarded – undo
1933 1928
 	if ($crit->cond) {
1934 1929
 		$pred = calculer_argument_precedent($idb, $col, $boucles);
1935 1930
 		if ($col === 'date' or $col === 'date_redac') {
1936
-			if ($pred === "\$Pile[0]['" . $col . "']") {
1931
+			if ($pred === "\$Pile[0]['".$col."']") {
1937 1932
 				$pred = "(\$Pile[0]['{$col}_default']?'':$pred)";
1938 1933
 			}
1939 1934
 		}
@@ -2096,7 +2091,7 @@  discard block
 block discarded – undo
2096 2091
 		// defaire le quote des int et les passer dans sql_quote avec le bon type de champ si on le connait, int sinon
2097 2092
 		// prendre en compte le debug ou la valeur arrive avec un commentaire PHP en debut
2098 2093
 		if (preg_match(",^\\A(\s*//.*?$\s*)?\"'(-?\d+)'\"\\z,ms", $val[0], $r)) {
2099
-			$val[0] = $r[1] . '"' . sql_quote($r[2], $boucle->sql_serveur, $type_cast_quote) . '"';
2094
+			$val[0] = $r[1].'"'.sql_quote($r[2], $boucle->sql_serveur, $type_cast_quote).'"';
2100 2095
 		}
2101 2096
 		// sinon expliciter les
2102 2097
 		// sql_quote(truc) en sql_quote(truc,'',type)
@@ -2112,14 +2107,14 @@  discard block
 block discarded – undo
2112 2107
 		) {
2113 2108
 			$r = $r[1]
2114 2109
 				. ((isset($r[2]) and $r[2]) ? $r[2] : ",''")
2115
-				. ",'" . addslashes($type_cast_quote) . "'";
2110
+				. ",'".addslashes($type_cast_quote)."'";
2116 2111
 			$val[0] = "sql_quote($r)";
2117 2112
 		}
2118 2113
 		elseif (
2119 2114
 			strpos($val[0], '@@defaultcast@@') !== false
2120 2115
 			and preg_match("/'@@defaultcast@@'\s*\)\s*\z/ms", $val[0], $r)
2121 2116
 		) {
2122
-			$val[0] = substr($val[0], 0, -strlen($r[0])) . "'" . addslashes($type_cast_quote) . "')";
2117
+			$val[0] = substr($val[0], 0, -strlen($r[0]))."'".addslashes($type_cast_quote)."')";
2123 2118
 		}
2124 2119
 	}
2125 2120
 
@@ -2127,7 +2122,7 @@  discard block
 block discarded – undo
2127 2122
 		strpos($val[0], '@@defaultcast@@') !== false
2128 2123
 		and preg_match("/'@@defaultcast@@'\s*\)\s*\z/ms", $val[0], $r)
2129 2124
 	) {
2130
-		$val[0] = substr($val[0], 0, -strlen($r[0])) . "'char')";
2125
+		$val[0] = substr($val[0], 0, -strlen($r[0]))."'char')";
2131 2126
 	}
2132 2127
 
2133 2128
 	// Indicateur pour permettre aux fonctionx boucle_X de modifier
@@ -2143,7 +2138,7 @@  discard block
 block discarded – undo
2143 2138
 	// inserer le nom de la table SQL devant le nom du champ
2144 2139
 	if ($table) {
2145 2140
 		if ($col[0] == '`') {
2146
-			$arg = "$table." . substr($col, 1, -1);
2141
+			$arg = "$table.".substr($col, 1, -1);
2147 2142
 		} else {
2148 2143
 			$arg = "$table.$col";
2149 2144
 		}
@@ -2277,9 +2272,9 @@  discard block
 block discarded – undo
2277 2272
  **/
2278 2273
 function primary_doublee($decompose, $table) {
2279 2274
 	$e1 = reset($decompose);
2280
-	$e2 = "sql_quote('" . end($decompose) . "')";
2275
+	$e2 = "sql_quote('".end($decompose)."')";
2281 2276
 
2282
-	return ["'='", "'$table." . $e1 . "'", $e2];
2277
+	return ["'='", "'$table.".$e1."'", $e2];
2283 2278
 }
2284 2279
 
2285 2280
 /**
@@ -2318,7 +2313,7 @@  discard block
 block discarded – undo
2318 2313
 		$checkarrivee
2319 2314
 		and is_string($checkarrivee)
2320 2315
 		and $a = table_objet($checkarrivee)
2321
-		and in_array($a . '_liens', $joints)
2316
+		and in_array($a.'_liens', $joints)
2322 2317
 	) {
2323 2318
 		if ($res = calculer_lien_externe_init($boucle, $joints, $col, $desc, $cond, $checkarrivee)) {
2324 2319
 			return $res;
@@ -2338,12 +2333,12 @@  discard block
 block discarded – undo
2338 2333
 				// la table est déjà dans le FROM, on vérifie si le champ est utilisé.
2339 2334
 				$joindre = false;
2340 2335
 				foreach ($cols as $col) {
2341
-					$c = '/\b' . $t . ".$col" . '\b/';
2336
+					$c = '/\b'.$t.".$col".'\b/';
2342 2337
 					if (trouver_champ($c, $boucle->where)) {
2343 2338
 						$joindre = true;
2344 2339
 					} else {
2345 2340
 						// mais ca peut etre dans le FIELD pour le Having
2346
-						$c = "/FIELD.$t" . ".$col,/";
2341
+						$c = "/FIELD.$t".".$col,/";
2347 2342
 						if (trouver_champ($c, $boucle->select)) {
2348 2343
 							$joindre = true;
2349 2344
 						}
@@ -2389,7 +2384,7 @@  discard block
 block discarded – undo
2389 2384
 	$primary_arrivee = id_table_objet($checkarrivee);
2390 2385
 
2391 2386
 	// [FIXME] $checkarrivee peut-il arriver avec false ????
2392
-	$intermediaire = trouver_champ_exterieur($primary_arrivee, $joints, $boucle, $checkarrivee . '_liens');
2387
+	$intermediaire = trouver_champ_exterieur($primary_arrivee, $joints, $boucle, $checkarrivee.'_liens');
2393 2388
 	$arrivee = trouver_champ_exterieur($col, $joints, $boucle, $checkarrivee);
2394 2389
 
2395 2390
 	if (!$intermediaire or !$arrivee) {
@@ -2493,7 +2488,7 @@  discard block
 block discarded – undo
2493 2488
 			} elseif ($crit->cond and ($col == 'date' or $col == 'date_redac')) {
2494 2489
 				// un critere conditionnel sur date est traite a part
2495 2490
 				// car la date est mise d'office par SPIP,
2496
-				$defaut = "(\$Pile[0]['{$col}_default']?'':\$Pile[0]['" . $col . "'])";
2491
+				$defaut = "(\$Pile[0]['{$col}_default']?'':\$Pile[0]['".$col."'])";
2497 2492
 			}
2498 2493
 
2499 2494
 			$val = calculer_argument_precedent($idb, $val, $boucles, $defaut);
@@ -2525,7 +2520,7 @@  discard block
 block discarded – undo
2525 2520
 			and (($p == "'") or ($p == '"'))
2526 2521
 			and $params[0][1]->type == 'champ'
2527 2522
 		) {
2528
-			$val[] = "$p\\$p#" . $params[0][1]->nom_champ . "\\$p$p";
2523
+			$val[] = "$p\\$p#".$params[0][1]->nom_champ."\\$p$p";
2529 2524
 		} else {
2530 2525
 			foreach ((($op != 'IN') ? $params : calculer_vieux_in($params)) as $p) {
2531 2526
 				$a = calculer_liste($p, $idb, $boucles, $parent);
@@ -2541,7 +2536,7 @@  discard block
 block discarded – undo
2541 2536
 	$fct = $args_sql = '';
2542 2537
 	// fonction SQL ?
2543 2538
 	// chercher FONCTION(champ) tel que CONCAT(titre,descriptif)
2544
-	if (preg_match('/^(.*)' . SQL_ARGS . '$/', $col, $m)) {
2539
+	if (preg_match('/^(.*)'.SQL_ARGS.'$/', $col, $m)) {
2545 2540
 		$fct = $m[1];
2546 2541
 		preg_match('/^\(([^,]*)(.*)\)$/', $m[2], $a);
2547 2542
 		$col = $a[1];
@@ -2628,7 +2623,7 @@  discard block
 block discarded – undo
2628 2623
 		# Recherche de l'existence du champ date_xxxx,
2629 2624
 		# si oui choisir ce champ, sinon choisir xxxx
2630 2625
 		if (isset($table['field']["date$suite"])) {
2631
-			$date_orig = 'date' . $suite;
2626
+			$date_orig = 'date'.$suite;
2632 2627
 		} else {
2633 2628
 			$date_orig = substr($suite, 1);
2634 2629
 		}
@@ -2648,12 +2643,12 @@  discard block
 block discarded – undo
2648 2643
 		}
2649 2644
 	}
2650 2645
 
2651
-	$date_compare = "\"' . normaliser_date(" .
2652
-		calculer_argument_precedent($idb, $pred, $boucles) .
2646
+	$date_compare = "\"' . normaliser_date(".
2647
+		calculer_argument_precedent($idb, $pred, $boucles).
2653 2648
 		") . '\"";
2654 2649
 
2655 2650
 	$col_vraie = $date_orig;
2656
-	$date_orig = $boucle->id_table . '.' . $date_orig;
2651
+	$date_orig = $boucle->id_table.'.'.$date_orig;
2657 2652
 
2658 2653
 	switch ($col) {
2659 2654
 		case 'date':
@@ -2673,26 +2668,26 @@  discard block
 block discarded – undo
2673 2668
 			break;
2674 2669
 		case 'age':
2675 2670
 			$col = calculer_param_date("\'' . date('Y-m-d H:i:00') . '\'", $date_orig);
2676
-			$col_vraie = '';// comparer a un int (par defaut)
2671
+			$col_vraie = ''; // comparer a un int (par defaut)
2677 2672
 			break;
2678 2673
 		case 'age_relatif':
2679 2674
 			$col = calculer_param_date($date_compare, $date_orig);
2680
-			$col_vraie = '';// comparer a un int (par defaut)
2675
+			$col_vraie = ''; // comparer a un int (par defaut)
2681 2676
 			break;
2682 2677
 		case 'jour_relatif':
2683
-			$col = '(TO_DAYS(' . $date_compare . ')-TO_DAYS(' . $date_orig . '))';
2684
-			$col_vraie = '';// comparer a un int (par defaut)
2678
+			$col = '(TO_DAYS('.$date_compare.')-TO_DAYS('.$date_orig.'))';
2679
+			$col_vraie = ''; // comparer a un int (par defaut)
2685 2680
 			break;
2686 2681
 		case 'mois_relatif':
2687
-			$col = 'MONTH(' . $date_compare . ')-MONTH(' .
2688
-				$date_orig . ')+12*(YEAR(' . $date_compare .
2689
-				')-YEAR(' . $date_orig . '))';
2690
-			$col_vraie = '';// comparer a un int (par defaut)
2682
+			$col = 'MONTH('.$date_compare.')-MONTH('.
2683
+				$date_orig.')+12*(YEAR('.$date_compare.
2684
+				')-YEAR('.$date_orig.'))';
2685
+			$col_vraie = ''; // comparer a un int (par defaut)
2691 2686
 			break;
2692 2687
 		case 'annee_relatif':
2693
-			$col = 'YEAR(' . $date_compare . ')-YEAR(' .
2694
-				$date_orig . ')';
2695
-			$col_vraie = '';// comparer a un int (par defaut)
2688
+			$col = 'YEAR('.$date_compare.')-YEAR('.
2689
+				$date_orig.')';
2690
+			$col_vraie = ''; // comparer a un int (par defaut)
2696 2691
 			break;
2697 2692
 	}
2698 2693
 
@@ -2753,10 +2748,10 @@  discard block
 block discarded – undo
2753 2748
 	}
2754 2749
 
2755 2750
 	$boucle->hash .= '
2756
-	$command[\'sourcemode\'] = ' . array_shift($args) . ";\n";
2751
+	$command[\'sourcemode\'] = ' . array_shift($args).";\n";
2757 2752
 
2758 2753
 	$boucle->hash .= '
2759
-	$command[\'source\'] = array(' . join(', ', $args) . ");\n";
2754
+	$command[\'source\'] = array(' . join(', ', $args).");\n";
2760 2755
 }
2761 2756
 
2762 2757
 /**
@@ -2775,7 +2770,7 @@  discard block
 block discarded – undo
2775 2770
 function critere_DATA_datacache_dist($idb, &$boucles, $crit) {
2776 2771
 	$boucle = &$boucles[$idb];
2777 2772
 	$boucle->hash .= '
2778
-	$command[\'datacache\'] = ' . calculer_liste($crit->param[0], $idb, $boucles, $boucles[$idb]->id_parent) . ';';
2773
+	$command[\'datacache\'] = ' . calculer_liste($crit->param[0], $idb, $boucles, $boucles[$idb]->id_parent).';';
2779 2774
 }
2780 2775
 
2781 2776
 
@@ -2794,7 +2789,7 @@  discard block
 block discarded – undo
2794 2789
 	$boucle->hash .= '$command[\'args\']=array();';
2795 2790
 	foreach ($crit->param as $param) {
2796 2791
 		$boucle->hash .= '
2797
-			$command[\'args\'][] = ' . calculer_liste($param, $idb, $boucles, $boucles[$idb]->id_parent) . ';';
2792
+			$command[\'args\'][] = ' . calculer_liste($param, $idb, $boucles, $boucles[$idb]->id_parent).';';
2798 2793
 	}
2799 2794
 }
2800 2795
 
@@ -2813,14 +2808,14 @@  discard block
 block discarded – undo
2813 2808
  */
2814 2809
 function critere_DATA_liste_dist($idb, &$boucles, $crit) {
2815 2810
 	$boucle = &$boucles[$idb];
2816
-	$boucle->hash .= "\n\t" . '$command[\'liste\'] = array();' . "\n";
2811
+	$boucle->hash .= "\n\t".'$command[\'liste\'] = array();'."\n";
2817 2812
 	foreach ($crit->param as $param) {
2818
-		$boucle->hash .= "\t" . '$command[\'liste\'][] = ' . calculer_liste(
2813
+		$boucle->hash .= "\t".'$command[\'liste\'][] = '.calculer_liste(
2819 2814
 			$param,
2820 2815
 			$idb,
2821 2816
 			$boucles,
2822 2817
 			$boucles[$idb]->id_parent
2823
-		) . ";\n";
2818
+		).";\n";
2824 2819
 	}
2825 2820
 }
2826 2821
 
@@ -2847,14 +2842,14 @@  discard block
 block discarded – undo
2847 2842
  */
2848 2843
 function critere_DATA_enum_dist($idb, &$boucles, $crit) {
2849 2844
 	$boucle = &$boucles[$idb];
2850
-	$boucle->hash .= "\n\t" . '$command[\'enum\'] = array();' . "\n";
2845
+	$boucle->hash .= "\n\t".'$command[\'enum\'] = array();'."\n";
2851 2846
 	foreach ($crit->param as $param) {
2852
-		$boucle->hash .= "\t" . '$command[\'enum\'][] = ' . calculer_liste(
2847
+		$boucle->hash .= "\t".'$command[\'enum\'][] = '.calculer_liste(
2853 2848
 			$param,
2854 2849
 			$idb,
2855 2850
 			$boucles,
2856 2851
 			$boucles[$idb]->id_parent
2857
-		) . ";\n";
2852
+		).";\n";
2858 2853
 	}
2859 2854
 }
2860 2855
 
@@ -2873,7 +2868,7 @@  discard block
 block discarded – undo
2873 2868
 	$boucle = &$boucles[$idb];
2874 2869
 	foreach ($crit->param as $param) {
2875 2870
 		$boucle->hash .= '
2876
-			$command[\'datapath\'][] = ' . calculer_liste($param, $idb, $boucles, $boucles[$idb]->id_parent) . ';';
2871
+			$command[\'datapath\'][] = ' . calculer_liste($param, $idb, $boucles, $boucles[$idb]->id_parent).';';
2877 2872
 	}
2878 2873
 }
2879 2874
 
@@ -2914,7 +2909,7 @@  discard block
 block discarded – undo
2914 2909
 	if ($crit->param) {
2915 2910
 		foreach ($crit->param as $param) {
2916 2911
 			$boucle->hash .= "\t\$command['si'][] = "
2917
-				. calculer_liste($param, $idb, $boucles, $boucles[$idb]->id_parent) . ";\n";
2912
+				. calculer_liste($param, $idb, $boucles, $boucles[$idb]->id_parent).";\n";
2918 2913
 		}
2919 2914
 		// interdire {si 0} aussi !
2920 2915
 	} else {
@@ -2938,7 +2933,7 @@  discard block
 block discarded – undo
2938 2933
 function critere_POUR_tableau_dist($idb, &$boucles, $crit) {
2939 2934
 	$boucle = &$boucles[$idb];
2940 2935
 	$boucle->hash .= '
2941
-	$command[\'source\'] = array(' . calculer_liste($crit->param[0], $idb, $boucles, $boucles[$idb]->id_parent) . ');
2936
+	$command[\'source\'] = array(' . calculer_liste($crit->param[0], $idb, $boucles, $boucles[$idb]->id_parent).');
2942 2937
 	$command[\'sourcemode\'] = \'table\';';
2943 2938
 }
2944 2939
 
@@ -2973,7 +2968,7 @@  discard block
 block discarded – undo
2973 2968
 	$id_parent = $GLOBALS['exceptions_des_tables'][$boucle->id_table]['id_parent'] ?? 'id_parent';
2974 2969
 
2975 2970
 	$in = 'IN';
2976
-	$where = ["'IN'", "'$boucle->id_table." . "$primary'", "'('.sql_get_select('$id_parent', '$table_sql').')'"];
2971
+	$where = ["'IN'", "'$boucle->id_table."."$primary'", "'('.sql_get_select('$id_parent', '$table_sql').')'"];
2977 2972
 	if ($not) {
2978 2973
 		$where = ["'NOT'", $where];
2979 2974
 	}
Please login to merge, or discard this patch.