Author: esj@rezo.net
Date: 2007-09-13 14:49:45 +0200 (jeu, 13 sep 2007)
New Revision: 10288
Log:
Langue d'un forum dans '''#PARAMETRES_FORUM'''. Corrige #1063, très vieux bug dû à l'absence de champ Lang dans la table SYNDIC, visible seulement lorsqu'on utilisait l'alias SITES. Mais ce code était de toutes façons à refaire. D'une part on peut tester à la compil si le site est multi-lingue, afin d'éviter tous les calculs sur la champ Lang. Ensuite, ce champ est presque toujours disponible dans les boucles contenant la balise, il était couteux de refaire une requête SQL juste pour ça.
Une requête n'est nécessaire que dans le cas des tables sans champ Lang:
* dans le cas d'une boucle SYNDIC, mais on peut synthétiser le calcul de id_rubrique a la compil plutot que de le chercher dans la QueryString à l'exécution
* dans le cas d'une boucle FORUM, où là il faut chercher id_article, id_rubrique ou id_breve dans la QuerString (et s'il n'y en a pas on laisse tomber, comme auparavant, mais ça pourrait se résoudre).
Attention, la fonction '''lang_parametres_forum''' change de signature.
Test:
{{{
BOUCLE_site(SYNDIC){1,10}
<br>
<BOUCLE_site(SYNDIC){1,10}>
[(#PARAMETRES_FORUM|url_reponse_forum)]<br>
</BOUCLE_site>
<br>
BOUCLE_R(RUBRIQUES){1,10}
<br>
<BOUCLE_R(RUBRIQUES){1,10}>
[(#PARAMETRES_FORUM|url_reponse_forum)]<br>
</BOUCLE_R>
<br>
BOUCLE_A(ARTICLES){1,10}
<br>
<BOUCLE_A(ARTICLES){1,10}>
[(#PARAMETRES_FORUM|url_reponse_forum)]<br>
</BOUCLE_A>
<br>
BOUCLE_B(BREVES){1,10}
<br>
<BOUCLE_B(BREVES){1,10}>
[(#PARAMETRES_FORUM|url_reponse_forum)]<br>
</BOUCLE_B>
<br>
BOUCLE_F(FORUMS){1,10}
<br>
<BOUCLE_F(FORUMS){1,10}>
[(#PARAMETRES_FORUM|url_reponse_forum)]<br>
</BOUCLE_F>
<br>
BOUCLE_ARTICLE+FORUMS
<br><BOUCLE_A2(ARTICLES)>
<BOUCLE_F2(FORUMS){id_article}>
[(#PARAMETRES_FORUM|url_reponse_forum)]<br>
</BOUCLE_F2>
</BOUCLE_A2>
}}}
Modified:
spip/ecrire/public/balises.php
spip/ecrire/public/composer.php
spip/ecrire/public/interfaces.php
spip/ecrire/public/parametrer.php