[SPIP][PLUGINS] v3.0-->v3.2
[lhc/web/www.git] / www / plugins / menus_1 / menus / rubriques_completes.html
index 0790dca..e55b024 100644 (file)
-[(#REM)        Rubrique de depart :\r
-                       Si l'id_rubrique saisi vaut "courante" on va chercher l'id de la rubrique courante => env{env{id_rubrique}}\r
-                       sinon, on utilise l'id saisi ]\r
-[(#SET{id_rubrique, #ENV{id_rubrique}|=={courante}|?{#ENV**|unserialize|table_valeur{env}|table_valeur{id_rubrique},#ENV{id_rubrique}|intval}})]\r
-\r
-[(#SET{id_secteur_exclus, #ENV{id_secteur_exclus}|?{#ENV{id_secteur_exclus}|explode{','},#ARRAY}})]\r
-[(#SET{niveau_max_txt, #ENV{niveau}|intval|?{#ENV{niveau},infini}})]\r
-[(#SET{niveau_max, #ENV{niveau}|intval|?{#ENV{niveau},1000}})]\r
-[(#SET{sousrub_cond, #ENV{sousrub_cond}|=={oui}|?{'on',''}})]\r
-[(#SET{rubriques_max_affichees, #ENV{rubriques_max_affichees}|intval|?{#ENV{rubriques_max_affichees},10000}})]\r
-[(#SET{id_rubriques_exclues, #ENV{id_rubriques_exclues}|?{#ENV{id_rubriques_exclues}|explode{','},#ARRAY}})]\r
-[(#SET{classe_parent, #ENV{classe_parent}})]\r
-\r
-[(#SET{afficher_articles, #ENV{afficher_articles}|=={oui}|?{'on',''}})]\r
-[(#SET{masquer_articles_uniques, #ENV{masquer_articles_uniques}|=={oui}|?{'on',''}})]\r
-[(#SET{articles_max, #ENV{articles_max}|intval|?{#ENV{articles_max},10000}})]\r
-[(#SET{articles_max_plus_un, #GET{articles_max}|plus{1}})]\r
-[(#SET{articles_max_affiches, #ENV{articles_max_affiches}|intval|?{#ENV{articles_max_affiches},10000}})]\r
-\r
-[(#REM) Tri des rubriques ]\r
-[(#SET{tri_num, #ENV{tri_num}|ou{#ENV{tri_alpha}}|?{#ENV{tri_num},'titre'}})]\r
-[(#SET{tri_alpha, #ENV{tri_num}|ou{#ENV{tri_alpha}}|?{#ENV{tri_alpha},'titre'}})]\r
-[(#SET{tri_num_inverse, #ENV{tri_num_inverse}|=={oui}|?{'1','0'}})]\r
-[(#SET{tri_alpha_inverse, #ENV{tri_alpha_inverse}|=={oui}|?{'1','0'}})]\r
-\r
-[(#REM) Tri des articles ]\r
-[(#SET{tri_num_articles, #ENV{tri_num_articles}|ou{#ENV{tri_alpha_articles}}|?{#ENV{tri_num_articles},'titre'}})]\r
-[(#SET{tri_alpha_articles, #ENV{tri_num_articles}|ou{#ENV{tri_alpha_articles}}|?{#ENV{tri_alpha_articles},'titre'}})]\r
-[(#SET{tri_num_articles_inverse, #ENV{tri_num_articles_inverse}|=={oui}|?{'1','0'}})]\r
-[(#SET{tri_alpha_articles_inverse, #ENV{tri_alpha_articles_inverse}|=={oui}|?{'1','0'}})]\r
-\r
-[(#ENV{appel_formulaire}|oui)\r
-       [(#SET{titre, #ENV{id_rubrique}|?{#ENV{id_rubrique}|=={courante}|?{<:menus:info_rubrique_courante:>,#INFO_TITRE{rubrique, #GET{id_rubrique}}}, <:info_racine_site:>}})]\r
-       [(#ENV{secteurlangue}non)<div class="titre">#GET{titre}</div>]\r
-       [(#ENV{secteurlangue}oui)<div class="titre"><:menus:nom_menu_secteurlangue:></div>]\r
-       <div class="infos">\r
-               [(#GET{niveau_max_txt}|=={infini}|non)\r
-                       <:menus:entree_sur_n_niveaux{n=#GET{niveau_max_txt}}:>\r
-               ]\r
-               [(#GET{niveau_max_txt}|=={infini}|oui)\r
-                       <:menus:entree_infini:>\r
-               ]\r
-               [(#GET{id_secteur_exclus}|oui)\r
-                       <:menus:info_secteur_exclus{id_secteur=#ENV{id_secteur_exclus}}:>\r
-               ]\r
-               [(#GET{id_rubriques_exclues}|oui)\r
-                       <:menus:info_rubriques_exclues{id_rubriques=#ENV{id_rubriques_exclues}}:>\r
-               ]\r
-               [(#GET{sousrub_cond}|oui)\r
-                       <br /><:menus:info_sousrub_cond:>\r
-               ]\r
-               [(#GET{rubriques_max_affichees}|<{10000}|oui) / <:menus:info_rubriques_max_affichees{max=#GET{rubriques_max_affichees}}:>]\r
-               <br /><:menus:info_tri:> [(#GET{tri_num}) [(#GET{tri_num_inverse}|=={1}|oui) inverse] <:menus:info_tri_num:>][(#GET{tri_num}|et{GET{tri_alpha}}), ][(#GET{tri_alpha}) [(#GET{tri_alpha_inverse}|=={1}|oui) inverse] <:menus:info_tri_alpha:>]\r
-               [<br /><:menus:info_classe_parent:>(#GET{classe_parent})]\r
-\r
-               [(#GET{afficher_articles}|oui)\r
-                       <br /><:menus:info_afficher_articles:>\r
-                       [(#GET{articles_max}|<{10000}|oui) / <:menus:info_articles_max{max=#GET{articles_max}}:>]\r
-                       [(#GET{articles_max_affiches}|<{10000}|oui) / <:menus:info_articles_max_affiches{max=#GET{articles_max_affiches}}:>]\r
-                       [(#GET{masquer_articles_uniques}|oui) / <:menus:info_masquer_articles_uniques:>]\r
-               ]\r
-               <br /><:menus:info_tri_articles:> [(#GET{tri_num_articles}) [(#GET{tri_num__articles_inverse}|=={1}|oui) inverse] <:menus:info_tri_num:>][(#GET{tri_num_articles}|et{GET{tri_alpha_articles}}), ][(#GET{tri_alpha_articles}) [(#GET{tri_alpha_articles_inverse}|=={1}|oui) inverse] <:menus:info_tri_alpha:>]\r
-       </div>\r
-]\r
-<BOUCLE_appel(CONDITION){si #ENV{appel_menu}|oui}>\r
-       <BOUCLE_rubriques(RUBRIQUES){id_parent=#GET{id_rubrique}}{id_secteur !IN #GET{id_secteur_exclus}}{id_rubrique !IN #GET{id_rubriques_exclues}}{par num #GET{tri_num}}{inverse #GET{tri_num_inverse}}{par #GET{tri_alpha}}{inverse #GET{tri_alpha_inverse}}{0,#GET{rubriques_max_affichees}}>\r
-               #SET{niveau_actuel,#EVAL{1}|intval}\r
-               <li class="menu-entree item[ (#ID_RUBRIQUE|menus_exposer{rubrique,#ENV*{env}})] rub#ID_RUBRIQUE">\r
-                       <a href="#URL_RUBRIQUE">#TITRE</a>\r
-\r
-                       [(#REM) Doit-on descendre plus loin ? ]\r
-                       [(#SET{cond,#GET{niveau_max}|>{#GET{niveau_actuel}}|et{#GET{sousrub_cond}|?{#ID_RUBRIQUE|menus_exposer{rubrique,#ENV*{env}},'on'}}})]\r
-\r
-                       <BOUCLE_test_niveau(CONDITION){si #GET{cond}}>\r
-                               [(#REM) On commence par compter le nombre total de sous-rubriques (servira pour l'item "Toutes les rubriques")]\r
-                               #SET{cpt_sousrub,0}\r
-                               <BOUCLE_cpt_sousrub(RUBRIQUES){id_parent}{id_rubrique !IN #GET{id_rubriques_exclues}}> </BOUCLE_cpt_sousrub>#SET{cpt_sousrub,#TOTAL_BOUCLE}</B_cpt_sousrub>\r
-\r
-                               <B_sous_rubriques>\r
-                                       <ul class="menu-liste menu-items">\r
-                               <BOUCLE_sous_rubriques(RUBRIQUES){id_parent}{id_rubrique !IN #GET{id_rubriques_exclues}}{par num #GET{tri_num}}{inverse #GET{tri_num_inverse}}{par #GET{tri_alpha}}{inverse #GET{tri_alpha_inverse}}{0,#GET{rubriques_max_affichees}}>\r
-                                       #SET{niveau_actuel,#GET{niveau_actuel}|plus{1}}\r
-                                       [(#REM) Doit-on descendre recursivement plus loin ? ]\r
-                                       [(#SET{cond,#GET{niveau_max}|>{#GET{niveau_actuel}}|et{#GET{sousrub_cond}|?{#ID_RUBRIQUE|menus_exposer{rubrique,#ENV*{env}},'on'}}})]\r
-                                       <li class="menu-entree item[ (#ID_RUBRIQUE|menus_exposer{rubrique,#ENV*{env}})] rub#ID_RUBRIQUE">\r
-\r
-                                               [(#REM) ------------------------------------------------\r
-                                                               Positionnement de la classe daddy sur le lien pour indiquer qu'il a un ul a suivre, un autre sous-menu a ouvrir\r
-                                                               si on doit descendre plus loin et\r
-                                                                               - qu'il y a des sous-rubriques a afficher\r
-                                                                               - ou qu'il y a des articles a afficher et qu'on l'a demande ]\r
-                  #SET{class,""}\r
-                                               <BOUCLE_test_classe_parent(CONDITION){si #GET{classe_parent}}>\r
-                     [(#REM) On commence par compter le nombre de sous-rubriques ]\r
-                     #SET{cpt_sousrub_asuivre,0}\r
-                     <BOUCLE_cpt_sousrub_asuivre(RUBRIQUES){id_parent}{id_rubrique !IN #GET{id_rubriques_exclues}}> </BOUCLE_cpt_sousrub_asuivre>#SET{cpt_sousrub_asuivre,#TOTAL_BOUCLE}</B_cpt_sousrub_asuivre>\r
-                     [(#REM) Puis on compte le nombre d'articles ]\r
-                     #SET{cpt_articles_asuivre,0}\r
-                     <BOUCLE_cpt_articles_asuivre(ARTICLES){id_rubrique}{lang}> </BOUCLE_cpt_articles_asuivre>#SET{cpt_articles_asuivre,#TOTAL_BOUCLE}</B_cpt_articles_asuivre>\r
-                     [(#GET{cond}|oui)\r
-                        [(#GET{cpt_sousrub_asuivre}|oui) #SET{class,#GET{classe_parent}}]\r
-                        [(#GET{afficher_articles}|et{#GET{cpt_articles_asuivre}|<={#GET{articles_max}}|oui|et{#GET{cpt_articles_asuivre}|>{1}|ou{#GET{masquer_articles_uniques}|=={'on'}|non}}}) #SET{class,#GET{classe_parent}}]\r
-                     ]\r
-                  </BOUCLE_test_classe_parent>\r
-                                               [(#REM) --------------------------- Fin Positionnement de la classe daddy ]\r
-\r
-                                               <a href="#URL_RUBRIQUE"[ class="(#GET{class})"]>#TITRE</a>\r
-                                               <BOUCLE_test_niveau2(CONDITION){si #GET{cond}}>\r
-                                               <BOUCLE_sous_sous(BOUCLE_sous_rubriques)></BOUCLE_sous_sous>\r
-                                               </BOUCLE_test_niveau2>\r
-                                       </li>\r
-                               </BOUCLE_sous_rubriques>\r
-                                       [(#REM) On affiche le lien vers le reste si on a d�pass� le quota ]\r
-                                       [(#GET{cpt_sousrub}|>{#GET{rubriques_max_affichees}}|oui)\r
-                                               <li class="menu-entree item"><a class="suite" href="#URL_RUBRIQUE"><:menus:toutes_les_rubriques:></a></li>]\r
-\r
-                                       [(#REM) ------------------------------------------------\r
-                                                       Premier cas de gestion de l'affichage des articles \r
-                                                       Ce code est dupliqu� dans les 2e et 3e cas, voir ci dessous (a un ul pres)\r
-                                                       Il n'est pas possible en spip 2 d'utiliser inclure pour eviter la duplication\r
-                                                       Cf http://comments.gmane.org/gmane.comp.web.spip.devel/60475\r
-                                                       Ce doit etre le meme soucis qui fait que #URL_RUBRIQUE est trasnforme en\r
-                                                       spip.php?page=rubrique&id_rubrique=2&connect=condition qu'on enleve avec le filtre parametre_url ]\r
-\r
-                                       <BOUCLE_test_articles_si_sousrub(CONDITION){si #GET{afficher_articles}}>\r
-                                               [(#REM) On commence par compter le nombre d'articles de la rubrique (servira pour l'item "Tous les articles") ]\r
-                                               #SET{cpt,0}\r
-                                               <BOUCLE_cpt_si_sousrub(ARTICLES){id_rubrique}{lang}> </BOUCLE_cpt_si_sousrub>#SET{cpt,#TOTAL_BOUCLE}</B_cpt_si_sousrub>\r
-                       \r
-                                               [(#REM) On affiche les articles :\r
-                                                                       - S'il y en a moins que le max demand� \r
-                                                                       - ET    - si on n'a pas demand� de masquage des articles uniques\r
-                                                                                       - OU si le masquage des articles uniques est demand� et qu'il y en a plus d'un ]\r
-                                               #SET{afficher,non}\r
-                                               [(#GET{cpt}|<={#GET{articles_max}}|oui|et{#GET{cpt}|>{1}|ou{#GET{masquer_articles_uniques}|=={'on'}|non}})\r
-                                                       #SET{afficher,oui}]\r
-\r
-                                               <BOUCLE_test_afficher_si_sousrub(CONDITION){si #GET{afficher}|=={oui}|oui}>\r
-                                                       <BOUCLE_articles_si_sousrub(ARTICLES){id_rubrique}{lang}{par num #GET{tri_num_articles}}{inverse #GET{tri_num_articles_inverse}}{par #GET{tri_alpha_articles}}{inverse #GET{tri_alpha_articles_inverse}}{0,#GET{articles_max_affiches}}>\r
-                                                               <li class="menu-entree item[ (#ID_ARTICLE|menus_exposer{article,#ENV*{env}})]">\r
-                                                                       <a href="#URL_ARTICLE">#TITRE</a>\r
-                                                               </li>\r
-                                                       </BOUCLE_articles_si_sousrub>\r
-                                                       [(#GET{cpt}|>{#GET{articles_max_affiches}}|oui)\r
-                                                               <li class="menu-entree item"><a class="suite" href="[(#URL_RUBRIQUE|parametre_url{connect,''})]"><:menus:tous_les_articles:></a></li>]\r
-                                                       </B_articles_si_sousrub>\r
-                                               </BOUCLE_test_afficher_si_sousrub>\r
-                                       </BOUCLE_test_articles_si_sousrub>\r
-                                       [(#REM) --------------------------- Fin Premier cas ]\r
-                                       </ul>\r
-                               </B_sous_rubriques>\r
-\r
-                                       [(#REM) ---------------------------------- \r
-                                                       Second cas de gestion de l'affichage des articles ]\r
-                                       <BOUCLE_test_articles_pas_de_sousrub(CONDITION){si #GET{afficher_articles}}>\r
-                                               [(#REM) On commence par compter le nombre d'articles de la rubrique (servira pour l'item "Tous les articles") ]\r
-                                               #SET{cpt,0}\r
-                                               <BOUCLE_cpt_pas_de_sousrub(ARTICLES){id_rubrique}{lang}> </BOUCLE_cpt_pas_de_sousrub>#SET{cpt,#TOTAL_BOUCLE}</B_cpt_pas_de_sousrub>\r
-\r
-                                               [(#REM) On affiche les articles :\r
-                                                                       - S'il y en a moins que le max demand� \r
-                                                                       - ET    - si on n'a pas demand� de masquage des articles uniques\r
-                                                                                       - OU si le masquage des articles uniques est demand� et qu'il y en a plus d'un ]\r
-                                               #SET{afficher,non}\r
-                                               [(#GET{cpt}|<={#GET{articles_max}}|oui|et{#GET{cpt}|>{1}|ou{#GET{masquer_articles_uniques}|=={'on'}|non}})              \r
-                                                       #SET{afficher,oui}]\r
-\r
-                                               <BOUCLE_test_afficher_pas_de_sousrub(CONDITION){si #GET{afficher}|=={oui}|oui}>\r
-                                                       <B_articles_pas_de_sousrub>\r
-                                                               <ul class="menu-liste menu-items">\r
-                                                       <BOUCLE_articles_pas_de_sousrub(ARTICLES){id_rubrique}{lang}{par num #GET{tri_num_articles}}{inverse #GET{tri_num_articles_inverse}}{par #GET{tri_alpha_articles}}{inverse #GET{tri_alpha_articles_inverse}}{0,#GET{articles_max_affiches}}>\r
-                                                               <li class="menu-entree item[ (#ID_ARTICLE|menus_exposer{article,#ENV*{env}})]">\r
-                                                                               <a href="#URL_ARTICLE">#TITRE</a>\r
-                                                               </li>\r
-                                                       </BOUCLE_articles_pas_de_sousrub>\r
-                                                               [(#GET{cpt}|>{#GET{articles_max_affiches}}|oui)\r
-                                                                       <li class="menu-entree item"><a class="suite" href="[(#URL_RUBRIQUE|parametre_url{connect,''})]"><:menus:tous_les_articles:></a></li>]\r
-                                                               </ul>\r
-                                                       </B_articles_pas_de_sousrub>\r
-                                               </BOUCLE_test_afficher_pas_de_sousrub>\r
-                                       </BOUCLE_test_articles_pas_de_sousrub>\r
-                                       [(#REM) --------------------------- Fin Second cas ]\r
-\r
-                               <//B_sous_rubriques>\r
-                       </BOUCLE_test_niveau>\r
-               </li>\r
-       </BOUCLE_rubriques>\r
-\r
-   [(#REM) ---------------------------------- \r
-         troisieme cas de gestion de l'affichage des articles : les articles de la rubriques de d�part ]\r
-   <BOUCLE_test_articles_pas_de_rub(CONDITION){si #GET{afficher_articles}}>\r
-      [(#REM) On commence par compter le nombre d'articles de la rubrique (servira pour l'item "Tous les articles") ]\r
-      #SET{cpt,0}\r
-      <BOUCLE_cpt_pas_de_rub(ARTICLES){id_rubrique=#GET{id_rubrique}}{lang}> </BOUCLE_cpt_pas_de_rub>#SET{cpt,#TOTAL_BOUCLE}</B_cpt_pas_de_rub>\r
-\r
-      [(#REM) On affiche les articles :\r
-               - S'il y en a moins que le max demand� \r
-               - ET    - si on n'a pas demand� de masquage des articles uniques\r
-                     - OU si le masquage des articles uniques est demand� et qu'il y en a plus d'un ]\r
-      #SET{afficher,non}\r
-      [(#GET{cpt}|<={#GET{articles_max}}|oui|et{#GET{cpt}|>{1}|ou{#GET{masquer_articles_uniques}|=={'on'}|non}})               \r
-         #SET{afficher,oui}]\r
-      <BOUCLE_test_afficher_pas_de_rub(CONDITION){si #GET{afficher}|=={oui}|oui}>\r
-         <B_articles_pas_de_rub>\r
-         <BOUCLE_articles_pas_de_rub(ARTICLES){id_rubrique=#GET{id_rubrique}}{lang}{par num #GET{tri_num_articles}}{inverse #GET{tri_num_articles_inverse}}{par #GET{tri_alpha_articles}}{inverse #GET{tri_alpha_articles_inverse}}{0,#GET{articles_max_affiches}}>\r
-            <li class="menu-entree item[ (#ID_ARTICLE|menus_exposer{article,#ENV*{env}})]">\r
-               <a href="#URL_ARTICLE">#TITRE</a>\r
-            </li>\r
-         </BOUCLE_articles_pas_de_rub>\r
-            [(#GET{cpt}|>{#GET{articles_max_affiches}}|oui)\r
-               <li class="menu-entree item"><a class="suite" href="[(#URL_RUBRIQUE|parametre_url{connect,''})]"><:menus:tous_les_articles:></a></li>]\r
-         </B_articles_pas_de_rub>\r
-      </BOUCLE_test_afficher_pas_de_rub>\r
-   </BOUCLE_test_articles_pas_de_rub>\r
-   [(#REM) --------------------------- Fin troisieme cas ]\r
-\r
-</BOUCLE_appel>\r
+[(#REM)        Rubrique de depart :
+                       Si l'id_rubrique saisi vaut "courante" on va chercher l'id de la rubrique courante => env{env{id_rubrique}}
+                       sinon, on utilise l'id saisi ]
+[(#SET{id_rubrique, #ENV{id_rubrique}|=={courante}|?{#ENV**|unserialize|table_valeur{env}|table_valeur{id_rubrique},#ENV{id_rubrique}|intval}})]
+
+[(#SET{id_secteur_exclus, #ENV{id_secteur_exclus}|?{#ENV{id_secteur_exclus}|explode{','},#ARRAY}})]
+[(#SET{niveau_max_txt, #ENV{niveau}|intval|?{#ENV{niveau},infini}})]
+[(#SET{niveau_max, #ENV{niveau}|intval|?{#ENV{niveau},1000}})]
+[(#SET{sousrub_cond, #ENV{sousrub_cond}|=={oui}|?{'on',''}})]
+[(#SET{rubriques_max_affichees, #ENV{rubriques_max_affichees}|intval|?{#ENV{rubriques_max_affichees},10000}})]
+[(#SET{id_rubriques_exclues, #ENV{id_rubriques_exclues}|?{#ENV{id_rubriques_exclues}|explode{','},#ARRAY}})]
+[(#SET{classe_parent, #ENV{classe_parent}})]
+
+[(#SET{afficher_articles, #ENV{afficher_articles}|=={oui}|?{'on',''}})]
+[(#SET{masquer_articles_uniques, #ENV{masquer_articles_uniques}|=={oui}|?{'on',''}})]
+[(#SET{lien_direct_articles_uniques, #ENV{lien_direct_articles_uniques}|=={oui}|?{'on',''}})]
+
+[(#SET{articles_max, #ENV{articles_max}|intval|?{#ENV{articles_max},10000}})]
+[(#SET{articles_max_plus_un, #GET{articles_max}|plus{1}})]
+[(#SET{articles_max_affiches, #ENV{articles_max_affiches}|intval|?{#ENV{articles_max_affiches},10000}})]
+
+[(#REM) Tri des rubriques ]
+[(#SET{tri_num, #ENV{tri,titre}|menus_critere_tri{num}})]
+[(#SET{tri_alpha, #ENV{tri,titre}|menus_critere_tri{alpha}})]
+[(#SET{tri_num_inverse,#GET{tri_num}|match{^!}|oui})]
+[(#SET{tri_alpha_inverse,#GET{tri_alpha}|match{^!}|oui})]
+[(#SET{tri_num,#GET{tri_num}|ltrim{!}})]
+[(#SET{tri_alpha,#GET{tri_alpha}|ltrim{!}})]
+
+[(#REM) Tri des articles ]
+[(#SET{tri_num_articles, #ENV{tri_articles,titre}|menus_critere_tri{num}})]
+[(#SET{tri_alpha_articles, #ENV{tri_articles,titre}|menus_critere_tri{alpha}})]
+[(#SET{tri_num_articles_inverse,#GET{tri_num_articles}|match{^!}|oui})]
+[(#SET{tri_alpha_articles_inverse,#GET{tri_alpha_articles}|match{^!}|oui})]
+[(#SET{tri_num_articles,#GET{tri_num_articles}|ltrim{!}})]
+[(#SET{tri_alpha_articles,#GET{tri_alpha_articles}|ltrim{!}})]
+
+
+[(#ENV{appel_formulaire}|oui)
+       [(#SET{titre, #ENV{id_rubrique}|?{#ENV{id_rubrique}|=={courante}|?{<:menus:info_rubrique_courante:>,#INFO_TITRE{rubrique, #GET{id_rubrique}}}, <:info_racine_site:>}})]
+       [(#ENV{secteurlangue}non)<div class="titre">#GET{titre}</div>]
+       [(#ENV{secteurlangue}oui)<div class="titre"><:menus:nom_menu_secteurlangue:></div>]
+       <div class="infos">
+               [(#GET{niveau_max_txt}|=={infini}|non)
+                       <:menus:entree_sur_n_niveaux{n=#GET{niveau_max_txt}}:>
+               ]
+               [(#GET{niveau_max_txt}|=={infini}|oui)
+                       <:menus:entree_infini:>
+               ]
+               [(#GET{id_secteur_exclus}|oui)
+                       <:menus:info_secteur_exclus{id_secteur=#ENV{id_secteur_exclus}}:>
+               ]
+               [(#GET{id_rubriques_exclues}|oui)
+                       <:menus:info_rubriques_exclues{id_rubriques=#ENV{id_rubriques_exclues}}:>
+               ]
+               [(#GET{sousrub_cond}|oui)
+                       <br /><:menus:info_sousrub_cond:>
+               ]
+               [(#GET{rubriques_max_affichees}|<{10000}|oui) / <:menus:info_rubriques_max_affichees{max=#GET{rubriques_max_affichees}}:>]
+               <br /><:menus:info_tri:> [(#GET{tri_num}) [(#GET{tri_num_inverse}|=={1}|oui) inverse] <:menus:info_tri_num:>][(#GET{tri_num}|et{GET{tri_alpha}}), ][(#GET{tri_alpha}) [(#GET{tri_alpha_inverse}|=={1}|oui) inverse] <:menus:info_tri_alpha:>]
+               [<br /><:menus:info_classe_parent:>(#GET{classe_parent})]
+
+               [(#GET{afficher_articles}|oui)
+                       <br /><:menus:info_afficher_articles:>
+                       [(#GET{articles_max}|<{10000}|oui) / <:menus:info_articles_max{max=#GET{articles_max}}:>]
+                       [(#GET{articles_max_affiches}|<{10000}|oui) / <:menus:info_articles_max_affiches{max=#GET{articles_max_affiches}}:>]
+                       [(#GET{masquer_articles_uniques}|oui) / <:menus:info_masquer_articles_uniques:>]
+               ]
+               <br /><:menus:info_tri_articles:> [(#GET{tri_num_articles}) [(#GET{tri_num__articles_inverse}|=={1}|oui) inverse] <:menus:info_tri_num:>][(#GET{tri_num_articles}|et{GET{tri_alpha_articles}}), ][(#GET{tri_alpha_articles}) [(#GET{tri_alpha_articles_inverse}|=={1}|oui) inverse] <:menus:info_tri_alpha:>]
+       </div>
+]
+<BOUCLE_appel(CONDITION){si #ENV{appel_menu}|oui}>
+       <BOUCLE_rubriques(RUBRIQUES){id_parent=#GET{id_rubrique}}{id_secteur !IN #GET{id_secteur_exclus}}{id_rubrique !IN #GET{id_rubriques_exclues}}{par num #GET{tri_num}}{inverse #GET{tri_num_inverse}}{par #GET{tri_alpha}}{inverse #GET{tri_alpha_inverse}}{0,#GET{rubriques_max_affichees}}>
+               [(#SET{niveau_actuel,1})]<li class="menu-entree item[ (#ID_RUBRIQUE|menus_exposer{rubrique,#ENV*{env}})] rub#ID_RUBRIQUE">[(#REM) 
+                               si articles uniques masqués
+                               faire le lien vers l'article quand il est seul dans la rubrique ?
+                       ]<BOUCLE_cpt_art(ARTICLES){id_rubrique}{lang}{si #GET{masquer_articles_uniques}}{si #GET{lien_direct_articles_uniques}}> #SET{id_article_unique, #ID_ARTICLE}</BOUCLE_cpt_art>
+                       [(#TOTAL_BOUCLE|>{1}|?{
+                               <a href="#URL_RUBRIQUE">#TITRE</a>,
+                               <a href="[(#URL_ARTICLE{#GET{id_article_unique}})]">#TITRE</a>
+                       })]</B_cpt_art>
+                       <a href="#URL_RUBRIQUE">#TITRE</a><//B_cpt_art>[(#REM)
+                       
+                       Doit-on descendre plus loin ?
+                       
+                       ][(#SET{cond,#GET{niveau_max}|>{#GET{niveau_actuel}}|et{#GET{sousrub_cond}|?{#ID_RUBRIQUE|menus_exposer{rubrique,#ENV*{env}},'on'}}})]<BOUCLE_test_niveau(CONDITION){si #GET{cond}}>[(#REM) 
+                       
+                                       On commence par compter le nombre total de sous-rubriques (servira pour l'item "Toutes les rubriques")
+                               
+                               ][(#SET{cpt_sousrub,0})]
+                               <BOUCLE_cpt_sousrub(RUBRIQUES){id_parent}{id_rubrique !IN #GET{id_rubriques_exclues}}> </BOUCLE_cpt_sousrub>#SET{cpt_sousrub,#TOTAL_BOUCLE}</B_cpt_sousrub>
+                               <B_sous_rubriques>
+                                       <ul class="menu-liste menu-items">
+                               <BOUCLE_sous_rubriques(RUBRIQUES){id_parent}{id_rubrique !IN #GET{id_rubriques_exclues}}{par num #GET{tri_num}}{inverse #GET{tri_num_inverse}}{par #GET{tri_alpha}}{inverse #GET{tri_alpha_inverse}}{0,#GET{rubriques_max_affichees}}>
+                                       [(#SET{niveau_actuel,#GET{niveau_actuel}|plus{1}})][(#REM) 
+                                               Doit-on descendre recursivement plus loin ? 
+                                       ][(#SET{cond,#GET{niveau_max}|>{#GET{niveau_actuel}}|et{#GET{sousrub_cond}|?{#ID_RUBRIQUE|menus_exposer{rubrique,#ENV*{env}},'on'}}})]
+                                       <li class="menu-entree item[ (#ID_RUBRIQUE|menus_exposer{rubrique,#ENV*{env}})] rub#ID_RUBRIQUE">[(#REM) 
+                                               ------------------------------------------------
+                                               Positionnement de la classe daddy sur le lien pour indiquer qu'il a un ul a suivre, un autre sous-menu a ouvrir
+                                               si on doit descendre plus loin et
+                                                               - qu'il y a des sous-rubriques a afficher
+                                                               - ou qu'il y a des articles a afficher et qu'on l'a demande 
+                                               ][(#SET{class,''})]
+                                               <BOUCLE_test_classe_parent(CONDITION){si #GET{classe_parent}}>[(#REM) 
+                                               
+                                                       On commence par compter le nombre de sous-rubriques 
+                                                       
+                                               ][(#SET{cpt_sousrub_asuivre,0})]
+                                               <BOUCLE_cpt_sousrub_asuivre(RUBRIQUES){id_parent}{id_rubrique !IN #GET{id_rubriques_exclues}}> </BOUCLE_cpt_sousrub_asuivre>#SET{cpt_sousrub_asuivre,#TOTAL_BOUCLE}</B_cpt_sousrub_asuivre>[(#REM) 
+                                               
+                                                       Puis on compte le nombre d'articles 
+                                               
+                                               ][(#SET{cpt_articles_asuivre,0})]
+                                               <BOUCLE_cpt_articles_asuivre(ARTICLES){id_rubrique}{lang}> </BOUCLE_cpt_articles_asuivre>#SET{cpt_articles_asuivre,#TOTAL_BOUCLE}</B_cpt_articles_asuivre>
+                                               [(#GET{cond}|oui)
+                                                       [(#GET{cpt_sousrub_asuivre}|oui) [(#SET{class,[(#GET{classe_parent})]})]]
+                                                       [(#GET{afficher_articles}|et{#GET{cpt_articles_asuivre}|<={#GET{articles_max}}|oui|et{#GET{cpt_articles_asuivre}|>{1}|ou{#GET{masquer_articles_uniques}|=={'on'}|non}}}) #SET{class,#GET{classe_parent}}]
+                                               ]
+                                               </BOUCLE_test_classe_parent>[(#REM) 
+                                               
+                                                       --------------------------- Fin Positionnement de la classe daddy
+                                               
+                                               ]<a href="#URL_RUBRIQUE"[ class="(#GET{class})"]>#TITRE</a>
+                                               <BOUCLE_test_niveau2(CONDITION){si #GET{cond}}>
+                                                       <BOUCLE_sous_sous(BOUCLE_sous_rubriques)></BOUCLE_sous_sous>
+                                               </BOUCLE_test_niveau2>
+                                       </li>
+                               </BOUCLE_sous_rubriques>[(#REM) 
+                               
+                                       On affiche le lien vers le reste si on a dépassé le quota 
+                                       
+                                       ][(#GET{cpt_sousrub}|>{#GET{rubriques_max_affichees}}|oui)
+                                               <li class="menu-entree item"><a class="suite" href="#URL_RUBRIQUE"><:menus:toutes_les_rubriques:></a></li>]
+                                       [(#REM) ------------------------------------------------
+                                                       Premier cas de gestion de l'affichage des articles 
+                                                       Ce code est dupliqué dans les 2e et 3e cas, voir ci dessous (a un ul pres)
+                                                       Il n'est pas possible en spip 2 d'utiliser inclure pour eviter la duplication
+                                                       Cf http://comments.gmane.org/gmane.comp.web.spip.devel/60475
+                                                       Ce doit etre le meme soucis qui fait que #URL_RUBRIQUE est trasnforme en
+                                                       spip.php?page=rubrique&id_rubrique=2&connect=condition qu'on enleve avec le filtre parametre_url ]
+                                       <BOUCLE_test_articles_si_sousrub(CONDITION){si #GET{afficher_articles}}>[(#REM) 
+                                       
+                                               On commence par compter le nombre d'articles de la rubrique (servira pour l'item "Tous les articles") 
+                                               
+                                               ][(#SET{cpt,0})]
+                                               <BOUCLE_cpt_si_sousrub(ARTICLES){id_rubrique}{lang}> </BOUCLE_cpt_si_sousrub>#SET{cpt,#TOTAL_BOUCLE}</B_cpt_si_sousrub>[(#REM)
+                                                       On affiche les articles :
+                                                               - S'il y en a moins que le max demandé
+                                                               - ET    - si on n'a pas demandé de masquage des articles uniques
+                                                                       - OU si le masquage des articles uniques est demandé et qu'il y en a plus d'un
+                                               ][(#SET{afficher,non})]
+                                               [(#GET{cpt}|<={#GET{articles_max}}|oui|et{#GET{cpt}|>{1}|ou{#GET{masquer_articles_uniques}|=={'on'}|non}})
+                                                       #SET{afficher,oui}]
+                                               <BOUCLE_test_afficher_si_sousrub(CONDITION){si #GET{afficher}|=={oui}|oui}>
+                                                       <BOUCLE_articles_si_sousrub(ARTICLES){id_rubrique}{lang}{par num #GET{tri_num_articles}}{inverse #GET{tri_num_articles_inverse}}{par #GET{tri_alpha_articles}}{inverse #GET{tri_alpha_articles_inverse}}{0,#GET{articles_max_affiches}}>
+                                                               <li class="menu-entree item[ (#ID_ARTICLE|menus_exposer{article,#ENV*{env}})]">
+                                                                       <a href="#URL_ARTICLE">#TITRE</a>
+                                                               </li>
+                                                       </BOUCLE_articles_si_sousrub>
+                                                       [(#GET{cpt}|>{#GET{articles_max_affiches}}|oui)
+                                                               <li class="menu-entree item"><a class="suite" href="[(#URL_RUBRIQUE|parametre_url{connect,''})]"><:menus:tous_les_articles:></a></li>]
+                                                       </B_articles_si_sousrub>
+                                               </BOUCLE_test_afficher_si_sousrub>
+                                       </BOUCLE_test_articles_si_sousrub>[(#REM)
+                                       
+                                               --------------------------- Fin Premier cas
+                                       
+                                       ]</ul>
+                               </B_sous_rubriques>[(#REM)
+                                       ----------------------------------
+                                       Second cas de gestion de l'affichage des articles
+                               ]<BOUCLE_test_articles_pas_de_sousrub(CONDITION){si #GET{afficher_articles}}>
+                                               [(#REM) On commence par compter le nombre d'articles de la rubrique (servira pour l'item "Tous les articles") ]
+                                               #SET{cpt,0}
+                                               <BOUCLE_cpt_pas_de_sousrub(ARTICLES){id_rubrique}{lang}> </BOUCLE_cpt_pas_de_sousrub>#SET{cpt,#TOTAL_BOUCLE}</B_cpt_pas_de_sousrub>[(#REM)
+                                               On affiche les articles :
+                                                       - S'il y en a moins que le max demandé"
+                                                       - ET    - si on n'a pas demandé de masquage des articles uniques
+                                                               - OU si le masquage des articles uniques est demandé et qu'il y en a plus d'un ]
+                                               #SET{afficher,non}
+                                               [(#GET{cpt}|<={#GET{articles_max}}|oui|et{#GET{cpt}|>{1}|ou{#GET{masquer_articles_uniques}|=={'on'}|non}})
+                                                       #SET{afficher,oui}]
+
+                                               <BOUCLE_test_afficher_pas_de_sousrub(CONDITION){si #GET{afficher}|=={oui}|oui}>
+                                                       <B_articles_pas_de_sousrub>
+                                                               <ul class="menu-liste menu-items">
+                                                       <BOUCLE_articles_pas_de_sousrub(ARTICLES){id_rubrique}{lang}{par num #GET{tri_num_articles}}{inverse #GET{tri_num_articles_inverse}}{par #GET{tri_alpha_articles}}{inverse #GET{tri_alpha_articles_inverse}}{0,#GET{articles_max_affiches}}>
+                                                               <li class="menu-entree item[ (#ID_ARTICLE|menus_exposer{article,#ENV*{env}})]">
+                                                                               <a href="#URL_ARTICLE">#TITRE</a>
+                                                               </li>
+                                                       </BOUCLE_articles_pas_de_sousrub>
+                                                               [(#GET{cpt}|>{#GET{articles_max_affiches}}|oui)
+                                                                       <li class="menu-entree item"><a class="suite" href="[(#URL_RUBRIQUE|parametre_url{connect,''})]"><:menus:tous_les_articles:></a></li>]
+                                                               </ul>
+                                                       </B_articles_pas_de_sousrub>
+                                               </BOUCLE_test_afficher_pas_de_sousrub>
+                                       </BOUCLE_test_articles_pas_de_sousrub>
+                                       [(#REM) --------------------------- Fin Second cas ]
+                               <//B_sous_rubriques>
+                       </BOUCLE_test_niveau>
+               </li></BOUCLE_rubriques>[(#REM) ----------------------------------
+                       troisieme cas de gestion de l'affichage des articles : les articles de la rubriques de départ
+               ]<BOUCLE_test_articles_pas_de_rub(CONDITION){si #GET{afficher_articles}}>[(#REM)
+               
+               On commence par compter le nombre d'articles de la rubrique (servira pour l'item "Tous les articles")
+               
+               ][(#SET{cpt,0})]<BOUCLE_cpt_pas_de_rub(ARTICLES){id_rubrique=#GET{id_rubrique}}{lang}> </BOUCLE_cpt_pas_de_rub>#SET{cpt,#TOTAL_BOUCLE}</B_cpt_pas_de_rub>
+               [(#REM) On affiche les articles :
+                       - S'il y en a moins que le max demandé
+                       - ET
+                               - si on n'a pas demandé de masquage des articles uniques
+                               - OU si le masquage des articles uniques est demandé et qu'il y en a plus d'un ]
+               [(#SET{afficher,non})][(#GET{cpt}|<={#GET{articles_max}}|oui|et{#GET{cpt}|>{1}|ou{#GET{masquer_articles_uniques}|=={'on'}|non}})#SET{afficher,oui}]
+       <BOUCLE_test_afficher_pas_de_rub(CONDITION){si #GET{afficher}|=={oui}|oui}>
+                       <B_articles_pas_de_rub>
+                       <BOUCLE_articles_pas_de_rub(ARTICLES){id_rubrique=#GET{id_rubrique}}{lang}{par num #GET{tri_num_articles}}{inverse #GET{tri_num_articles_inverse}}{par #GET{tri_alpha_articles}}{inverse #GET{tri_alpha_articles_inverse}}{0,#GET{articles_max_affiches}}>
+                       <li class="menu-entree item[ (#ID_ARTICLE|menus_exposer{article,#ENV*{env}})]">
+                               <a href="#URL_ARTICLE">#TITRE</a>
+                       </li>
+                       </BOUCLE_articles_pas_de_rub>[(#GET{cpt}|>{#GET{articles_max_affiches}}|oui)
+                       <li class="menu-entree item"><a class="suite" href="[(#URL_RUBRIQUE|parametre_url{connect,''})]"><:menus:tous_les_articles:></a></li>]
+                       </B_articles_pas_de_rub>
+               </BOUCLE_test_afficher_pas_de_rub>
+       </BOUCLE_test_articles_pas_de_rub>
+</BOUCLE_appel>
+#FILTRE{trim}
\ No newline at end of file