Code Duplication    Length = 16-16 lines in 2 locations

ecrire/public/criteres.php 2 locations

@@ 882-897 (lines=16) @@
879
 * @param string $champ Texte suivant l'expression ('titre' dans {par num titre})
880
 * @return string Clause pour le Order by
881
 */
882
function calculer_critere_par_expression_num($idb, &$boucles, $crit, $tri, $champ) {
883
	$_champ = calculer_critere_par_champ($idb, $boucles, $crit, $champ, true);
884
	if (is_array($_champ)) {
885
		return array('zbug_critere_inconnu', array('critere' => $crit->op . " num $champ"));
886
	}
887
	$boucle = &$boucles[$idb];
888
	$texte = '0+' . $_champ;
889
	$suite = calculer_liste($tri, $idb, $boucles, $boucle->id_parent);
890
	if ($suite !== "''") {
891
		$texte = "\" . ((\$x = $suite) ? ('$texte' . \$x) : '0')" . " . \"";
892
	}
893
	$as = 'num' . ($boucle->order ? count($boucle->order) : "");
894
	$boucle->select[] = $texte . " AS $as";
895
	$order = "'$as'";
896
	return $order;
897
}
898
899
/**
900
 * Calculs pour le critère `{par sinum champ}` qui ordonne les champs avec numéros en premier
@@ 916-931 (lines=16) @@
913
 * @param string $champ Texte suivant l'expression ('titre' dans {par sinum titre})
914
 * @return string Clause pour le Order by
915
 */
916
function calculer_critere_par_expression_sinum($idb, &$boucles, $crit, $tri, $champ) {
917
	$_champ = calculer_critere_par_champ($idb, $boucles, $crit, $champ, true);
918
	if (is_array($_champ)) {
919
		return array('zbug_critere_inconnu', array('critere' => $crit->op . " sinum $champ"));
920
	}
921
	$boucle = &$boucles[$idb];
922
	$texte = '0+' . $_champ;
923
	$suite = calculer_liste($tri, $idb, $boucles, $boucle->id_parent);
924
	if ($suite !== "''") {
925
		$texte = "\" . ((\$x = $suite) ? ('$texte' . \$x) : '0')" . " . \"";
926
	}
927
	$as = 'sinum' . ($boucle->order ? count($boucle->order) : "");
928
	$boucle->select[] = 'CASE (' . $texte . ') WHEN 0 THEN 1 ELSE 0 END AS ' . $as;
929
	$order = "'$as'";
930
	return $order;
931
}
932
933
934
/**