J'ai trouvé !!
J'ai contourné le problème en faisant la vérification dans le code php mais pas dans la requête !
Je vous explique, cela pourra peut-être servir à d'autres
La requête est légèrement différente de l'originale : on inclut simplement le champ date en plus dans le résultat.
Code:
$query = 'SELECT a.id, a.title, a.alias, a.filename_play, a.filename_preview, a.link_external, a.image_filename, a.filename, c.id as catid, a.confirm_license, a.date, c.title as cattitle, c.alias as catalias,' . ' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(\':\', a.id, a.alias) ELSE a.id END as slug,' . ' CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(\':\', c.id, c.alias) ELSE c.id END as catslug' . ' FROM #__phocadownload AS a' . ' LEFT JOIN #__phocadownload_categories AS c ON a.catid = c.id';
Code:
if (!empty($items)) { $output .= '<div class="phocadownloadfilelist">'; foreach ($items as $item) { //Debut CODE Xavier if (isset($item->date) && ($item->date != '') && $day !='') { $dateString = strtotime($item->date) ; $dateStringtoday = strtotime(date("Y-m-d H:i:s")) ; if (floor(($dateStringtoday - $dateString)/24/60/60) > $day) { continue; } } //Fin CODE Xavier
Et voilà !
Ca marche très bien !
Maintenant, il pourra y avoir quelques améliorations.
Je me suis rendu compte que le plugin parse tout le code en une fois dans la page.
Cela veut dire que si j'ai plusieurs appels de liste de fichiers de catégories différentes, si le plugin voit "day=une_valeur", il appliquera cette valeur pour toute la page.
Du coup, on ne peut pas avec cette solution avoir une catégorie limité au 60 derniers jours et dessous une autre catégorie sans filtrage.
J'ai posté en même temps sur le forum Phoca et je verrai si Jan (de Phoca) a du temps et l'envie de, pourquoi pas, faire évoluer cette fonctionnalité et comment, ou encore m'aider à trouver une solution pour donner un filtrage différent dans la même page sur plusieurs catégorie
De la même manière, il va me falloir d'un point de vue personnel continuer de voir pourquoi cette requête n'a jamais voulu fonctionner, mais ceci est une autre histoire !!
Merci à tous ceux qui m'ont filé un coup de main en tout cas
Bien à vous tous,
Xavier
[EDIT] Je ne passe pas le sujet en "réglé" pour l'instant, si d'autres solutions ou compléments à cette solution sont trouvés, on ne sait jamais )
Laisser un commentaire: