diff --git a/inc-criteres.php3 b/inc-criteres.php3 index 94ceaffb120555c0ec203064c28c39bbd1af8359..6c1bbc44956a9b4987c61ea8ecc43f4145398857 100644 --- a/inc-criteres.php3 +++ b/inc-criteres.php3 @@ -518,8 +518,7 @@ function calculer_critere_infixe($idb, &$boucles, $crit) { // Cas particulier : expressions de date else if ($table_date[$type] - AND preg_match(",^(date|mois|annee|heure|age|" - ."age_relatif|jour_relatif|mois_relatif|annee_relatif)(_[a-z]+)?$,", + AND preg_match(",^(date|mois|annee|jour|heure|age)(_[a-z]+)?$,", $col, $regs)) { list($col, $col_table) = calculer_critere_infixe_date($idb, $boucles, $regs[1], $regs[2]); @@ -769,20 +768,24 @@ function calculer_critere_infixe_date($idb, &$boucles, $col, $suite) global $table_date; $boucle = $boucles[$idb]; + $date_orig = $table_date[$boucle->type_requete]; + if ($suite) { # NOTE : A transformer en recherche de l'existence du champ date_xxxx, # si oui choisir ce champ, sinon choisir xxxx - if ($suite =='_redac' OR $suite=='_modif') + if ($suite == '_relatif') { + $col = $col.'_relatif'; + } + else if ($suite =='_redac' OR $suite=='_modif') $date_orig = 'date'.$suite; else $date_orig = substr($suite, 1); - } else - $date_orig = $table_date[$boucle->type_requete]; + } - $date_orig = $boucle->id_table . ".$date_orig"; $date_compare = '\'" . normaliser_date(' . - calculer_argument_precedent($idb, 'date' . $suite, $boucles) . + calculer_argument_precedent($idb, $date_orig, $boucles) . ') . "\''; + $date_orig = $boucle->id_table . '.' . $date_orig; if ($col == 'date') { $col = $date_orig;