Code Duplication    Length = 16-16 lines in 2 locations

ecrire/public/criteres.php 2 locations

@@ 869-884 (lines=16) @@
866
 * @param string $champ Texte suivant l'expression ('titre' dans {par num titre})
867
 * @return string Clause pour le Order by
868
 */
869
function calculer_critere_par_expression_num($idb, &$boucles, $crit, $tri, $champ) {
870
	$_champ = calculer_critere_par_champ($idb, $boucles, $crit, $champ, true);
871
	if (is_array($_champ)) {
872
		return array('zbug_critere_inconnu', array('critere' => $crit->op . " num $champ"));
873
	}
874
	$boucle = &$boucles[$idb];
875
	$texte = '0+' . $_champ;
876
	$suite = calculer_liste($tri, array(), $boucles, $boucle->id_parent);
877
	if ($suite !== "''") {
878
		$texte = "\" . ((\$x = $suite) ? ('$texte' . \$x) : '0')" . " . \"";
879
	}
880
	$as = 'num' . ($boucle->order ? count($boucle->order) : "");
881
	$boucle->select[] = $texte . " AS $as";
882
	$order = "'$as'";
883
	return $order;
884
}
885
886
/**
887
 * Calculs pour le critère `{par sinum champ}` qui ordonne les champs avec numéros en premier
@@ 903-918 (lines=16) @@
900
 * @param string $champ Texte suivant l'expression ('titre' dans {par sinum titre})
901
 * @return string Clause pour le Order by
902
 */
903
function calculer_critere_par_expression_sinum($idb, &$boucles, $crit, $tri, $champ) {
904
	$_champ = calculer_critere_par_champ($idb, $boucles, $crit, $champ, true);
905
	if (is_array($_champ)) {
906
		return array('zbug_critere_inconnu', array('critere' => $crit->op . " sinum $champ"));
907
	}
908
	$boucle = &$boucles[$idb];
909
	$texte = '0+' . $_champ;
910
	$suite = calculer_liste($tri, array(), $boucles, $boucle->id_parent);
911
	if ($suite !== "''") {
912
		$texte = "\" . ((\$x = $suite) ? ('$texte' . \$x) : '0')" . " . \"";
913
	}
914
	$as = 'sinum' . ($boucle->order ? count($boucle->order) : "");
915
	$boucle->select[] = 'CASE (' . $texte . ') WHEN 0 THEN 1 ELSE 0 END AS ' . $as;
916
	$order = "'$as'";
917
	return $order;
918
}
919
920
921
/**