Changeset 95531 in spip-zone


Ignore:
Timestamp:
Feb 27, 2016, 2:08:00 AM (4 years ago)
Author:
rastapopoulos@…
Message:

Une bête de modif de plein de fichiers, mais qui normalement n'ajoute que peu de chose et sans rien changer à l'ancien.

On peut maintenant éditer les noisettes D'UN contenu PRÉCIS et uniquement lui.

Pour ça il faut aller configurer sur quels objets on accepte ça. Et ensuite sur le côté sous l'identifiant on a "Aucune noisette configurée" (ou "12 noisettes configurées" si on l'a déjà fait).

Ce qui amène à l'interface de composition de noisettes mais pour CET objet/id uniquement.

J'ai passé des heures à tout passer au peigne fin du comportement existant : à priori tout marche AUSSI pour toutes les modifs publiques avec voir=noisettes !

À tester !

Location:
_plugins_/noizetier/trunk
Files:
2 added
23 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/noizetier/trunk/action/deplacer_noisette.php

    r93111 r95531  
    55}
    66
    7 function action_deplacer_noisette_dist($arg = null)
    8 {
     7function action_deplacer_noisette_dist($arg = null) {
    98        if (is_null($arg)) {
    109                $securiser_action = charger_fonction('securiser_action', 'inc');
  • _plugins_/noizetier/trunk/action/supprimer_noisette.php

    r93111 r95531  
    55}
    66
    7 function action_supprimer_noisette_dist($id_noisette = null)
    8 {
     7function action_supprimer_noisette_dist($id_noisette = null) {
    98        if (is_null($id_noisette)) {
    109                $securiser_action = charger_fonction('securiser_action', 'inc');
  • _plugins_/noizetier/trunk/action/supprimer_noisettes_page.php

    r93111 r95531  
    55}
    66
    7 function action_supprimer_noisettes_page_dist($page = null)
    8 {
     7function action_supprimer_noisettes_page_dist($page = null) {
    98        if (is_null($page)) {
    109                $securiser_action = charger_fonction('securiser_action', 'inc');
     
    1413        if ($page) {
    1514                include_spip('noizetier_fonctions');
     15               
     16                if (strpos($page, '|') !== false) {
     17                        $page = explode('|', $page);
     18                        $page = array('objet' => $page[0], 'id_objet' => $page[1]);
     19                }
    1620                noizetier_supprimer_noisettes_page($page);
    1721        }
  • _plugins_/noizetier/trunk/base/noizetier_tables.php

    r93111 r95531  
    66}
    77
    8 function noizetier_declarer_tables_interfaces($interface)
    9 {
     8function noizetier_declarer_tables_interfaces($interface) {
    109        // 'spip_' dans l'index de $tables_principales
    1110        $interface['table_des_tables']['noisettes'] = 'noisettes';
     
    1413}
    1514
    16 function noizetier_declarer_tables_principales($tables_principales)
    17 {
     15function noizetier_declarer_tables_principales($tables_principales) {
    1816        //-- Table noisettes -----------------------------------------------------------
    1917        $noisettes = array(
    2018                'id_noisette' => 'bigint(21) NOT NULL',
    21                 'rang' => "smallint DEFAULT '1' NOT NULL",
    22                 'type' => "tinytext DEFAULT '' NOT NULL",
     19                'rang'        => "smallint DEFAULT '1' NOT NULL",
     20                'type'        => "tinytext DEFAULT '' NOT NULL",
    2321                'composition' => "tinytext DEFAULT '' NOT NULL",
    24                 'bloc' => "tinytext DEFAULT '' NOT NULL",
    25                 'noisette' => "tinytext DEFAULT '' NOT NULL",
    26                 'parametres' => "text DEFAULT '' NOT NULL",
    27                 'css' => "tinytext DEFAULT '' NOT NULL",
     22                'objet'       => 'varchar(255) not null default ""',
     23                'id_objet'    => 'bigint(21) not null default 0',
     24                'bloc'        => "tinytext DEFAULT '' NOT NULL",
     25                'noisette'    => "tinytext DEFAULT '' NOT NULL",
     26                'parametres'  => "text DEFAULT '' NOT NULL",
     27                'css'         => "tinytext DEFAULT '' NOT NULL",
    2828        );
    2929
    3030        $noisettes_cles = array(
    31                 'PRIMARY KEY' => 'id_noisette',
     31                'PRIMARY KEY'     => 'id_noisette',
     32                'KEY type'        => 'type(255)',
     33                'KEY composition' => 'composition(255)',
     34                'KEY bloc'        => 'bloc(255)',
     35                'KEY noisette'    => 'noisette(255)',
     36                'KEY objet'       => 'objet',
     37                'KEY id_objet'    => 'id_objet',
    3238        );
    3339
  • _plugins_/noizetier/trunk/formulaires/ajouter_noisette.html

    r93114 r95531  
    99                #ACTION_FORMULAIRE{#ENV{action}}
    1010                <input type='hidden' name='page' value='#ENV{page}' />
     11                <input type='hidden' name='objet' value='#ENV{objet}' />
     12                <input type='hidden' name='id_objet' value='#ENV{objet}' />
    1113                <input type='hidden' name='bloc' value='#ENV{bloc}' />
    1214                <h3 class="titrem"><:noizetier:noisettes_disponibles:></h3>
    13                 <INCLURE{fond=formulaires/inc-liste_noisettes_disponibles,page,form=oui}>
     15                <INCLURE{fond=formulaires/inc-liste_noisettes_disponibles,page,objet,id_objet,form=oui}>
    1416
    1517                [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
  • _plugins_/noizetier/trunk/formulaires/ajouter_noisette.php

    r93111 r95531  
    1414//        @id_noisette@ étant alors remplacer par la bonne valeur, connue seulement après ajout de la noisette
    1515
    16 function formulaires_ajouter_noisette_charger_dist($page, $bloc, $retour = '')
    17 {
    18         return array(
    19                 'page' => $page,
     16function formulaires_ajouter_noisette_charger_dist($page, $bloc, $retour = '') {
     17        $contexte = array(
    2018                'bloc' => $bloc,
    2119                'editable' => autoriser('configurer', 'noizetier') ? 'on' : '',
    2220        );
     21       
     22        if (is_array($page)) {
     23                $contexte['objet'] = $page['objet'];
     24                $contexte['id_objet'] = $page['id_objet'];
     25        }
     26        else {
     27                $contexte['page'] = $page;
     28        }
     29       
     30        return $contexte;
    2331}
    2432
    25 function formulaires_ajouter_noisette_traiter_dist($page, $bloc, $retour = '')
    26 {
     33function formulaires_ajouter_noisette_traiter_dist($page, $bloc, $retour = '') {
    2734        if (!autoriser('configurer', 'noizetier')) {
    2835                return array('message_erreur' => _T('noizetier:probleme_droits'));
  • _plugins_/noizetier/trunk/formulaires/editer_noisette.php

    r93111 r95531  
    1212}     // si on utilise le formulaire dans le public
    1313
    14 function formulaires_editer_noisette_charger_dist($id_noisette, $retour = '')
    15 {
     14function formulaires_editer_noisette_charger_dist($id_noisette, $retour = '') {
    1615        $valeurs = array();
    1716        $valeurs['id_noisette'] = $id_noisette;
     
    5049}
    5150
    52 function formulaires_editer_noisette_verifier_dist($id_noisette, $retour = '')
    53 {
     51function formulaires_editer_noisette_verifier_dist($id_noisette, $retour = '') {
    5452        $noisette = _request('noisette');
    5553        $infos_noisette = noizetier_info_noisette($noisette);
     
    5856}
    5957
    60 function formulaires_editer_noisette_traiter_dist($id_noisette, $retour = '')
    61 {
     58function formulaires_editer_noisette_traiter_dist($id_noisette, $retour = '') {
    6259        if (!autoriser('configurer', 'noizetier')) {
    6360                return array('message_erreur' => _T('noizetier:probleme_droits'));
  • _plugins_/noizetier/trunk/formulaires/inc-liste_noisettes_disponibles.html

    r93114 r95531  
    1 #SET{type,#ENV{page}|noizetier_page_type}
    2 #SET{composition,#ENV{page}|noizetier_page_composition}
     1#SET{type,#ENV{page,#OBJET}|noizetier_page_type}
     2#SET{composition,#ENV{page,#OBJET}|noizetier_page_composition}
    33
    44<B_composition_noisettes>
    5 [(#SET{nom_type,[(#NOIZETIER_LISTE_PAGES|table_valeur{#ENV{page}}|table_valeur{nom})]})]
     5[(#SET{nom_type,[(#NOIZETIER_LISTE_PAGES|table_valeur{#ENV{page,#OBJET}}|table_valeur{nom})]})]
    66<h4><:noizetier:noisettes_composition{composition=#GET{nom_type}}:></h4>
    77<ul class="editer-groupe liste-items liste-noisettes liste-noisettes-disponibles">
    8 <BOUCLE_composition_noisettes(DATA){source tableau, #NOIZETIER_LISTE_NOISETTES{#ENV{page}}}{par cle}{si #GET{composition}}>
     8<BOUCLE_composition_noisettes(DATA){source tableau, #NOIZETIER_LISTE_NOISETTES{#ENV{page,#OBJET}}}{par cle}{si #GET{composition}}>
    99        <li class="editer item noisette" [ style="background-image: url((#VALEUR|table_valeur{icon}|sinon{noisette-24.png}|noizetier_chemin_icone));"]>
    1010                [(#ENV{form}|oui)<input type='radio' name='noisette' value='#CLE' />]
  • _plugins_/noizetier/trunk/formulaires/lister_noisettes_page.html

    r93114 r95531  
    1         #SET{self,#SELF|parametre_url{page,#ENV{page}}} [(#REM) en ajax, on perds parfois le paramètre dans l'URL ]
    2         <form method='post' action='#ENV{action}'>
     1[(#REM) en ajax, on perds parfois le paramètre dans l'URL ]
     2#SET{self,#SELF|parametre_url{objet,#OBJET}}
     3#SET{self,#GET{self}|parametre_url{id_objet,#ID_OBJET}}
     4#SET{self,#GET{self}|parametre_url{page,#ENV{page}}}
     5<form method="post" action="#ENV{action}">
    36        [(#REM) declarer les hidden qui declencheront le service du formulaire
    47        parametre : url d'action ]
    58        #ACTION_FORMULAIRE{#ENV{action}}
    6         <input type='hidden' name='page' value='#ENV{page}' />
     9        <input type="hidden" name="page" value="#ENV{page}" />
     10        <input type="hidden" name="objet" value="#ENV{objet}" />
     11        <input type="hidden" name="id_objet" value="#ENV{id_objet}" />
    712
    813        [#BOITE_OUVRIR{'','error'}(#ENV*{message_erreur})#BOITE_FERMER]
     
    1419                <:noizetier:notice_enregistrer_rang:>
    1520                #BOITE_PIED
    16                 <input type='submit' name="cancel" class='submit link' value='<:bouton_annuler:>' />
    17                 <input type='submit' name="save" class='submit' value='<:bouton_enregistrer:>' />
     21                <input type="submit" name="cancel" class="submit link" value="<:bouton_annuler:>" />
     22                <input type="submit" name="save" class="submit" value="<:bouton_enregistrer:>" />
    1823                #BOITE_FERMER
    1924        ]
    2025
    21         [(#SET{blocs,[(#NOIZETIER_LISTE_PAGES{#ENV{page}}|table_valeur{blocs})]})]
     26        [(#SET{blocs,[(#NOIZETIER_LISTE_PAGES{#ENV{page,#OBJET}}|table_valeur{blocs})]})]
    2227        <BOUCLE_blocs(DATA){source table, #GET{blocs}}>
    2328        <a name="bloc-#CLE"></a>
     
    2732        ,simple,titrem})]
    2833                [<p>(#VALEUR|table_valeur{description})</p>]
    29                 <input type='hidden' name='ordre[]' value='bloc-#CLE' />
     34                <input type="hidden" name="ordre[]" value="bloc-#CLE" />
    3035                <ul class="editer-groupe liste-items liste-noisettes bloc">
    31                 <BOUCLE_noisettes(NOISETTES){type=#ENV{page}|noizetier_page_type}{composition=#ENV{page}|noizetier_page_composition}{bloc=#CLE}{par rang}>
     36                <BOUCLE_noisettes(NOISETTES){objet?}{id_objet?}{type=#ENV{page}|noizetier_page_type}{composition=#ENV{page}|noizetier_page_composition}{bloc=#CLE}{par rang}>
    3237                        <li class="editer item noisette" id="noisette-#ID_NOISETTE"[ style="background-image: url((#NOIZETIER_INFO_NOISETTE{#NOISETTE}|table_valeur{icon}|sinon{noisette-24.png}|noizetier_chemin_icone));"]>
    3338                                [<strong>(#NOIZETIER_INFO_NOISETTE{#NOISETTE}|table_valeur{nom}|sinon{#NOISETTE})</strong>]
     
    3944                                ]
    4045                                [<br />(#NOIZETIER_NOISETTE_PREVIEW)]
    41                                 <input type='hidden' name='ordre[]' value='noisette-#ID_NOISETTE' />
     46                                <input type="hidden" name="ordre[]" value="noisette-#ID_NOISETTE" />
    4247                        </li>
    4348                </BOUCLE_noisettes>
     
    4651                </ul>
    4752                [(#AUTORISER{configurer,noizetier}|oui)
    48                         [(#URL_ECRIRE{noisette_add,page=#ENV{page}&bloc=#CLE}|icone_verticale{<:noizetier:formulaire_ajouter_noisette:>,noisette,add,right ajax preload})]
     53                        [(#ENV{page}|?{
     54                                #SET{url_add,#URL_ECRIRE{noisette_add,page=#ENV{page}&bloc=#CLE}},
     55                                #SET{url_add,#URL_ECRIRE{noisette_add,objet=#OBJET&id_objet=#ID_OBJET&bloc=#CLE}}
     56                        })]
     57                        [(#GET{url_add}|icone_verticale{<:noizetier:formulaire_ajouter_noisette:>,noisette,add,right ajax preload})]
    4958                ]
    5059        #BOITE_FERMER
     
    5564                <:noizetier:notice_enregistrer_rang:>
    5665                #BOITE_PIED
    57                 <input type='submit' name="cancel" class='submit link' value='<:bouton_annuler:>' />
    58                 <input type='submit' name="save" class='submit' value='<:bouton_enregistrer:>' />
     66                <input type="submit" name="cancel" class="submit link" value="<:bouton_annuler:>" />
     67                <input type="submit" name="save" class="submit" value="<:bouton_enregistrer:>" />
    5968                #BOITE_FERMER
    60 
    61                 [(#URL_ACTION_AUTEUR{supprimer_noisettes_page,#ENV{page},#GET{self}}|icone_verticale{<:noizetier:formulaire_supprimer_noisettes_page:>,noizetier-24,del,#LANG_LEFT})]
     69               
     70                [(#ENV{page}|?{
     71                        #SET{arg_supp,#ENV{page}},
     72                        [(#SET{arg_supp,[(#OBJET)|]#ID_OBJET})]
     73                })]
     74                [(#URL_ACTION_AUTEUR{supprimer_noisettes_page,#GET{arg_supp},#GET{self}}|icone_verticale{<:noizetier:formulaire_supprimer_noisettes_page:>,noizetier-24,del,#LANG_LEFT})]
    6275
    6376                <script type="text/javascript">/*<!\[CDATA\[*/
  • _plugins_/noizetier/trunk/formulaires/lister_noisettes_page.php

    r93111 r95531  
    88include_spip('base/abstract_sql');
    99
    10 function formulaires_lister_noisettes_page_charger_dist($page)
    11 {
    12         return array('page' => $page);
     10function formulaires_lister_noisettes_page_charger_dist($page) {
     11        if (is_array($page)) {
     12                $contexte = $page;
     13        }
     14        else {
     15                $contexte = array('page' => $page);
     16        }
     17       
     18        return $contexte;
    1319}
    1420
    15 function formulaires_lister_noisettes_page_traiter_dist($page)
    16 {
     21function formulaires_lister_noisettes_page_traiter_dist($page) {
    1722        if (_request('cancel')) {
    1823                return array('message_erreur' => _T('noizetier:operation_annulee'));
     
    2227                return array('message_erreur' => _T('noizetier:probleme_droits'));
    2328        }
    24 
     29       
    2530        $ordre = _request('ordre');
    2631        if (_request('save') && $ordre) {
  • _plugins_/noizetier/trunk/lang/noizetier_fr.php

    r94183 r95531  
    1717        'choisir_noisette' => 'Choisissez la noisette que vous voulez ajouter :',
    1818        'compositions_non_installe' => '<b>Plugin compositions :</b> ce plugin n’est pas installé sur votre site. Il n’est pas nécessaire au fonctionnement du noizetier. Cependant, s’il est activé, vous pourrez déclarer des compositions directement dans le noizetier.',
     19        'configurer_titre' => 'Configurer le noiZetier',
     20        'configurer_objets_noisettes_explication' => 'Sur ces types de contenus, il sera permis de personnaliser les noisettes <strong>contenu par contenu</strong>.',
     21        'configurer_objets_noisettes_label' => 'Autoriser la personnalisation par contenu sur :',
    1922
    2023        // D
     
    122125        'noisette_numero' => 'noisette numéro :',
    123126        'noisettes_composition' => 'Noisettes spécifiques à la composition <i>@composition@</i> :',
     127        'noisettes_configurees_aucune' => 'Aucune noisette configurée',
     128        'noisettes_configurees_nb' => '@nb@ noisettes configurées',
     129        'noisettes_configurees_une' => 'Une noisette configurée',
    124130        'noisettes_disponibles' => 'Noisettes disponibles',
    125131        'noisettes_page' => 'Noisettes spécifiques à la page <i>@type@</i> :',
     132        'noisettes_pour' => 'Noisettes pour : ',
    126133        'noisettes_toutes_pages' => 'Noisettes communes à toutes les pages :',
    127134        'noizetier' => 'noiZetier',
     
    156163        '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 nécessitant un plugin que vous avez désactivé ou désinstallé.'
    157164);
    158 
    159 ?>
  • _plugins_/noizetier/trunk/noizetier-generer-bloc-voir-noisettes.html

    r93114 r95531  
     1#SET{type,#OBJET|?{'',#ENV{type,#ENV{type-page,#ENV{page}}}}}
     2#SET{composition,#OBJET|?{'',#ENV{composition}}}
     3
    14<div class="noizetier-bloc" id="noizetier-bloc-#ENV{bloc}"
    25        style="padding:10px; border:4px dotted #DF454F; margin:10px 0;"
    36>
    4 <input type='hidden' name='ordre[]' value='bloc-#ENV{bloc}' class="noizetier-tri" />
    5 <input type='hidden' name='ordre[]' value='page-#ENV{type,#ENV{page}}[-(#ENV{composition})]' class="noizetier-tri" />
    6 <div style="color:#8A1F11; font-size:2em; margin:5px 0;">[(#NOIZETIER_LISTE_PAGES{#ENV{type,#ENV{page}}[-(#ENV{composition})]}|table_valeur{blocs}|table_valeur{#ENV{bloc}}|table_valeur{nom}|sinon{#ENV{bloc}})]</div>
    7 <div>[<strong>(#NOIZETIER_LISTE_PAGES{#ENV{type,#ENV{page}}[-(#ENV{composition})]}|table_valeur{nom})</strong>] ([(#ENV{type,#ENV{page}})][-(#ENV{composition})]) [\[<a href="(#URL_ECRIRE{noizetier_page,page=#ENV{type,#ENV{page}}[-(#ENV{composition})]})"><:noizetier:modifier_dans_prive:></a>\]]</div>
    8         <BOUCLE_noisettes(NOISETTES){bloc=#ENV{bloc}}{type=#ENV{type,#ENV{page}}}{composition=#ENV{composition}}{par rang}>
     7        <input type='hidden' name='ordre[]' value='bloc-#ENV{bloc}' class="noizetier-tri" />
     8        [(#GET{type}|oui)
     9        <input type='hidden' name='ordre\[\]' value='page-#GET{type}[-(#GET{composition})]' class="noizetier-tri" />
     10        ]
     11        [(#GET{type}|non)
     12        <input type='hidden' name='ordre\[\]' value='objet-#OBJET' class="noizetier-tri" />
     13        <input type='hidden' name='ordre\[\]' value='id_objet-#ID_OBJET' class="noizetier-tri" />
     14        ]
     15       
     16        <div style="color:#8A1F11; font-size:2em; margin:5px 0;">
     17                [(#NOIZETIER_LISTE_PAGES{[(#GET{type}|sinon{#OBJET})][-(#GET{composition})]}|table_valeur{blocs}|table_valeur{#ENV{bloc}}|table_valeur{nom}|sinon{#ENV{bloc}})]
     18        </div>
     19       
     20        <div>
     21                [(#GET{type}|oui)
     22                        [<strong>(#NOIZETIER_LISTE_PAGES{#GET{type}[-(#ENV{composition})]}|table_valeur{nom})</strong>]
     23                        ([(#GET{type})][-(#ENV{composition})])
     24                ]
     25               
     26                [(#GET{type}|?{
     27                        [(#SET{url_admin,[(#URL_ECRIRE{noizetier_page,page=#GET{type}[-(#ENV{composition})]})]})],
     28                        #SET{url_admin,#URL_ECRIRE{noizetier_page}|parametre_url{objet,#OBJET}|parametre_url{id_objet,#ID_OBJET}}
     29                })]
     30                [\[<a href="(#GET{url_admin})">
     31                        <:noizetier:modifier_dans_prive:>
     32                </a>\]]
     33        </div>
     34       
     35        <BOUCLE_noisettes(NOISETTES){objet?}{id_objet?}{bloc=#ENV{bloc}}{type=#GET{type}}{composition=#GET{composition}}{par rang}>
    936        <div class="noizetier-noisette" id="noizetier-noisette-#ID_NOISETTE"
    1037                style="padding:10px; border:2px solid #9DBA00; margin:10px 0;"
     
    3865        [(#ENV{ajouter_noisette}|=={#ENV{bloc}}|oui)
    3966                <div id="noizetier-ajouter-noisette">
    40                         [(#FORMULAIRE_AJOUTER_NOISETTE{#ENV{type,#ENV{page}}[-(#ENV{composition})],#ENV{bloc},[(#SELF|parametre_url{ajouter_noisette,''})&editer_noisette=@id_noisette@#noizetier-noisette-@id_noisette@]})]
     67                        [(#SET{page, #GET{type}|?{#GET{type}[-(#ENV{composition})], #ARRAY{objet,#OBJET,id_objet,#ID_OBJET}}})]
     68                        [(#FORMULAIRE_AJOUTER_NOISETTE{#GET{page},#ENV{bloc},[(#SELF|parametre_url{ajouter_noisette,''})&editer_noisette=@id_noisette@#noizetier-noisette-@id_noisette@]})]
    4169                        <div style="text-align:#LANG_RIGHT;">\[<strong><a href="[(#SELF|parametre_url{ajouter_noisette,''})#noizetier-bloc-#ENV{bloc}]"><:bouton_annuler:></a></strong>\]</div>
    4270                        <style type="text/css">ul.liste-noisettes li.noisette {padding-#LANG_LEFT: 30px; background-repeat: no-repeat; background-position: #LANG_LEFT 9px;}</style>
  • _plugins_/noizetier/trunk/noizetier-generer-bloc.html

    r93114 r95531  
    1 <BOUCLE_noisettes(NOISETTES){bloc=#ENV{bloc}}{type=#ENV{type,#ENV{page}}}{composition=#ENV{composition}}{par rang}>
     1#SET{type,#OBJET|?{'',#ENV{type,#ENV{type-page,#ENV{page}}}}}
     2#SET{composition,#OBJET|?{'',#ENV{composition}}}
     3<BOUCLE_noisettes(NOISETTES){objet?}{id_objet?}{bloc=#ENV{bloc}}{type=#GET{type}}{composition=#GET{composition}}{par rang}>
    24        [<div class="noisette noisette_#NOISETTE[ (#CHAMP_SQL{css})]">(#NOIZETIER_AFFICHER_NOISETTE)</div>]
    35</BOUCLE_noisettes>
  • _plugins_/noizetier/trunk/noizetier_administrations.php

    r93111 r95531  
    99
    1010// Installation et mise à jour
    11 function noizetier_upgrade($nom_meta_base_version, $version_cible)
    12 {
     11function noizetier_upgrade($nom_meta_base_version, $version_cible) {
    1312        $maj = array();
    1413
     
    2827                array('maj_tables',array('spip_noisettes')),
    2928        );
     29       
     30        $maj['0.5.0'] = array(
     31                array('maj_tables',array('spip_noisettes')),
     32                array('sql_alter', 'TABLE spip_noisettes ADD INDEX (type(255))'),
     33                array('sql_alter', 'TABLE spip_noisettes ADD INDEX (composition(255))'),
     34                array('sql_alter', 'TABLE spip_noisettes ADD INDEX (bloc(255))'),
     35                array('sql_alter', 'TABLE spip_noisettes ADD INDEX (noisette(255))'),
     36                array('sql_alter', 'TABLE spip_noisettes ADD INDEX (objet)'),
     37                array('sql_alter', 'TABLE spip_noisettes ADD INDEX (id_objet)'),
     38        );
    3039
    3140        include_spip('base/upgrade');
     
    3443
    3544// Désinstallation
    36 function noizetier_vider_tables($nom_meta_version_base)
    37 {
     45function noizetier_vider_tables($nom_meta_version_base) {
    3846        // On efface les tables du plugin
    3947        sql_drop_table('spip_noisettes');
  • _plugins_/noizetier/trunk/noizetier_autoriser.php

    r95453 r95531  
    1616        return autoriser('configurer', 'noizetier', $id, $qui,  $opt);
    1717}
     18
     19/**
     20 * Autorisation pour configurer les noisettes d'un contenu précis
     21 *
     22 * Avoir le droit de modifier l'objet et avoir configuré cet objet pour pouvoir personnaliser ses noisettes
     23 **/
     24function autoriser_configurernoisettes_dist($faire, $type, $id, $qui, $opt) {
     25        include_spip('inc/config');
     26        $liste_objets_noisettes = lire_config('noizetier/objets_noisettes', array());
     27       
     28        return
     29                autoriser('modifier', $type, $id)
     30                and in_array(table_objet_sql($type), $liste_objets_noisettes);
     31}
  • _plugins_/noizetier/trunk/noizetier_fonctions.php

    r95453 r95531  
    429429 * Supprime de spip_noisettes les noisettes liees a une page.
    430430 *
    431  * @param text $page
     431 * @param string|array $page
    432432 */
    433433function noizetier_supprimer_noisettes_page($page) {
    434         $type_compo = explode('-', $page, 2);
    435         $type = $type_compo[0];
    436        
    437         if (isset($type_compo[1])) {
    438                 $composition = $type_compo[1];
    439         } else {
    440                 $composition = '';
     434        $objet = '';
     435        $id_objet = 0;
     436        $type = '';
     437        $composition = '';
     438       
     439        if (is_array($page)) {
     440                $objet = $page['objet'];
     441                $id_objet = $page['id_objet'];
     442        }
     443        else {
     444                $type_compo = explode('-', $page, 2);
     445                $type = $type_compo[0];
     446               
     447                if (isset($type_compo[1])) {
     448                        $composition = $type_compo[1];
     449                }
    441450        }
    442451       
    443452        if (autoriser('configurer', 'noizetier')) {
    444                 sql_delete('spip_noisettes', 'type='.sql_quote($type).' AND composition='.sql_quote($composition));
     453                sql_delete(
     454                        'spip_noisettes',
     455                        'type = '.sql_quote($type)
     456                        .' AND composition = '.sql_quote($composition)
     457                        .' AND objet = '.sql_quote($objet)
     458                        .' AND id_objet = '.intval($id_objet)
     459                );
     460               
    445461                // On invalide le cache
    446462                include_spip('inc/invalideur');
     
    465481/**
    466482 * Ajoute une noisette à un bloc d'une page
    467  * Renvoie l'id_noisette de la noisette ajoutée.
    468  *
    469  * @param text $noisette
    470  * @param text $page
    471  * @param text $bloc
     483 *
     484 * @param string $noisette
     485 *              Nom de la noisette à ajouter
     486 * @param string|array $page
     487 *              Nom de la page-composition OU tableau contenant l'objet et l'id_objet
     488 * @param string $bloc
     489 *              Nom du bloc où ajouter la noisette
    472490 *
    473491 * @return int
    474  */
     492 *              Retourne l'identifiant de la nouvelle noisette
     493 **/
    475494function noizetier_ajouter_noisette($noisette, $page, $bloc) {
     495        $objet = '';
     496        $id_objet = 0;
     497        if (is_array($page)) {
     498                $objet = $page['objet'];
     499                $id_objet = $page['id_objet'];
     500                $page = null;
     501        }
     502       
    476503        if (autoriser('configurer', 'noizetier') && $noisette) {
     504                include_spip('inc/saisies');
    477505                $info_noisette = noizetier_info_noisette($noisette);
    478                 include_spip('inc/saisies');
    479506                $parametres = saisies_lister_valeurs_defaut($info_noisette['parametres']);
     507               
     508                // On construit le where pour savoir quelles noisettes chercher
     509                $where = array();
     510                if ($page) {
     511                        $where[] = 'type = '.sql_quote(noizetier_page_type($page));
     512                        $where[] = 'composition = '.sql_quote(noizetier_page_composition($page));
     513                }
     514                else {
     515                        $where[] = 'objet = '.sql_quote($objet);
     516                        $where[] = 'id_objet = '.intval($id_objet);
     517                }
     518                $where[] = 'bloc = '.sql_quote($bloc);
     519               
     520                // On cherche le rang suivant
    480521                $rang = intval(sql_getfetsel(
    481522                        'rang',
    482523                        'spip_noisettes',
    483                         'type='.sql_quote(noizetier_page_type($page)).' AND composition='.sql_quote(noizetier_page_composition($page)).' AND bloc='.sql_quote($bloc),
     524                        $where,
    484525                        '',
    485526                        'rang DESC',
    486527                        '0,1'
    487                         )) + 1;
    488                 $id_noisette = sql_insertq('spip_noisettes', array(
    489                         'type' => noizetier_page_type($page),
    490                         'composition' => noizetier_page_composition($page),
    491                         'bloc' => $bloc,
    492                         'noisette' => $noisette,
    493                         'rang' => $rang,
    494                         'parametres' => serialize($parametres),
    495                         ));
     528                )) + 1;
     529               
     530                $id_noisette = sql_insertq(
     531                        'spip_noisettes',
     532                        array(
     533                                'type' => noizetier_page_type($page),
     534                                'composition' => noizetier_page_composition($page),
     535                                'objet' => $objet,
     536                                'id_objet' => $id_objet,
     537                                'bloc' => $bloc,
     538                                'noisette' => $noisette,
     539                                'rang' => $rang,
     540                                'parametres' => serialize($parametres),
     541                        )
     542                );
    496543
    497544                if ($id_noisette) {
     
    502549                        return $id_noisette;
    503550                }
    504         } else {
    505                 return 0;
    506         }
     551        }
     552       
     553        return 0;
    507554}
    508555
     
    518565function noizetier_trier_noisette($page, $ordre) {
    519566        // Vérifications
    520         if (!autoriser('configurer', 'noizetier')) {
     567        if (
     568                !autoriser('configurer', 'noizetier')
     569                or !is_array($ordre)
     570                or substr($ordre[0], 0, 4) != 'bloc'
     571        ) {
    521572                return false;
    522573        }
    523         if (!is_array($ordre)) {
    524                 return false;
    525         }
    526         if (substr($ordre[0], 0, 4) != 'bloc') {
    527                 return $false;
    528         }
    529 
    530         if ($page) {
     574       
     575        $objet = '';
     576        $id_objet = 0;
     577        if (is_array($page)) {
     578                $objet = $page['objet'];
     579                $id_objet = $page['id_objet'];
     580                $type = '';
     581                $composition = '';
     582        }
     583        elseif ($page) {
    531584                $type = noizetier_page_type($page);
    532585                $composition = noizetier_page_composition($page);
     
    536589        foreach ($ordre as $entree) {
    537590                $entree = explode('-', $entree, 2);
     591               
    538592                if ($entree[0] == 'bloc') {
    539593                        $bloc = $entree[1];
     
    544598                        $type = noizetier_page_type($page);
    545599                        $composition = noizetier_page_composition($page);
     600                }
     601                if ($entree[0] == 'objet') {
     602                        $objet = $entree[1];
     603                }
     604                if ($entree[0] == 'id_objet') {
     605                        $id_objet = intval($entree[1]);
    546606                }
    547607                if ($entree[0] == 'noisette') {
     
    550610                                'type' => $type,
    551611                                'composition' => $composition,
     612                                'objet' => $objet,
     613                                'id_objet' => $id_objet,
    552614                                'rang' => $rang,
    553615                        );
     
    560622                                'type' => $type,
    561623                                'composition' => $composition,
     624                                'objet' => $objet,
     625                                'id_objet' => $id_objet,
    562626                                'rang' => $rang,
    563627                        );
     
    584648                $sens = 'haut';
    585649        }
    586         if (autoriser('configurer', 'noizetier') and intval($id_noisette)) {
     650       
     651        if (autoriser('configurer', 'noizetier') and $id_noisette) {
    587652                // On récupère des infos sur le placement actuel
    588653                $noisette = sql_fetsel(
    589                         'bloc, type, composition, rang',
     654                        'bloc, type, composition, objet, id_objet, rang',
    590655                        'spip_noisettes',
    591656                        'id_noisette = '.$id_noisette
     
    594659                $type = $noisette['type'];
    595660                $composition = $noisette['composition'];
     661                $objet = $noisette['objet'];
     662                $id_objet = intval($noisette['id_objet']);
    596663                $rang_actuel = intval($noisette['rang']);
    597664
     
    600667                        'rang',
    601668                        'spip_noisettes',
    602                         'bloc = '.sql_quote($bloc).' and type='.sql_quote($type).'and composition='.sql_quote($composition),
     669                        array(
     670                                'bloc = '.sql_quote($bloc),
     671                                'type = '.sql_quote($type),
     672                                'composition = '.sql_quote($composition),
     673                                'objet = '.sql_quote($objet),
     674                                'id_objet = '.$id_objet,
     675                        ),
    603676                        '',
    604677                        'rang desc',
     
    615688                                        'rang' => $rang_actuel,
    616689                                ),
    617                                 'bloc = '.sql_quote($bloc).' and type='.sql_quote($type).'and composition='.sql_quote($composition).' and rang = '.$rang_echange
     690                                array(
     691                                        'bloc = '.sql_quote($bloc),
     692                                        'type = '.sql_quote($type),
     693                                        'composition = '.sql_quote($composition),
     694                                        'objet = '.sql_quote($objet),
     695                                        'id_objet = '.$id_objet,
     696                                        'rang = '.$rang_echange,
     697                                )
    618698                        );
    619699                        if ($ok) {
     
    636716                                                'rang' => 'rang + 1',
    637717                                        ),
    638                                         'bloc = '.sql_quote($bloc).' and type='.sql_quote($type).'and composition='.sql_quote($composition)
     718                                        array(
     719                                                'bloc = '.sql_quote($bloc),
     720                                                'type = '.sql_quote($type),
     721                                                'composition = '.sql_quote($composition),
     722                                                'objet = '.sql_quote($objet),
     723                                                'id_objet = '.$id_objet,
     724                                        )
    639725                                );
    640726                                // La noisette passe tout en haut
     
    655741                                                'rang' => 'rang - 1',
    656742                                        ),
    657                                         'bloc = '.sql_quote($bloc).' and type='.sql_quote($type).'and composition='.sql_quote($composition)
     743                                        array(
     744                                                'bloc = '.sql_quote($bloc),
     745                                                'type = '.sql_quote($type),
     746                                                'composition = '.sql_quote($composition),
     747                                                'objet = '.sql_quote($objet),
     748                                                'id_objet = '.$id_objet,
     749                                        )
    658750                                );
    659751                                // La noisette passe tout en bas
     
    731823
    732824        if (is_null($liste_blocs)) {
     825                include_spip('base/abstract_sql');
     826               
    733827                $liste_blocs = array();
    734                 include_spip('base/abstract_sql');
    735828                $resultats = sql_allfetsel(
    736829                        array('bloc', 'type', 'composition'),
     
    752845
    753846/**
     847 * Liste les blocs pour lesquels il y a des noisettes a inserer POUR UN OBJET
     848 *
     849 * @staticvar array $liste_blocs
     850 *
     851 * @return array
     852 */
     853function noizetier_lister_blocs_avec_noisettes_objet($objet, $id_objet) {
     854        static $liste_blocs = null;
     855
     856        if (is_null($liste_blocs[$objet][$id_objet])) {
     857                include_spip('base/abstract_sql');
     858               
     859                $liste_blocs[$objet][$id_objet] = array();
     860                $resultats = sql_allfetsel(
     861                        array('bloc'),
     862                        'spip_noisettes',
     863                        array(
     864                                'objet = '.sql_quote($objet),
     865                                'id_objet = '.intval($id_objet),
     866                        ),
     867                        array('bloc')
     868                );
     869                foreach ($resultats as $res) {
     870                        $liste_blocs[$objet][$id_objet][] = $res['bloc'].'/'.$objet;
     871                }
     872        }
     873
     874        return $liste_blocs[$objet][$id_objet];
     875}
     876
     877/**
    754878 * Liste d'icones en 24px obtenues en fouillant le theme.
    755879 *
  • _plugins_/noizetier/trunk/noizetier_pipelines.php

    r95453 r95531  
    2323        if (defined('_NOIZETIER_RECUPERER_FOND') ? _NOIZETIER_RECUPERER_FOND : true) {
    2424                include_spip('noizetier_fonctions');
     25               
    2526                $fond = isset($flux['args']['fond']) ? $flux['args']['fond'] : '';
    2627                $composition = isset($flux['args']['contexte']['composition']) ? $flux['args']['contexte']['composition'] : '';
     
    3637                                include_spip('inc/autoriser');
    3738                        }     // si on utilise le formulaire dans le public
    38                         if (in_array($fond, noizetier_lister_blocs_avec_noisettes())) {
     39                       
     40                        // On cherche en priorité une correspondance d'objet précis !
     41                        // Sinon on cherche pour le type de page ou la composition
     42                        if (
     43                                (
     44                                        $objet = $flux['args']['contexte']['type-page']
     45                                        and $cle_objet = id_table_objet($objet)
     46                                        and $id_objet = intval($flux['args']['contexte'][$cle_objet])
     47                                        and $par_objet = in_array($flux['args']['fond'], noizetier_lister_blocs_avec_noisettes_objet($objet, $id_objet))
     48                                )
     49                                or in_array($fond, noizetier_lister_blocs_avec_noisettes())
     50                        ) {
    3951                                $contexte = $flux['data']['contexte'];
    4052                                $contexte['bloc'] = substr($fond, 0, strpos($fond, '/'));
     53                               
     54                                if ($par_objet) {
     55                                        $contexte['objet'] = $objet;
     56                                        $contexte['id_objet'] = $id_objet;
     57                                }
     58                               
    4159                                if (isset($flux['args']['contexte']['voir']) && $flux['args']['contexte']['voir'] == 'noisettes' && autoriser('configurer', 'noizetier')) {
    4260                                        $complements = recuperer_fond('noizetier-generer-bloc-voir-noisettes', $contexte, array('raw' => true));
     
    4462                                        $complements = recuperer_fond('noizetier-generer-bloc', $contexte, array('raw' => true));
    4563                                }
     64                               
    4665                                $flux['data']['texte'] .= $complements['texte'];
    47                         } elseif (isset($flux['args']['contexte']['voir']) && $flux['args']['contexte']['voir'] == 'noisettes' && autoriser('configurer', 'noizetier')) { // Il faut ajouter les blocs vides en mode voir=noisettes
     66                        }
     67                        // Il faut ajouter les blocs vides en mode voir=noisettes
     68                        elseif (isset($flux['args']['contexte']['voir']) && $flux['args']['contexte']['voir'] == 'noisettes' && autoriser('configurer', 'noizetier')) {
    4869                                $contexte = $flux['data']['contexte'];
    4970                                $bloc = substr($fond, 0, strpos($fond, '/'));
    5071                                $contexte['bloc'] = $bloc;
    51                                 $page = isset($contexte['type']) ? $contexte['type'] : '';
     72                               
     73                                // Si ya au moins une noisette pour cet objet peu importe le bloc
     74                                if (sql_fetsel('id_noisette', 'spip_noisettes', array('objet = '.sql_quote($objet),'id_objet = '.$id_objet))) {
     75                                        $contexte['objet'] = $objet;
     76                                        $contexte['id_objet'] = $id_objet;
     77                                }
     78                               
     79                                $page = isset($contexte['type']) ? $contexte['type'] : (isset($contexte['type-page']) ? $contexte['type-page'] : '');
    5280                                $page .= (isset($contexte['composition']) && $contexte['composition']) ? '-'.$contexte['composition'] : '';
    5381                                $info_page = noizetier_lister_pages($page);
     
    6088        }
    6189
     90        return $flux;
     91}
     92
     93/**
     94 * Insertion dans le pipeline boite_infos (SPIP)
     95 *
     96 * Ajouter un lien pour configurer les noisettes de ce contenu précisément
     97 *
     98 * @param array $flux
     99 *              Le contexte du pipeline
     100 * @return array $flux
     101 *              Le contexte modifié
     102 */
     103function noizetier_boite_infos($flux){
     104        include_spip('inc/autoriser');
     105       
     106        if (autoriser('configurernoisettes', $flux['args']['type'], $flux['args']['id'])) {
     107                include_spip('inc/presentation');
     108               
     109                // On cherche le nombre de noisettes déjà configurées pour ce contenu
     110                $nb = sql_countsel('spip_noisettes', array('objet = '.sql_quote($flux['args']['type']), 'id_objet = '.intval($flux['args']['id'])));
     111                if (!$nb) {
     112                        $texte = _T('noizetier:noisettes_configurees_aucune');
     113                }
     114                elseif ($nb == 1) {
     115                        $texte = _T('noizetier:noisettes_configurees_une');
     116                }
     117                else {
     118                        $texte = _T('noizetier:noisettes_configurees_nb', array('nb'=>$nb));
     119                }
     120               
     121                $flux['data'] .= icone_horizontale($texte, parametre_url(parametre_url(generer_url_ecrire('noizetier_page'), 'id_objet', $flux['args']['id']), 'objet', $flux['args']['type']), 'noisette', $fonction="", $dummy="", $javascript="");
     122        }
     123       
    62124        return $flux;
    63125}
  • _plugins_/noizetier/trunk/paquet.xml

    r95415 r95531  
    22        prefix="noizetier"
    33        categorie="maintenance"
    4         version="2.5.3"
    5         etat="stable"
     4        version="2.6.0"
     5        etat="test"
    66        compatibilite="[3.0.0;3.1.*]"
    77        logo="prive/themes/spip/images/noizetier-32.png"
    8         schema="0.4.0"
     8        schema="0.5.0"
    99        documentation="http://contrib.spip.net/?article4246"
    1010>
    11 
    1211        <nom>noiZetier</nom>
    1312        <!-- Gestionnaire de noisettes, nativement fonctionnel avec les squelettes Z -->
     
    3635        <pipeline nom="formulaire_admin" inclure="noizetier_pipelines.php" />
    3736        <pipeline nom="affiche_milieu" inclure="noizetier_pipelines.php" />
     37        <pipeline nom="boite_infos" inclure="noizetier_pipelines.php" />
    3838        <pipeline nom="formulaire_fond" inclure="noizetier_pipelines.php" />
    3939
  • _plugins_/noizetier/trunk/prive/squelettes/contenu/noisette_add.html

    r84395 r95531  
    11[(#AUTORISER{configurer,noizetier}|sinon_interdire_acces)]
    2 #SET{retour,#URL_ECRIRE{noizetier_page,page=#ENV{page}#bloc-#ENV{bloc}}}
     2
     3[(#ENV{page}|?{
     4        #SET{retour,#URL_ECRIRE{noizetier_page,page=#ENV{page}#bloc-#ENV{bloc}}},
     5        #SET{retour,#URL_ECRIRE{noizetier_page}|parametre_url{objet,#OBJET}|parametre_url{id_objet,#ID_OBJET}|ancre_url{bloc-#ENV{bloc}}},
     6})]
    37#SET{retour,#ENV{retour}|sinon{#GET{retour}}}
    48#SET{redirect,#URL_ECRIRE{noisette_edit,id_noisette=@id_noisette@}}
    59#SET{redirect,#ENV{redirect}|sinon{#GET{redirect}}}
     10
    611<div class='cadre-formulaire-editer'>
    712<div class="entete-formulaire">
     
    1823]
    1924<div class="ajax">
    20         #FORMULAIRE_AJOUTER_NOISETTE{#ENV{page},#ENV{bloc},#GET{redirect}}
     25        #FORMULAIRE_AJOUTER_NOISETTE{#ENV{page, #ARRAY{objet,#OBJET,id_objet,#ID_OBJET}},#ENV{bloc},#GET{redirect}}
    2126</div>
    2227[(#EVAL{_AJAX}|oui)
    2328        <script type="text/javascript">/*<!\[CDATA\[*/
    2429                jQuery('html,body').animate({scrollTop: jQuery("#chemin").offset().top}, 'slow');
    25                 jQuery('#chemin').find('>div').ajaxReload({'args':{'exec':'noisette_add','page':'#ENV{page}','bloc':'#ENV{bloc}'}});
    26                 jQuery('#navigation').find('>div').ajaxReload({'args':{'exec':'noisette_add','page':'#ENV{page}','bloc':'#ENV{bloc}'}});
     30                jQuery('#chemin').find('>div').ajaxReload({'args':{'exec':'noisette_add','page':'#ENV{page}','objet':'#OBJET','id_objet':#ID_OBJET,'bloc':'#ENV{bloc}'}});
     31                jQuery('#navigation').find('>div').ajaxReload({'args':{'exec':'noisette_add','page':'#ENV{page}','objet':'#OBJET','id_objet':#ID_OBJET,'bloc':'#ENV{bloc}'}});
    2732        /*\]\]>*/</script>
    2833]
  • _plugins_/noizetier/trunk/prive/squelettes/contenu/noisette_edit.html

    r93115 r95531  
    11[(#AUTORISER{configurer,noizetier}|sinon_interdire_acces)]
    22<BOUCLE_noisette(NOISETTES){id_noisette}>
    3 [(#SET{redirect,[(#URL_ECRIRE{noizetier_page,page=#TYPE[-(#COMPOSITION)]#noisette-#ID_NOISETTE})]})]
     3[(#OBJET|et{#ID_OBJET}|?{
     4        [(#SET{redirect,#URL_ECRIRE{noizetier_page}|parametre_url{objet,#OBJET}|parametre_url{id_objet,#ID_OBJET}|ancre_url{noisette-#ID_NOISETTE}})],
     5        [(#SET{redirect,[(#URL_ECRIRE{noizetier_page,page=#TYPE[-(#COMPOSITION)]#noisette-#ID_NOISETTE})]})]
     6})]
     7
    48#SET{redirect,#ENV{redirect}|sinon{#GET{redirect}}}
    59<div class='cadre-formulaire-editer'>
  • _plugins_/noizetier/trunk/prive/squelettes/contenu/noizetier_page.html

    r93114 r95531  
    11<BOUCLE_test (CONDITION) {si #ENV{exec}|=={noizetier_page}}>
    2 [(#ENV{page}|sinon_interdire_acces)]
    3 [(#AUTORISER{voir,noizetier,#ENV{page}}|sinon_interdire_acces)]
     2[(#ENV{page}|ou{#OBJET|et{#ID_OBJET}}|sinon_interdire_acces)]
     3[(#AUTORISER{voir,noizetier,#ENV{page}}|ou{#AUTORISER{voirnoizetier,#OBJET,#ID_OBJET}}|sinon_interdire_acces)]
     4
    45[(#BOITE_OUVRIR{
    56        [(#ENV{page}|noizetier_test_compo_noizetier|oui)
    67                [(#URL_ECRIRE{noizetier_page_edit,page=#ENV{page}}|icone_verticale{<:noizetier:formulaire_modifier_page:>,page,edit,right ajax preload})]
    78        ]
     9       
     10        [(#ENV{page}|non)
     11                [(#ID_OBJET|generer_url_entite{#OBJET}|icone_verticale{<:noizetier:retour:>,#OBJET,'',left retour})]
     12        ]
    813        <h1>
    9                 [(#NOIZETIER_LISTE_PAGES{#ENV{page}}|table_valeur{nom})]
    10                 [(#NOIZETIER_LISTE_PAGES{#ENV{page}}|table_valeur{icon}|sinon{page-24.png}|noizetier_chemin_icone|balise_img{page,cadre-icone})]
     14                [(#ENV{page}|oui)
     15                        [(#NOIZETIER_LISTE_PAGES{#ENV{page}}|table_valeur{nom})]
     16                        [(#NOIZETIER_LISTE_PAGES{#ENV{page}}|table_valeur{icon}|sinon{page-24.png}|noizetier_chemin_icone|balise_img{page,cadre-icone})]
     17                ]
     18                [(#ENV{page}|non)
     19                        <:noizetier:noisettes_pour:>#INFO_TITRE{#OBJET, #ID_OBJET}
     20                ]
    1121        </h1>
    1222,simple fiche_objet})]
    13         [(#NOIZETIER_LISTE_PAGES{#ENV{page}}|table_valeur{description})]
     23        [(#ENV{page}|oui)
     24                [(#NOIZETIER_LISTE_PAGES{#ENV{page}}|table_valeur{description})]
     25        ]
    1426#BOITE_FERMER
    1527
    16 <div class="ajax">#FORMULAIRE_LISTER_NOISETTES_PAGE{#ENV{page}}</div>
     28<div class="ajax">#FORMULAIRE_LISTER_NOISETTES_PAGE{#ENV{page,#ARRAY{objet,#OBJET,id_objet,#ID_OBJET}}}</div>
    1729
    1830[(#ENV{page}|noizetier_test_compo_noizetier|oui)
    1931        [(#URL_ACTION_AUTEUR{supprimer_composition_noizetier,#ENV{page},#URL_ECRIRE{noizetier_pages}}|icone_verticale{<:noizetier:formulaire_supprimer_page:>,page,del,right})]
    2032]
    21 [(#URL_ECRIRE{noizetier_page_edit}|parametre_url{new,oui}|parametre_url{page,#ENV{page}}|icone_verticale{<:noizetier:formulaire_dupliquer_page:>,page,edit,right ajax})]
     33[(#ENV{page}|oui)
     34        [(#URL_ECRIRE{noizetier_page_edit}|parametre_url{new,oui}|parametre_url{page,#ENV{page}}|icone_verticale{<:noizetier:formulaire_dupliquer_page:>,page,edit,right ajax})]
     35]
    2236
    2337[(#EVAL{_AJAX}|oui)
  • _plugins_/noizetier/trunk/prive/squelettes/hierarchie/noizetier_page.html

    r93114 r95531  
    11[(#ENV{exec}|=={noizetier_page}|oui)
    2 <a href="#URL_ECRIRE{noizetier_pages}"><:noizetier:liste_pages:></a>
    3 &gt; <strong class="on"> [(#NOIZETIER_LISTE_PAGES{#ENV{page}}|table_valeur{nom})]</strong>
     2        [(#ENV{page}|oui)
     3                <a href="#URL_ECRIRE{noizetier_pages}"><:noizetier:liste_pages:></a>
     4                &gt; <strong class="on"> [(#NOIZETIER_LISTE_PAGES{#ENV{page}}|table_valeur{nom})]</strong>
     5        ]
     6        [(#ENV{page}|non)
     7                #SET{id_parent,#OBJET|=={rubrique}|?{#ENV{id_parent,#INFO_ID_PARENT{#OBJET,#ID_OBJET}},#ENV{id_rubrique,#INFO_ID_RUBRIQUE{#OBJET,#ID_OBJET}}}}
     8                [(#GET{id_parent}|ou{#OBJET|=={rubrique}}|oui)
     9                        <INCLURE{fond=prive/echafaudage/hierarchie/objet,objet=#OBJET,id_objet=#ID_OBJET,id_parent=#GET{id_parent},id_secteur=#INFO_ID_SECTEUR{#OBJET,#ID_OBJET},editable=#AUTORISER{modifier,#OBJET,#ID_OBJET},ajax}>
     10                ]
     11                [(#GET{id_parent}|ou{#OBJET|=={rubrique}}|non)
     12                        <INCLURE{fond=prive/echafaudage/hierarchie/objet.sans_rubrique,objet=#OBJET,id_objet=#ID_OBJET,ajax}>
     13                ]
     14        ]
    415]
    516[(#ENV{exec}|=={noisette_edit}|oui)<INCLURE{fond=prive/squelettes/hierarchie/noisette_edit,env}>]
  • _plugins_/noizetier/trunk/prive/squelettes/navigation/noizetier_page.html

    r84395 r95531  
    33        #BOITE_OUVRIR{#GET{titre},'info noisettes_disponibles none'}
    44        <p><:noizetier:explication_glisser_deposer:></p>
    5         <INCLURE{fond=formulaires/inc-liste_noisettes_disponibles,page,ordre=oui}>
     5        <INCLURE{fond=formulaires/inc-liste_noisettes_disponibles,page,objet,id_objet,ordre=oui}>
    66        #BOITE_FERMER
    77        <script type="text/javascript">/*<!\[CDATA\[*/
Note: See TracChangeset for help on using the changeset viewer.