{branche?} provoque une jointure / SPIP 3.1.1 SVN

RealET <[email protected]>
Newsgroups gmane.comp.web.spip.devel
Message-ID <[email protected]>
Bonjour,

Je suis tombé sur le problème avec le plugin agenda qui a une boucle 
dans agenda-ical.html :
<BOUCLE_evenement2_branche(EVENEMENTS) 
{branche?}{id_article?}{id_mot?}{statut=publie}{par date_fin} 
{age_fin<=0} {0,50} {doublons}>

Le code SQL généré quand il n'y a pas de id_rubrique dans l'URL est :
SELECT evenements.date_fin, evenements.titre, evenements.id_evenement, 
evenements.date_debut, evenements.horaire, evenements.id_article, 
evenements.descriptif, evenements.lieu, evenements.date_creation, 
evenements.maj
FROM spip_evenements AS `evenements`
INNER JOIN spip_articles AS L1 ON ( L1.id_article = evenements.id_article )
WHERE ((L1.id_rubrique  IN 
(0,626,630,636,644,647,666,681,923,627,629,648,652,653,624,631,635,926,927,638,645,673,680,825,924,925)))
	AND (evenements.statut = 'publie')
	AND (TIMESTAMPDIFF(HOUR,evenements.date_fin,NOW())/24 <= 0)
GROUP BY evenements.id_evenement
ORDER BY evenements.date_fin
LIMIT 0,50

Si j'enlève {branche?}
Le code se simplifie en :
SELECT evenements.date_fin, evenements.titre, evenements.id_evenement, 
evenements.date_debut, evenements.horaire, evenements.id_article, 
evenements.descriptif, evenements.lieu, evenements.date_creation, 
evenements.maj
FROM spip_evenements AS `evenements`
WHERE (evenements.statut = 'publie')
	AND (TIMESTAMPDIFF(HOUR,evenements.date_fin,NOW())/24 <= 0)
GROUP BY evenements.id_evenement
ORDER BY evenements.date_fin
LIMIT 0,50

Pourquoi est-ce que {branche?} produit un code SQL alors que les autres 
ne produisent rien ?

PS : ce "bug" fait disparaître les événements des pages uniques (du 
plugin de même nom)
PS² : j'ai un patch violent qui doublonne les 3 boucle en les entourant 
d'une boucle condition :
<BOUCLE_Branche(AUTEURS){si #ENV{id_rubrique}}{0,1}>

-- 
RealET
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.