J’essaye de realiser un nouveau critere multimo, en fait le critere realise l’intersection des objects par rapport aux mots.
<BOUCLE_intersection(ARTICLES){multimot mot1,mot2,mot3}>
function critere_multimot_dist($idb, &$boucles, $crit) {
//on recupere la liste des parametres et on la transforme en vecteur
$param = $crit->param;
$params = $param[0][0]->texte;
$mots = explode(",", $params);
$not = $crit->not;
$cond = $crit->cond;
$op = ‹ = ›;
foreach($mots as $mot) {
$texte = new Texte;
$texte->texte = « titre_mot= ».$mot;
$args = array( new Texte, array($texte));
$args[0]->texte = ‹ titre_mot ›;
$args[0] = array($args[0]);
$args[1][0]->texte = $mot;
$crit = new Critere;
$crit->op = ‹ = ›;
$crit->not = $not;
$crit->cond = $cond;
$crit->param = $args;
// Applique le critere
$res = calculer_critere_DEFAUT($idb, $boucles, $crit);
// Gestion d’erreur
if (is_array($res)) erreur_squelette($res);
}
}
Cela fonctionne tres bien sauf que je ne peut pas mettre de #ENV{listedemot} en argument du filtre ce qui est vraiment dommage.