Changeset 36332 in spip-zone


Ignore:
Timestamp:
Mar 17, 2010, 9:29:34 AM (11 years ago)
Author:
joseph@…
Message:

Mise en ligne d'une version 0.2 du noizetier. Voir http://www.spip-contrib.net/noiZetier pour plus de détails.

Location:
_plugins_/noiZetier
Files:
105 added
37 deleted
19 edited
3 copied
18 moved

Legend:

Unmodified
Added
Removed
  • _plugins_/noiZetier/aveline/inclure/aveline-portfolio.html

    r36250 r36332  
    33<div class="documents documents_portfolio">
    44        <h2 class="h2"><:info_portfolio:></h2>
    5         <BOUCLE_documents_portfolio(DOCUMENTS) {id_article?}{id_rubrique?} {mode=document}{extension IN png,jpg,gif} {par num titre, date}{vu=non}>[
     5        <BOUCLE_documents_portfolio(DOCUMENTS) {id_article?}{id_rubrique?} {mode=document}{extension IN png,jpg,gif} {par num titre, date}{vu?}>[
    66        <a href="(#URL_DOCUMENT)" type="#MIME_TYPE"[ title="(#TITRE|attribut_html|couper{80})"]>[(#FICHIER
    77                |image_reduire{0,100}
  • _plugins_/noiZetier/aveline/noisettes/article-contenuprincipal.xml

    r36250 r36332  
    11<noisette>
    2         <nom><:noizetier:nom_article-contenuprincipal:></nom>
    3         <description><:noizetier:description_article-contenuprincipal:></description>
    4         <icone>img/ic_article.png</icone>
    5         <parametre nom="afficher_date" label="noizetier:label_afficher_date" saisie="oui_non" defaut="on" />
    6         <parametre nom="afficher_date_modif" label="noizetier:label_afficher_date_modif" saisie="oui_non" defaut="" />
    7         <parametre nom="afficher_auteurs" label="noizetier:label_afficher_auteurs" saisie="oui_non" defaut="on," />
    8         <parametre nom="afficher_traductions" label="noizetier:label_afficher_traductions" saisie="oui_non" defaut="on" />
    9         <parametre nom="afficher_lienhypertexte" label="noizetier:label_afficher_lienhypertexte" saisie="oui_non" defaut="on" />
    10         <parametre nom="afficher_logo" label="noizetier:label_afficher_logo" saisie="oui_non" defaut="on" />
    11         <parametre nom="utiliser_logo_article_rubrique" label="noizetier:label_utiliser_logo_article_rubrique" saisie="oui_non" defaut="" />
     2        <nom><:aveline:nom_article-contenuprincipal:></nom>
     3        <description><:aveline:description_article-contenuprincipal:></description>
     4        <icon>img/ic_article.png</icon>
     5        <parametre nom="afficher_date" label="aveline:label_afficher_date" saisie="oui_non" defaut="on" />
     6        <parametre nom="afficher_date_modif" label="aveline:label_afficher_date_modif" saisie="oui_non" defaut="" />
     7        <parametre nom="afficher_auteurs" label="aveline:label_afficher_auteurs" saisie="oui_non" defaut="on," />
     8        <parametre nom="afficher_traductions" label="aveline:label_afficher_traductions" saisie="oui_non" defaut="on" />
     9        <parametre nom="afficher_lienhypertexte" label="aveline:label_afficher_lienhypertexte" saisie="oui_non" defaut="on" />
     10        <parametre nom="afficher_logo" label="aveline:label_afficher_logo" saisie="oui_non" defaut="on" />
     11        <parametre nom="utiliser_logo_article_rubrique" label="aveline:label_utiliser_logo_article_rubrique" saisie="oui_non" defaut="" />
    1212</noisette>
  • _plugins_/noiZetier/aveline/noisettes/article-documents.html

    r36250 r36332  
    11[(#REM) Gestion du portfolio et des documents ]
    2 [(#INCLURE{fond=inclure/noizetier-documents}{id_article}{exclure_photos})]
     2[(#INCLURE{fond=inclure/aveline-documents}{id_article}{exclure_photos})]
  • _plugins_/noiZetier/aveline/noisettes/article-documents.xml

    r36250 r36332  
    11<noisette>
    2         <nom><:noizetier:nom_documents:></nom>
    3         <description><:noizetier:description_documents:></description>
    4         <icone>img/ic_documents.png</icone>
    5         <parametre nom="exclure_photos" label="noizetier:label_exclure_photos" saisie="oui_non" defaut="on" />
     2        <nom><:aveline:nom_documents:></nom>
     3        <description><:aveline:description_documents:></description>
     4        <icon>img/ic_documents.png</icon>
     5        <parametre nom="exclure_photos" label="aveline:label_exclure_photos" saisie="oui_non" defaut="on" />
    66</noisette>
  • _plugins_/noiZetier/aveline/noisettes/article-filariane.xml

    r36250 r36332  
    11<noisette>
    2         <nom><:noizetier:nom_filariane:></nom>
    3         <description><:noizetier:description_article-filariane:></description>
    4         <icone>img/ic_ariane.png</icone>
    5         <parametre nom="afficher_lien_accueil" label="noizetier:label_afficher_lien_accueil" saisie="oui_non" defaut="on" />
    6         <parametre nom="ariane_separateur" label="noizetier:label_ariane_separateur" defaut="&gt;" obligatoire="oui" />
    7         <parametre nom="afficher_titre_article" label="noizetier:label_afficher_titre_article" saisie="oui_non" defaut="on" />
     2        <nom><:aveline:nom_filariane:></nom>
     3        <description><:aveline:description_article-filariane:></description>
     4        <icon>img/ic_ariane.png</icon>
     5        <parametre nom="afficher_lien_accueil" label="aveline:label_afficher_lien_accueil" saisie="oui_non" defaut="on" />
     6        <parametre nom="ariane_separateur" label="aveline:label_ariane_separateur" defaut="&gt;" obligatoire="oui" />
     7        <parametre nom="afficher_titre_article" label="aveline:label_afficher_titre_article" saisie="oui_non" defaut="on" />
    88</noisette>
  • _plugins_/noiZetier/aveline/noisettes/article-forum.xml

    r36250 r36332  
    11<noisette>
    2         <nom><:noizetier:nom_forum:></nom>
    3         <icone>img/ic_forum.png</icone>
     2        <nom><:aveline:nom_forum:></nom>
     3        <icon>img/ic_forum.png</icon>
    44</noisette>
  • _plugins_/noiZetier/aveline/noisettes/article-petition.xml

    r36250 r36332  
    11<noisette>
    2         <nom><:noizetier:nom_petition:></nom>
    3         <icone>img/ic_petition.png</icone>
     2        <nom><:aveline:nom_petition:></nom>
     3        <icon>img/ic_petition.png</icon>
    44</noisette>
  • _plugins_/noiZetier/aveline/noisettes/article-portfolio.html

    r36250 r36332  
    1 [(#REM) Gestion du portfolio et des documents ]
    2 [(#INCLURE{fond=inclure/noizetier-portfolio}{id_article})]
     1[(#ENV{inclure_photos_vues}|non)[(#SET{vu,non})]]
     2[(#INCLURE{fond=inclure/aveline-portfolio}{id_article}{vu=#GET{vu}})]
  • _plugins_/noiZetier/aveline/noisettes/article-portfolio.xml

    r36250 r36332  
    11<noisette>
    2         <nom><:noizetier:nom_portfoliosimple:></nom>
    3         <description><:noizetier:description_portfoliosimple:></description>
    4         <icone>img/ic_portfolio.png</icone>
     2        <nom><:aveline:nom_portfolio:></nom>
     3        <description><:aveline:description_portfolio:></description>
     4        <parametre nom="inclure_photos_vues" label="aveline:label_inclure_photos_vues" saisie="oui_non" defaut="" />
     5        <icon>img/ic_portfolio.png</icon>
    56</noisette>
  • _plugins_/noiZetier/aveline/noisettes/page-logositespip.xml

    r36250 r36332  
    11<noisette>
    2         <nom><:noizetier:nom_logositespip:></nom>
    3         <icone>img/ic_logosite.png</icone>
    4         <parametre nom="taille_max_image" label="noizetier:label_taille_max_image" defaut="200" />
     2        <nom><:aveline:nom_logositespip:></nom>
     3        <icon>img/ic_logosite.png</icon>
     4        <parametre nom="taille_max_image" label="aveline:label_taille_max_image" defaut="200" />
    55</noisette>
  • _plugins_/noiZetier/aveline/noisettes/page-recherche-filariane.xml

    r36250 r36332  
    11<noisette>
    2         <nom><:noizetier:nom_filariane:></nom>
    3         <icone>img/ic_ariane.png</icone>
    4         <parametre nom="afficher_lien_accueil" label="noizetier:label_afficher_lien_accueil" saisie="oui_non" defaut="on" />
    5         <parametre nom="ariane_separateur" label="noizetier:label_ariane_separateur" defaut="&gt;" />
    6         <parametre nom="afficher_recherche" label="noizetier:label_afficher_recherche" saisie="oui_non" defaut="on" />
     2        <nom><:aveline:nom_filariane:></nom>
     3        <icon>img/ic_ariane.png</icon>
     4        <parametre nom="afficher_lien_accueil" label="aveline:label_afficher_lien_accueil" saisie="oui_non" defaut="on" />
     5        <parametre nom="ariane_separateur" label="aveline:label_ariane_separateur" defaut="&gt;" />
     6        <parametre nom="afficher_recherche" label="aveline:label_afficher_recherche" saisie="oui_non" defaut="on" />
    77</noisette>
  • _plugins_/noiZetier/aveline/noisettes/rubrique-contenuprincipal.xml

    r36250 r36332  
    11<noisette>
    2         <nom><:noizetier:nom_rubrique-contenuprincipal:></nom>
    3         <description><:noizetier:description_rubrique-contenuprincipal:></description>
    4         <icone>img/ic_rubrique.png</icone>
    5         <parametre nom="afficher_date_dernier_ajout" label="noizetier:label_afficher_date_dernier_ajout" saisie="oui_non" defaut="on" />
    6         <parametre nom="afficher_descriptif" label="noizetier:label_afficher_descriptif" saisie="oui_non" defaut="" />
    7         <parametre nom="afficher_logo" label="noizetier:label_afficher_logo" saisie="oui_non" defaut="on" />
     2        <nom><:aveline:nom_rubrique-contenuprincipal:></nom>
     3        <description><:aveline:description_rubrique-contenuprincipal:></description>
     4        <icon>img/ic_rubrique.png</icon>
     5        <parametre nom="afficher_date_dernier_ajout" label="aveline:label_afficher_date_dernier_ajout" saisie="oui_non" defaut="on" />
     6        <parametre nom="afficher_descriptif" label="aveline:label_afficher_descriptif" saisie="oui_non" defaut="" />
     7        <parametre nom="afficher_logo" label="aveline:label_afficher_logo" saisie="oui_non" defaut="on" />
    88</noisette>
  • _plugins_/noiZetier/noiZetier-2_0/balise/noizetier_liste_pages.php

    r35083 r36332  
    44if (!defined("_ECRIRE_INC_VERSION")) return;
    55
    6 // Cette balise renvoie le tableau de la liste des noisettes disponibles
     6// Cette balise renvoie le tableau de la liste des pages
    77function balise_NOIZETIER_LISTE_PAGES_dist($p) {
    88                $p->code = "noizetier_lister_pages()";
  • _plugins_/noiZetier/noiZetier-2_0/css/noizetier.css

    r35083 r36332  
    11.noizetier-explications{
    22        font-size:0.9em;
    3         margin-bottom:5px;
     3        margin-bottom:20px;
    44        text-align:justify;
     5}
     6
     7.description_bloc{
     8        padding:5px;
     9        font-size:1em;
     10        border-bottom:1px solid #ccc;
    511}
    612
  • _plugins_/noiZetier/noiZetier-2_0/formulaires/configurer_bloc.html

    r35083 r36332  
    1010                #ACTION_FORMULAIRE{#ENV{action}}
    1111               
    12                 [(#REM) On transmet toujours le bloc, le type et la composition]
    13                 <input type="hidden" name="bloc" value="#ENV{bloc}" />
    14                 <input type="hidden" name="type" value="#ENV{type}" />
    15                 <input type="hidden" name="composition" value="#ENV{composition}" />
    16                
     12                [(#SET{infos_bloc,[(#NOIZETIER_LISTE_PAGES|table_valeur{#ENV{page}}|table_valeur{blocs}|table_valeur{#ENV{bloc}})]})]
    1713                <ul>
    1814                        <li class="fieldset">
    1915                                <fieldset>
    20                                         <h3 class="legend"><:noizetier:formulaire_configurer_bloc:> [<i>(#REM|concat{'noizetier:formulaire_bloc_',#ENV{bloc}}|_T)</i>]</h3>
     16                                        <h3 class="legend"[ style="background-image:url((#ENV{infos_bloc}|table_valeur{icon}|image_reduire{24}|extraire_attribut{src})); background-repeat:no-repeat; background-position:right; padding-top:5px;"]>
     17                                                <:noizetier:formulaire_configurer_bloc:> [<i>(#GET{infos_bloc}|table_valeur{nom}|sinon{#ENV{bloc}})</i>]
     18                                        </h3>
     19                                        [<div class="description_bloc">(#GET{infos_bloc}|table_valeur{description})</div>]
    2120                                        <input style="display:none;" type="submit" class="submit" name="enregistrer" value="<:bouton_enregistrer:>" />
    2221                                        #INCLURE{fond=formulaires/inc-configurer-noisettes, env}
  • _plugins_/noiZetier/noiZetier-2_0/formulaires/configurer_bloc.php

    r35174 r36332  
    1010       
    1111        $contexte['bloc'] = $bloc;
     12        $contexte['page'] = $page;
    1213        $type_compo = explode ('-',$page,2);
    1314        $contexte['type'] = $type_compo[0];
     
    2425        $contexte['id_menu_nouvelle_entree'] = '';
    2526        $contexte['enregistrer'] = '';
    26        
    27         // On a en permanence accès aux infos des noisettes
    28         $contexte['liste_noisettes'] = noizetier_lister_noisettes();
    2927       
    3028        // On sait toujours où va la noisette
     
    5250                if (!($noisette = _request('noisette'))){
    5351                        $erreurs['bloc_page_nouvelle_noisette'] = $bloc_page;
    54                         // On charge les différentes noisettes du type, celles de la compositionet celles pour toutes les pages
     52                        // On charge les différentes noisettes du type, celles de la composition et celles pour toutes les pages
    5553                        $erreurs['noisettes_type'] = noizetier_lister_noisettes($type);
    5654                        if ($composition!='')
  • _plugins_/noiZetier/noiZetier-2_0/formulaires/inc-configurer-noisettes.html

    r35083 r36332  
    1 
    21#SET{rang_suivant,1}
    32<ul id="bloc-#ENV{bloc}" class="noisettes">
    43        <BOUCLE_noisettes(NOISETTES){type}{composition}{bloc}{par rang}>
    5         <li class="noisette"[ style="background-image:url((#ENV{liste_noisettes}|table_valeur{#NOISETTE}|table_valeur{icone}|image_reduire{24}|extraire_attribut{src}))"]>
     4        <li class="noisette"[ style="background-image:url((#NOIZETIER_LISTE_NOISETTES|table_valeur{#NOISETTE}|table_valeur{icon}|image_reduire{24}|extraire_attribut{src}))"]>
    65                <BOUCLE_test_modifier(CONDITION){si #ENV{erreurs}|table_valeur{id_noisette}|=={#ID_NOISETTE}|non}>
    76                <div class="ligne">
    87                        <div class="description arial2">
    9                                 <div class="titre">[(#ENV{liste_noisettes}|table_valeur{#NOISETTE}|table_valeur{nom})]</div>
     8                                [(#REM) On teste que la noisette est toujours accessible]
     9                                [(#NOIZETIER_LISTE_NOISETTES|table_valeur{#NOISETTE}|non)
     10                                        <img src="#CHEMIN{images/warning.gif}" alt="WARNING"/>
     11                                        <strong style="color:red"><:noizetier:warning_noisette_plus_disponible:></strong>
     12                                        <p><:noizetier:warning_noisette_plus_disponible_details{squelette=noisette/#NOISETTE.html}:></p>
     13                                ]
     14                                <div class="titre">[(#NOIZETIER_LISTE_NOISETTES|table_valeur{#NOISETTE}|table_valeur{nom}|sinon{#NOISETTE})]</div>
    1015                                        <div class="infos">
    1116                                        #SET{infos, (#ENV{erreurs}|table_valeur{infos_#GET{noisette}})}
    1217                                        <BOUCLE_parametres(POUR){tableau #PARAMETRES|unserialize}>
    13                                         [<span class="nom_param">(#ENV{liste_noisettes}|table_valeur{#NOISETTE}|table_valeur{parametres}|table_valeur{#CLE}|table_valeur{label})</span>]
    14                                         [(#ENV{liste_noisettes}|table_valeur{#NOISETTE}|table_valeur{parametres}|table_valeur{#CLE}|table_valeur{saisie}|=={'oui_non'}|oui)
     18                                        [<span class="nom_param">(#NOIZETIER_LISTE_NOISETTES|table_valeur{#NOISETTE}|table_valeur{parametres}|table_valeur{#CLE}|table_valeur{label}|sinon{#CLE})</span>]
     19                                        [(#NOIZETIER_LISTE_NOISETTES|table_valeur{#NOISETTE}|table_valeur{parametres}|table_valeur{#CLE}|table_valeur{saisie}|=={'oui_non'}|oui)
    1520                                                [(#VALEUR|oui) <:item_oui:>][(#VALEUR|non) <:item_non:>]
    1621                                        ]
    17                                         [(#ENV{liste_noisettes}|table_valeur{#NOISETTE}|table_valeur{parametres}|table_valeur{#CLE}|table_valeur{saisie}|=={'textarea'}|oui)
     22                                        [(#NOIZETIER_LISTE_NOISETTES|table_valeur{#NOISETTE}|table_valeur{parametres}|table_valeur{#CLE}|table_valeur{saisie}|=={'textarea'}|oui)
    1823                                                [(#VALEUR**|propre)]
    1924                                                [<div class="notes">(#NOTES)</div>]
    2025                                        ]
    21                                         [(#ENV{liste_noisettes}|table_valeur{#NOISETTE}|table_valeur{parametres}|table_valeur{#CLE}|table_valeur{saisie}|=={'oui_non'}|non)
    22                                                 [(#ENV{liste_noisettes}|table_valeur{#NOISETTE}|table_valeur{parametres}|table_valeur{#CLE}|table_valeur{saisie}|=={'textarea'}|non)
     26                                        [(#NOIZETIER_LISTE_NOISETTES|table_valeur{#NOISETTE}|table_valeur{parametres}|table_valeur{#CLE}|table_valeur{saisie}|=={'oui_non'}|non)
     27                                                [(#NOIZETIER_LISTE_NOISETTES|table_valeur{#NOISETTE}|table_valeur{parametres}|table_valeur{#CLE}|table_valeur{saisie}|=={'textarea'}|non)
    2328                                                        #VALEUR
    2429                                                ]
     
    2934                                        </div>
    3035                        </div>
     36                        [(#AUTORISER{configurer,noizetier}|oui)
    3137                        <div class="actions">
     38                                [(#NOIZETIER_LISTE_NOISETTES|table_valeur{#NOISETTE}|oui)
    3239                                <button name="modifier_noisette" value="#ID_NOISETTE" title="<:noizetier:formulaire_modifier_noisette:>">
    3340                                        [<img height="24" width="24" src="(#CHEMIN{img/noizetier_action_modifier.png})" />]
    3441                                </button>
     42                                ]
    3543                                <button name="supprimer_noisette" value="#ID_NOISETTE" title="<:noizetier:formulaire_supprimer_noisette:>">
    3644                                        [<img height="24" width="24" src="(#CHEMIN{img/noizetier_action_supprimer.png})" />]
     
    4351                                </button>
    4452                        </div>
     53                        ]
    4554                        <div class="nettoyeur"></div>
    4655                </div>
     
    5261        #SET{rang_suivant,(#RANG|plus{1})}
    5362        </BOUCLE_noisettes>
    54                 [(#REM) Si pas de noisettes ]
    55                 <li class="noisette">
    56                 [(#ENV{type}|=={page}|oui)
    57                         [(#ENV{composition}|oui)<:noizetier:contenu_bloc_page_defaut:>]
    58                         [(#ENV{composition}|non)<:noizetier:contenu_bloc_vide:>]
    59                 ]
    60                 [(#ENV{type}|=={page}|non)
    61                         [(#ENV{composition}|oui)<:noizetier:contenu_bloc_type{type=#ENV{type}}:>]
    62                         [(#ENV{composition}|non)<:noizetier:contenu_bloc_page_defaut:>]
    63                 ]
    64                 </li>
    65         <//B_noisettes>
    6663        <li class="editer_noisette fieldset">
    6764                #SET{bloc_page_nouvelle_noisette, (#ENV{erreurs}|table_valeur{bloc_page_nouvelle_noisette})}
     
    6966
    7067                <BOUCLE_pas_demande_noisette(CONDITION){si #GET{bloc_page_nouvelle_noisette}|=={#ENV{bloc_page}}|non}>
     68                        [(#AUTORISER{configurer,noizetier}|oui)
    7169                        <div class="boutons">
    7270                        <button type="submit" class="submit" name="demander_nouvelle_noisette" value="#ENV{bloc_page}">
     
    7573                        </button>
    7674                        </div>
     75                        ]
    7776                </BOUCLE_pas_demande_noisette>
    7877                        [(#GET{noisette}|non)
  • _plugins_/noiZetier/noiZetier-2_0/formulaires/inc-nouvelle_noisette-1.html

    r35174 r36332  
    1111                        <BOUCLE_type_noisettes(POUR){tableau #ENV{erreurs}|table_valeur{noisettes_type}}{par valeur}>
    1212                        <div class="choix" style="padding:3px;border-bottom:1px solid #eee;">
    13                                 [(#VALEUR|table_valeur{icone}|image_reduire{24})]
     13                                [(#VALEUR|table_valeur{icon}|image_reduire{24})]
    1414                                <input type="radio" class="radio" name="noisette" id="#CLE" value="#CLE" style="vertical-align:top;" />
    1515                                <label for="#CLE">[(#VALEUR|table_valeur{nom})]</label>
     
    2323                        <BOUCLE_composition_noisettes(POUR){tableau #ENV{erreurs}|table_valeur{noisettes_composition}}{par valeur}>
    2424                        <div class="choix" style="padding:3px;border-bottom:1px solid #eee;">
    25                                 [(#VALEUR|table_valeur{icone}|image_reduire{24})]
     25                                [(#VALEUR|table_valeur{icon}|image_reduire{24})]
    2626                                <input type="radio" class="radio" name="noisette" id="#CLE" value="#CLE" style="vertical-align:top;" />
    2727                                <label for="#CLE">[(#VALEUR|table_valeur{nom})]</label>
     
    3434                <BOUCLE_page_noisettes(POUR){tableau #ENV{erreurs}|table_valeur{noisettes_page}}{par valeur}>
    3535                <div class="choix" style="padding:3px;border-bottom:1px solid #eee;">
    36                         [(#VALEUR|table_valeur{icone}|image_reduire{24})]
     36                        [(#VALEUR|table_valeur{icon}|image_reduire{24})]
    3737                        <input type="radio" class="radio" name="noisette" id="#CLE" value="#CLE" style="vertical-align:top;" />
    3838                        <label for="#CLE">[(#VALEUR|table_valeur{nom})]</label>
  • _plugins_/noiZetier/noiZetier-2_0/formulaires/inc-nouvelle_noisette-2.html

    r35083 r36332  
    1 
    21#SET{noisette, (#ENV{erreurs}|table_valeur{noisette})}
    32#SET{infos, (#ENV{erreurs}|table_valeur{infos_#GET{noisette}})}
     
    54<legend>
    65        [(#ENV{id_noisette}|non)
    7                 [(#GET{infos}|table_valeur{icone}|image_reduire{24})]
     6                [(#GET{infos}|table_valeur{icon}|image_reduire{24})]
    87        ]
    98        [<span style="vertical-align:middle;">(#GET{infos}|table_valeur{nom})</span>]
  • _plugins_/noiZetier/noiZetier-2_0/inc/noizetier.php

    r35174 r36332  
    77 * Lister les noisettes disponibles dans les dossiers noisettes/
    88 *
    9  * @staticvar array $resultats
     9 * @staticvar array $liste_noisettes
    1010 * @param text $type
    1111 * @param bool $informer
     
    1313 */
    1414function noizetier_lister_noisettes($type='tout',$informer=true){
    15         static $resultats = null;
    16 
    17         if (is_null($resultats[$type][$informer])){
    18                 $resultats[$type][$informer] = array();
     15        static $liste_noisettes = null;
     16
     17        if (is_null($liste_noisettes[$type][$informer])){
     18                $liste_noisettes[$type][$informer] = array();
    1919               
    2020                // Si $type='tout' on recherche toutes les noisettes sinon seules celles qui commencent par $type
     
    3737                                                $infos_noisette = !$informer OR ($infos_noisette = noizetier_charger_infos_noisette($dossier.$noisette))
    3838                                        )){
    39                                         $resultats[$type][$informer][$noisette] = $infos_noisette;
     39                                        $liste_noisettes[$type][$informer][$noisette] = $infos_noisette;
    4040                                }
    4141                        }
    4242                }
    4343        }
    44         return $resultats[$type][$informer];
     44        return $liste_noisettes[$type][$informer];
    4545}
    4646
     
    7979                                $infos_noisette['nom'] = _T_ou_typo(spip_xml_aplatit($xml['nom']));
    8080                                $infos_noisette['description'] = isset($xml['description']) ? _T_ou_typo(spip_xml_aplatit($xml['description'])) : '';
    81                                 $infos_noisette['icone'] = isset($xml['icone']) ? find_in_path(reset($xml['icone'])) : '';
     81                                $infos_noisette['icon'] = isset($xml['icon']) ? find_in_path(reset($xml['icon'])) : '';
    8282                                // Décomposition des paramètres
    8383                                $infos_noisette['parametres'] = array();
     
    102102
    103103/**
    104  * Lister les pages utilisables par le noizetier définies dans noizetier/plugin-pages.xml
    105  *
    106  * @staticvar array $resultats
    107  * @param bool $informer
     104 * Lister les pages pouvant recevoir des noisettes
     105 * Par défaut, cette liste est basée sur le contenu du répertoire contenu/
     106 * Le tableau de résultats peut-être modifié via le pipeline noizetier_lister_pages.
     107 *
     108 * @staticvar array $liste_pages
    108109 * @return array
    109110 */
    110111function noizetier_lister_pages(){
    111         static $resultats = null;
    112 
    113         if (is_null($resultats)){
    114                 $resultats = array();
    115 
    116                 // lister les déclarations de pages
    117                 $liste = find_all_in_path('noizetier/','pages.xml');
     112        static $liste_pages = null;
     113
     114        if (is_null($liste_pages)){
     115                $liste_pages = array();
     116                $match = ".+[.]html$";
     117
     118                // lister les fonds disponibles dans le répertoire contenu
     119                $liste = find_all_in_path('contenu/', $match);
    118120                if (count($liste)){
    119                         foreach($liste as $chemin) {
    120                                 include_spip('inc/xml');
    121                                 include_spip('inc/texte');
    122                                 if ($xml = spip_xml_load($chemin, false)){
    123                                         foreach($xml[pages][0] as $tagpage => $xmlpage){
    124                                                 // On récupère l'id de la page
    125                                                 list($balise, $attributs) = spip_xml_decompose_tag($tagpage);
    126                                                 $id_page = $attributs['id'];
    127                                                 // On récupère ses infos
    128                                                 $infos_page = array();
    129                                                 $infos_page['nom'] = _T_ou_typo(spip_xml_aplatit($xmlpage[0]['nom']));
    130                                                 $infos_page['description'] = isset($xmlpage[0]['description']) ? _T_ou_typo(spip_xml_aplatit($xmlpage[0]['description'])) : '';
    131                                                 $infos_page['icone'] = isset($xmlpage[0]['icone']) ? find_in_path(reset($xmlpage[0]['icone'])) : '';
    132                                                 // On ajoute les infos à $resultats
    133                                                 if($id_page!='')
    134                                                         $resultats[$id_page] = $infos_page;
    135                                         }
     121                        foreach($liste as $squelette=>$chemin) {
     122                                $page = preg_replace(',[.]html$,i', '', $squelette);
     123                                $dossier = str_replace($squelette, '', $chemin);
     124                                // Les éléments situés dans prive/contenu sont écartés
     125                                if (substr($dossier,-14)!='prive/contenu/')
     126                                        $liste_pages[$page] = noizetier_charger_infos_page($dossier,$page);
     127                        }
     128                }
     129                $liste_pages = pipeline('noizetier_lister_pages',$liste_pages);
     130        }
     131        return $liste_pages;
     132}
     133
     134/**
     135 * Charger les informations d'une page, contenues dans un xml de config s'il existe
     136 *
     137 * @param string $dossier
     138 * @param string $page
     139 * @param string $info
     140 * @return array
     141 */
     142function noizetier_charger_infos_page($dossier,$page, $info=""){
     143                // on peut appeler avec le nom du squelette
     144                $page = preg_replace(',[.]html$,i','',$page);
     145               
     146                // On autorise le fait que le fichier xml ne soit pas dans le même plugin que le fichier .html
     147                // Au cas où le fichier .html soit surchargé sans que le fichier .xml ne le soit
     148                $fichier = find_in_path("contenu/$page.xml");
     149               
     150                include_spip('inc/xml');
     151                include_spip('inc/texte');
     152                $infos_page = array();
     153                // S'il existe un fichier xml de configuration (s'il s'agit d'une composition on utilise l'info de la composition)
     154                if (file_exists($fichier) AND $xml = spip_xml_load($fichier, false) AND count($xml['page']))
     155                        $xml = reset($xml['page']);
     156                elseif (file_exists($fichier) AND $xml = spip_xml_load($fichier, false) AND count($xml['composition']))
     157                        $xml = reset($xml['composition']);
     158                else
     159                        $xml = '';
     160                if ($xml != '') {
     161                        $infos_page['nom'] = _T_ou_typo(spip_xml_aplatit($xml['nom']));
     162                        $infos_page['description'] = isset($xml['description']) ? _T_ou_typo(spip_xml_aplatit($xml['description'])) : '';
     163                        $infos_page['icon'] = isset($xml['icon']) ? find_in_path(reset($xml['icon'])) : '';
     164                        // Décomposition des blocs
     165                        if (spip_xml_match_nodes(',^bloc,', $xml, $blocs)){
     166                                $infos_page['blocs'] = array();
     167                                foreach (array_keys($bloc) as $bloc){
     168                                        list($balise, $attributs) = spip_xml_decompose_tag($bloc);
     169                                        $infos_page['blocs'][$attributs['id']] = array(
     170                                                'nom' => $attributs['nom'] ? _T($attributs['nom']) : $attributs['id'],
     171                                                'icon' => isset($attributs['icon']) ? find_in_path(reset($attributs['icon'])) : '',
     172                                                'description' => $attributs['description']
     173                                        );
    136174                                }
    137175                        }
    138176                }
    139         }
    140         return $resultats;
    141 }
    142 
    143 /**
    144  * Active une page pour le noizetier
    145  *
    146  * @param text $page
    147  *
    148  */
    149 function activer_page_noizetier($page) {
    150         if(!isset($GLOBALS['meta']['noizetier-pages-actives']))
    151                 $pages_actives=array();
    152         else
    153                 $pages_actives=unserialize($GLOBALS['meta']['noizetier-pages-actives']);
    154         $pages_actives[$page]='on';
    155         ecrire_meta('noizetier-pages-actives',serialize($pages_actives),'oui');
    156        
    157         // On invalide le cache
    158         include_spip('inc/invalideur');
    159         suivre_invalideur($page);
    160 }
    161 
    162 /**
    163  * Active une page pour le noizetier
    164  *
    165  * @param text $page
    166  *
    167  */
    168 function desactiver_page_noizetier($page) {
    169         if(isset($GLOBALS['meta']['noizetier-pages-actives'])) {
    170                 $pages_actives=unserialize($GLOBALS['meta']['noizetier-pages-actives']);
    171                 unset($pages_actives[$page]);
    172                 ecrire_meta('noizetier-pages-actives',serialize($pages_actives),'oui');
    173         }
    174         // On invalide le cache
    175         include_spip('inc/invalideur');
    176         suivre_invalideur($page);
    177 
     177                // S'il n'y a pas de fichier XML de configuration
     178                else {
     179                        $infos_page['nom'] = $page;
     180                        $infos_page['icon'] = find_in_path('img/ic_page.png');
     181                }
     182               
     183                // Si les blocs n'ont pas été définis, on applique les blocs par défaut
     184                if (!isset($infos_page['blocs']))
     185                        $infos_page['blocs'] = noizetier_blocs_defaut();
     186               
     187                // On renvoie les infos
     188                if (!$info)
     189                        return $infos_page;
     190                else
     191                        return isset($infos_page[$info]) ? $infos_page[$info] : "";
     192}
     193
     194/**
     195 * Charger les informations d'une page, contenues dans un xml de config s'il existe
     196 * La liste des blocs par défaut d'une page peut être modifiée via le pipeline noizetier_blocs_defaut.
     197 *
     198 * @staticvar array $blocs_defaut
     199 * @return array
     200 */
     201function noizetier_blocs_defaut(){
     202        static $blocs_defaut = null;
     203
     204        if (is_null($blocs_defaut)){
     205        $blocs_defaut = array (
     206                'contenu' => array(
     207                        'nom' => _T('noizetier:nom_bloc_contenu'),
     208                        'description' => _T('noizetier:description_bloc_contenu'),
     209                        'icon' => find_in_path('img/ic_bloc_contenu.png')
     210                        ),
     211                'navigation' => array(
     212                        'nom' => _T('noizetier:nom_bloc_navigation'),
     213                        'description' => _T('noizetier:description_bloc_navigation'),
     214                        'icon' => find_in_path('img/ic_bloc_navigation.png')
     215                        ),
     216                'extra' => array(
     217                        'nom' => _T('noizetier:nom_bloc_extra'),
     218                        'description' => _T('noizetier:description_bloc_extra'),
     219                        'icon' => find_in_path('img/ic_bloc_extra.png')
     220                        ),
     221        );
     222        $blocs_defaut = pipeline('noizetier_blocs_defaut',$blocs_defaut);
     223        }
     224        return $blocs_defaut;
    178225}
    179226
     
    218265}
    219266
     267/**
     268 * Liste les blocs pour lesquels il y a des noisettes à insérer.
     269 *
     270 * @staticvar array $liste_blocs
     271 * @return array
     272 */
     273function noizetier_lister_blocs_avec_noisettes(){
     274        static $liste_blocs = null;
     275       
     276        if (is_null($liste_blocs)){
     277                $liste_blocs = array();
     278                $resultats = sql_allfetsel (
     279                        "CONCAT(`bloc`,'/',`type`,'-',`composition`)",
     280                        'spip_noisettes',
     281                        '1',
     282                        '`bloc`,`type`,`composition`'
     283                );
     284                foreach ($resultats as $res) {
     285                        $res = array_values($res);
     286                        if (substr($res[0],-1)=='-')
     287                                $liste_blocs[] = substr($res[0],0,-1);
     288                        else
     289                                $liste_blocs[] = $res[0];
     290                }
     291        }
     292       
     293        return $liste_blocs;
     294}
     295
     296
     297
    220298?>
  • _plugins_/noiZetier/noiZetier-2_0/lang/noizetier_fr.php

    r35174 r36332  
    1212        'noisettes_composition' => 'Noisettes sp&eacute;cifiques &agrave; la composition <i>@type@-@composition@</i>&nbsp;:',
    1313        'noisettes_toutes_pages' => 'Noisettes communes &agrave; toutes les pages&nbsp;:',
    14         'contenu_bloc_page_defaut' => 'En l\'absence de noisette, ce bloc affichera le contenu de la page par d&eacute;faut. Si vous souhaitez ne rien afficher, utilisez la noisette <i>Bloc vide</i>.',
    15         'contenu_bloc_vide' => 'En l\'absence de noisette, ce bloc restera vide.',
    16         'contenu_bloc_type' => 'En l\'absence de noisette, ce bloc affichera le contenu de la page $type$. Si vous souhaitez ne rien afficher, utilisez la noisette <i>Bloc vide</i>.',
    17         'saisies_non_installe' => '<b>Plugin saisies&nbsp;:</b> ce plugin n\'est pas install&eacute; sur votre site. Il n\'est pas n&eacute;cessaire au fonctionnement du noizetier. Son utilisation est cependant recommand&eacute;e afin d\'offrir des formulaires de configuration plus ergonomiques.',
    1814        'saisies_non_installe' => '<b>Plugin saisies&nbsp;:</b> ce plugin n\'est pas install&eacute; sur votre site. Il n\'est pas n&eacute;cessaire au fonctionnement du noizetier. Son utilisation est cependant recommand&eacute;e afin d\'offrir des formulaires de configuration plus ergonomiques.',
    1915        'compositions_non_installe' => '<b>Plugin compositions&nbsp;:</b> ce plugin n\'est pas install&eacute;s sur votre site. Il n\'est pas n&eacute;cessaire au fonctionnement du noizetier. Cependant, s\'il est activ&eacute;, vous pourrez d&eacute;clarer des compositions directement dans le noizetier.',
    2016        'yaml_non_installe' => '<b>Plugin YAML&nbsp;:</b> ce plugin n\'est pas install&eacute;s sur votre site. Il n\'est pas n&eacute;cessaire au fonctionnement du noizetier. Cependant, il permet d\'importer et exporter des configurations de noisettes.',
    2117       
    22         'description_article-contenuprincipal' => 'Affiche logo, surtitre, titre, sous-titre, date, auteur, traduction, chapeau, texte, lien hypertexte, post-scriptum et notes. Utilisez les param&egrave;tres ci-dessous pour personnaliser les &eacute;l&eacute;ments &agrave; afficher.',
    23         'description_rubrique-contenuprincipal' => 'Affiche logo, date de dernier ajour et texte. Utilisez les param&egrave;tres ci-dessous pour personnaliser les &eacute;l&eacute;ments &agrave; afficher.',
    24         'description_documents' => 'Par d&eacute;faut, n\'affiche pas les photos, celles-ci &eacute;tant affich&eacute;es usuellement via un port-folio. Vous pouvez forcer l\'affichage des photos au cas o&ugrave; vous n\'affichez pas de port-folio.',
    25         'description_article-filariane' => 'Affiche l\'arborescence des rubriques jusqu\'&agrave; l\'article.',
    26         'description_portfoliosimple' => 'Port-folio de la distribution par d&eacute,faut de SPIP',
     18        'description_bloc_contenu' => 'Contenu principal de chaque page.',
     19        'description_bloc_navigation' => 'Informations de navigation propres à chaque page.',
     20        'description_bloc_extra' => 'Informations extra contextuelles pour chaque page.',
     21       
    2722        'description_bloctexte' => 'Le titre est optionnel. Pour le texte, vous pouvez utiliser les raccourcis typographiques de SPIP.',
    2823       
    29         'description_pagedefaut' => 'Les blocs de cette page seront affich&eacute;s par d&eacute;faut pour les blocs o&ugrave; aucune noisette n\'est d&eacute;finie.',
    30         'description_page_article' => 'C\'est la page utilis&eacute;e pour afficher chaque article.',
    31         'description_page_rubrique' => 'C\'est la page utilis&eacute;e pour afficher chaque rubrique.',
    32         'description_page_auteur' => 'C\'est la page utilis&eacute;e pour afficher chaque auteur.',
    33         'description_page_breve' => 'C\'est la page utilis&eacute;e pour afficher chaque br&egrave;.',
    34         'description_page_mot' => 'C\'est la page utilis&eacute;e pour afficher chaque mot-cl&eacute;.',
    35         'description_page-forum' => 'Cette page est appel&eacute;e lorsqu\'un visiteur souhaiter poster un message dans un forum.',
    36         'description_page-plan' => 'Cette page est appel&eacute;e pour afficher le plan du site.',
    37         'description_page-recherche' => 'Cette page est affich&eacute;e lorsqu\'une recherche est effectuée sur le site.',
    38         'description_page_site' => 'Cette page est affich&eacute;e pour chaque site web r&eacute;f&eacute;renc&eacute;.',
    39         'description_blocvide' => 'Cette noisette n\'affiche rien. Elle permet de laisser un bloc vide.',
    40         'description_squelettebloc' => 'Cette noisette affichera les contenus d&eacute;termin&eacute;s, pour ce bloc sur cette page, par les squelettes install&eacute;s sur votre site.',
    41        
    42         'editer_noizetier_titre' => 'Configurer noiZetier',
    43         'editer_noizetier_explication' => 'Choisissez ici les pages qui seront g&eacute;r&eacute;es par le noiZetier.<p />Pour cela, il vous faut d\'abord activer cette page. Quand une page est active, son contenu est alors d&eacute;termin&eacute; par sa configuration dans le noiZetier. Il vous est possible de d&eacute;sactiver &agrave; tout moment une page. D&egrave;s lors, votre site affichera pour cette page le contenu d&eacute;fini dans le squelette Zpip ou, le cas &eacute;ch&eacute;ant, vos personnalisations effectu&eacute;es dans votre dossier squelettes.',
    44         'editer_configurer_page' => 'Configurer les noisettes',
    45         'editer_desactiver' => 'D&eacute;sactiver',
    46         'editer_activer' => 'Activer',
     24        'editer_noizetier_titre' => 'noiZetier',
     25        'editer_noizetier_explication' => 'Configurer ici les noisettes &agrave; ajouter aux pages de votre site.',
     26        'editer_configurer_page' => 'Configurer les noisettes de cette page',
    4727        'editer_supprimer_noisettes' => 'Supprimer les noisettes d&eacute;finies pour cette page',
    4828        'editer_exporter_configuration' => 'Exporter la configuration',
     
    5737        'formulaire_modifier_noisette' => 'Modifier cette noisette',
    5838        'formulaire_supprimer_noisette' => 'Supprimer cette noisette',
     39        'formulaire_supprimer_noisettes_page' => 'Supprimer les noisettes de cette page',
    5940        'formulaire_deplacer_bas' => 'D&eacute;placer vers le bas',
    6041        'formulaire_deplacer_haut' => 'D&eacute;placer vers le haut',
     
    6546        'formulaire_explication_oui_non' => '(saisir <i>on</i> ou laisser vide)',
    6647        'formulaire_explication_oui_ou_non' => '(saisir <i>oui</i> ou <i>non</i>)',
    67         'formulaire_bloc_contenu' => 'Contenu',
    68         'formulaire_bloc_navigation' => 'Navigation',
    69         'formulaire_bloc_extra' => 'Extra',
    7048       
    71         'nom_article-contenuprincipal' => 'Contenu principal',
    72         'nom_rubrique-contenuprincipal' => 'Contenu principal',
    73         'nom_documents' => 'Documents',
    74         'nom_filariane' => 'Fil d\'ariane',
    75         'nom_forum' => 'Forum',
    76         'nom_petition' => 'P&eacute;tition',
    77         'nom_portfoliosimple' => 'Port-folio simple',
    78         'nom_logositespip' => 'Logo du site SPIP',
     49        'nom_bloc_contenu' => 'Contenu',
     50        'nom_bloc_navigation' => 'Navigation',
     51        'nom_bloc_extra' => 'Extra',
     52       
    7953        'nom_bloctexte' => 'Bloc de texte libre',
    80         'nom_blocvide' => 'Bloc vide',
    81         'nom_squelettebloc' => 'Squelette du bloc',
    8254       
    83         'nom_page-sommaire' => 'Page d\'accueil du site',
    84         'nom_pagedefaut' => 'Page par d&eacute;faut',
    85         'nom_page_article' => 'Article',
    86         'nom_page_rubrique' => 'Rubrique',
    87         'nom_page_auteur' => 'Auteur',
    88         'nom_page_breve' => 'Br&egrave;ve',
    89         'nom_page_mot' => 'Mot-Cl&eacute;',
    90         'nom_page-forum' => 'Forum',
    91         'nom_page-plan' => 'Plan du site',
    92         'nom_page-recherche' => 'Recherche sur le site',
    93         'nom_page_site' => 'Site r&eacute;f&eacute;renc&eacute;',
    94        
    95         'label_afficher_date' => 'Afficher la date de publication&nbsp;?',
    96         'label_afficher_date_modif' => 'Afficher la date de derni&egrave;re modification&nbsp;?',
    97         'label_afficher_date_dernier_ajout' => 'Afficher la date de dernier ajout&nbsp;?',
    98         'label_afficher_auteurs' => 'Afficher les auteurs&nbsp;?',
    99         'label_afficher_traductions' => 'Afficher les traduction&nbsp;?',
    100         'label_afficher_lienhypertexte' => 'Afficher le lien hypertexte&nbsp;?',
    101         'label_afficher_logo' => 'Afficher le logo&nbsp;?',
    102         'label_utiliser_logo_article_rubrique' => 'Afficher le logo de la rubrique parente si l\'article n\'a pas de logo&nbsp;?',
    103         'label_exclure_photos' => 'Exclure les photos&nbsp;?',
    104         'label_afficher_lien_accueil' => 'Lien vers la page d\'accueil&nbsp;?',
    105         'label_ariane_separateur' => 'S&eacute;parateur&nbsp;:',
    106         'label_afficher_titre_article' => 'Afficher le titre de l\'article&nbsp;?',
    107         'label_taille_max_image' => 'Taille maximum de l\'image (en pixels)&nbsp;:',
    10855        'label_titre' => 'Titre&nbsp;:',
    10956        'label_texte' => 'Texte&nbsp;:',
    110         'label_afficher_descriptif' => 'Afficher descriptif&nbsp;?',
    111         'label_afficher_recherche' => 'Afficher le texte recherch&eacute;&nbsp;?',
     57       
     58        'warning_noisette_plus_disponible' => 'ATTENTION&nbsp: cette noisette n\'est plus disponible.',
     59        'warning_noisette_plus_disponible_details' => 'Le squelette de cette noisette (<i>@squelette@</i>) n\'est plus accessible. Il se peut qu\'il s\'agisse d\'une noisette fournie par un plugin que vous avez d&eacute;sactiv&eacute; ou d&eacute;sinstall&eacute;.',
     60
    11261);
    11362
  • _plugins_/noiZetier/noiZetier-2_0/noisettes/page-bloctexte.xml

    r35083 r36332  
    22        <nom><:noizetier:nom_bloctexte:></nom>
    33        <description><:noizetier:description_bloctexte:></description>
    4         <icone>img/ic_bloctexte.png</icone>
     4        <icon>img/ic_bloctexte.png</icon>
    55        <parametre nom="titre" label="noizetier:label_titre" />
    66        <parametre nom="texte" label="noizetier:label_texte" saisie="textarea" obligatoire="oui" />
  • _plugins_/noiZetier/noiZetier-2_0/noizetier-generer-bloc.html

    r35174 r36332  
    1 [(#REM) On reteste que la page est active au cas où on a appelé bloc/type au lieu de bloc/type-composition mais en passant un paramètre composition]
    2 [(#SET{page,[(#ENV{type})[-(#ENV{composition})]]})]
    3 
    4 <BOUCLE_test(CONDITION){si (#CONFIG{noizetier-pages-actives}|unserialize|table_valeur{#GET{page}}|oui)}>
    5         <BOUCLE_noisettes(NOISETTES){bloc=#ENV{bloc}}{type=#ENV{type}}{composition=#ENV{composition}}{par rang}>
    6                 #NOIZETIER_AFFICHER_NOISETTE
    7         </BOUCLE_noisettes>
    8                 [(#ENV{composition}|oui) [(#SET{fond,[(#ENV{bloc})/#ENV{type}]})] <INCLURE{fond=#GET{fond}}{composition=''}{env}> ]
    9                 [(#ENV{composition}|non) [(#ENV{type}|=={page}|non) [(#SET{fond,[(#ENV{bloc})/page]})] <INCLURE{fond=#GET{fond}}{type=page}{env}> ]]
    10         <//B_noisettes>
    11 </BOUCLE_test>
    12         [(#SET{fond,[(#ENV{bloc})/#GET{page}]})] <INCLURE{fond=#GET{fond}}{env}>
    13 <//B_test>
     1<BOUCLE_noisettes(NOISETTES){bloc=#ENV{bloc}}{type=#ENV{type}}{composition=#ENV{composition}}{par rang}>
     2        #NOIZETIER_AFFICHER_NOISETTE
     3</BOUCLE_noisettes>
  • _plugins_/noiZetier/noiZetier-2_0/noizetier_options.php

    r35083 r36332  
    11<?php
    22
     3$GLOBALS['spip_pipeline']['noizetier_lister_pages'] = '';
     4$GLOBALS['spip_pipeline']['noizetier_blocs_defaut'] = '';
     5
     6
    37?>
  • _plugins_/noiZetier/noiZetier-2_0/noizetier_pipelines.php

    r35174 r36332  
    1212
    1313/**
    14  * Pipeline styliser pour appeler le générateur de bloc du noizetier s'il s'agit d'une page activée
     14 * Pipeline recuperer_fond pour ajouter les noisettes
    1515 *
    1616 * @param array $flux
    1717 * @return array
    1818 */
    19 function noizetier_styliser($flux){
     19function noizetier_recuperer_fond($flux){
    2020        include_spip('inc/noizetier');
    21         // On réoriente si la page est active
    22         if (preg_match(',(contenu|navigation|extra)/([^/]*)$,i',$flux['data'],$regs)
    23           AND $bloc = $regs[1]
    24           AND $page = $regs[2]
    25           AND $pages_actives = unserialize($GLOBALS['meta']['noizetier-pages-actives'])
    26           AND isset($pages_actives[$page])){
    27                 $ext = $flux['args']['ext'];
    28                 if ($squelette = find_in_path("noizetier-generer-bloc-$bloc.$ext"))
    29                         $flux['data'] = substr($squelette, 0, -strlen(".$ext"));
     21        $fond = $flux['args']['fond'];
     22        $composition = $flux['args']['contexte']['composition'];
     23        // Si une composition est définie et si elle n'est pas déjà dans le fond, on l'ajoute au fond
     24        // sauf s'il s'agit d'une page de type page (les squelettes page.html assurant la redirection)
     25        if ($composition!='' AND noizetier_page_composition($fond)=='' AND noizetier_page_type($fond)!='page')
     26                $fond .= '-'.$composition;
     27       
     28        if (in_array($fond,noizetier_lister_blocs_avec_noisettes())) {
     29                $contexte = $flux['data']['contexte'];
     30                $contexte['bloc'] = substr($fond,0,strpos($fond,'/'));
     31                $complements = recuperer_fond('noizetier-generer-bloc',$contexte,array('raw'=>true));
     32                $flux['data']['texte'] .= $complements['texte'];
    3033        }
    31         // Dans le cas où Zpip a appelé bloc/page-dist et que la page par défaut est activé
    32         // On réoriente sur la page par défaut
    33         if (preg_match(',(contenu|navigation|extra)/page-dist$,i',$flux['data'],$regs)
    34           AND $bloc = $regs[1]
    35           AND $pages_actives = unserialize($GLOBALS['meta']['noizetier-pages-actives'])
    36           AND isset($pages_actives['page'])){
    37                 $ext = $flux['args']['ext'];
    38                 if ($squelette = find_in_path("noizetier-generer-bloc-$bloc-dist.$ext"))
    39                         $flux['data'] = substr($squelette, 0, -strlen(".$ext"));
    40         }
    41         // Dans le cas où on a recours à la noisette squelettebloc
    42         if (preg_match(',(contenu|navigation|extra)/([^/]*)-squelettebloc$,i',$flux['args']['fond'],$regs)
    43           AND $bloc = $regs[1]
    44           AND $page = $regs[2]){
    45                 $ext = $flux['args']['ext'];
    46                 if ($squelette = find_in_path("$bloc/$page.$ext"))
    47                         $flux['data'] = substr($squelette, 0, -strlen(".$ext"));
    48                 else {
    49                         $type=noizetier_page_type($page);
    50                         $composition=noizetier_page_type($composition);
    51                         if($composition!='' AND $squelette = find_in_path("$bloc/$type.$ext"))
    52                                 $flux['data'] = substr($squelette, 0, -strlen(".$ext"));
    53                         elseif ($squelette = find_in_path("$bloc/page-dist.$ext"))
    54                                 $flux['data'] = substr($squelette, 0, -strlen(".$ext"));
    55                 }
    56         }
     34       
    5735        return $flux;
    5836}
  • _plugins_/noiZetier/noiZetier-2_0/plugin.xml

    r35174 r36332  
    11<plugin>
    22        <nom>noiZetier</nom>
    3         <auteur>Joseph Larmarange</auteur>
     3        <auteur>Joseph</auteur>
    44        <licence>GPL v3</licence>
    5         <version>0.1</version>
     5        <version>0.2</version>
    66        <version_base>0.1</version_base>
    77        <etat>dev</etat>
    8         <description>Le noisetier, version Z<p />
    9         <p><b>ATTENTION : plugin en phase de d&eacute;veloppement. Pas encore op&eacute;rationnel. Voir la documentation.</b></p>
     8        <description>Prototype de gestionnaire de noisettes pour squelette Z. Il s'agit d'une simple contribution à la discussion.<p />
     9        <p><b>ATTENTION : ne pas utiliser &agrave; d'autre fin que des tests. Voir la documentation.</b></p>
    1010       
    1111        Les ic&ocirc;nes sont issues du [plugin bandeau->http://zone.spip.org/trac/spip-zone/browser/_plugins_/bandeau]  et de collection {black and white} de [carpelinx->http://www.carpicon.com/index.php?option=com_content&task=view&id=6&Itemid=26].
    1212        </description>
    1313        <lien>http://www.spip-contrib.net/noiZetier</lien>
    14         <icon>img/noizetier-48.png</icon>
     14        <icon>img/noizetier-128.png</icon>
    1515        <prefix>noizetier</prefix>
    1616        <fonctions>noizetier_fonctions.php</fonctions>
     
    2929                <inclure>noizetier_autoriser.php</inclure>
    3030        </pipeline>
    31                 <pipeline>
     31        <pipeline>
    3232                <nom>header_prive</nom>
    3333                <inclure>noizetier_pipelines.php</inclure>
    3434        </pipeline>
    3535        <pipeline>
    36                 <nom>styliser</nom>
     36                <nom>recuperer_fond</nom>
    3737                <inclure>noizetier_pipelines.php</inclure>
    3838        </pipeline>
    39         <bouton id='noizetier' parent="naviguer">
     39        <bouton id='noizetier' parent="configuration">
    4040                <url>noizetier</url>
    4141                <titre>noizetier:editer_noizetier_titre</titre>
  • _plugins_/noiZetier/noiZetier-2_0/prive/exec/configurer_page.html

    r35083 r36332  
    77                <:noizetier:formulaire_configurer_page:>
    88                <h1>[(#NOIZETIER_LISTE_PAGES|table_valeur{#ENV{page}}|table_valeur{nom})]</h1>
     9                [(#NOIZETIER_LISTE_PAGES|table_valeur{#ENV{page}}|table_valeur{description})]
    910        </div>
    1011       
    11         <div class="ajax">#FORMULAIRE_CONFIGURER_BLOC{'contenu',#ENV{page}}</div><p />
    12         <div class="ajax">#FORMULAIRE_CONFIGURER_BLOC{'navigation',#ENV{page}}</div><p />
    13         <div class="ajax">#FORMULAIRE_CONFIGURER_BLOC{'extra',#ENV{page}}</div>
     12        [(#SET{blocs,[(#NOIZETIER_LISTE_PAGES|table_valeur{#ENV{page}}|table_valeur{blocs})]})]
     13        <BOUCLE_blocs(POUR){tableau #GET{blocs}}>
     14        <div class="ajax">#FORMULAIRE_CONFIGURER_BLOC{#CLE,#ENV{page}}</div>
     15        </BOUCLE_blocs>
     16</div>
    1417
    15 </div>
     18[(#AUTORISER{configurer,noizetier}|oui)
     19[<div class="actions">
     20(#URL_ACTION_AUTEUR{supprimer_noisettes_page,#ENV{page},#URL_ECRIRE{noizetier}}|icone{<:noizetier:formulaire_supprimer_noisettes_page:>,#CHEMIN{img/noizetier-24.png},center,supprimer.gif})
     21</div>]
     22]
    1623
    1724<!--#navigation-->
  • _plugins_/noiZetier/noiZetier-2_0/prive/exec/noizetier.html

    r35174 r36332  
    55
    66#SET{auth,#AUTORISER{configurer,noizetier}}
    7 #SET{pages_actives,(#CONFIG{noizetier-pages-actives}|unserialize)}
    87<div class="formulaire_spip">
    98<ul class="liste_items liste_noizetier_pages">
    109        <BOUCLE_pages(POUR){tableau #NOIZETIER_LISTE_PAGES}{par cle}>
    11         <li class="item [(#GET{pages_actives}|table_valeur{#CLE}|oui) obligatoire]" [ style="background-image:url((#VALEUR|table_valeur{icone}|image_reduire{24}|extraire_attribut{src}));"]>
     10        <li class="item" [ style="background-image:url((#VALEUR|table_valeur{icon}|image_reduire{24}|extraire_attribut{src}));"]>
    1211                <div class="ligne">
    1312                        <div class="titre">[(#VALEUR|table_valeur{nom})]</div>
    1413                        [<div class="infos">(#VALEUR|table_valeur{description})</div>]
    1514                        <p class='actions'>[(#GET{auth}|oui)
    16                                 [(#GET{pages_actives}|table_valeur{#CLE}|oui)
    17                                         <span class='lien_modifier'>&#91;<a href='[(#URL_ACTION_AUTEUR{desactiver_page_noizetier,#CLE,#SELF})]'><:noizetier:editer_desactiver:></a>&#93;</span>
    18                                         <span class='lien_modifier'>&#91;<a href='[(#URL_ECRIRE{configurer_page,page=#CLE})]'><:noizetier:editer_configurer_page:></a>&#93;</span>
    19                                 ]
    20                                 [(#GET{pages_actives}|table_valeur{#CLE}|non)
    21                                         <span class='lien_modifier'>&#91;<a href='[(#URL_ACTION_AUTEUR{activer_page_noizetier,#CLE,#SELF})]'><:noizetier:editer_activer:></a>&#93;</span>
    22                                 ]
     15                                <span class='lien_modifier'>&#91;<a href='[(#URL_ECRIRE{configurer_page,page=#CLE})]'><:noizetier:editer_configurer_page:></a>&#93;</span>
    2316                        ]
    24                                 <BOUCLE_noisettes(NOISETTES){type=(#CLE|noizetier_page_type)}{composition=(#CLE|noizetier_page_composition)}{0,1}>[(#GET{auth}|oui)
    25                                         [(#GET{pages_actives}|table_valeur{#CLE}|non)<span class='lien_modifier'>&#91;<a href='[(#URL_ACTION_AUTEUR{supprimer_noisettes_page_noizetier,#CLE,#SELF})]'><:noizetier:editer_supprimer_noisettes:></a>&#93;</span>]
    26                                 ]</BOUCLE_noisettes>
    2717                        </p>
    28                 <div class="ligne">
     18                </div>
    2919        </li>
    3020        </BOUCLE_pages>
Note: See TracChangeset for help on using the changeset viewer.