Changeset 33416 in spip-zone


Ignore:
Timestamp:
Nov 29, 2009, 8:48:49 PM (11 years ago)
Author:
eric@…
Message:

Une évolution du plugin pour étendre ses possibilités au delà des squelettes Z:

  • ajout de pipeline pour chaque opération (activer, effacer, apercevoir)
  • affichage modifié pour la compatibilité avec un squelette nommé
  • petites pétouilles
Location:
_plugins_/zen-garden
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/zen-garden/action/zengarden_activer_theme.php

    r29564 r33416  
    1010        $arg = $securiser_action();
    1111
    12         if ($arg=='-1'){
    13                 include_spip('inc/meta');
    14                 effacer_meta("zengarden_theme");
     12        if (strncmp('defaut:',$arg,7) == 0){
     13                $dir_theme = _DIR_THEMES . substr($arg,7);
     14                $flux = pipeline('zengarden_effacer_theme', array('args' => array('dir' =>$dir_theme), 'data' => true));
     15                if ($flux) {
     16                        include_spip('inc/meta');
     17                        effacer_meta("zengarden_theme");
     18                }
    1519        }
    16         elseif (strncmp('preview:',$arg,8)==0){
    17                 include_spip('inc/cookie');
    18                 spip_setcookie('spip_zengarden_theme',substr($arg,8));
     20        elseif (strncmp('apercu:',$arg,7) == 0){
     21                $theme = substr($arg,7);
     22                $dir_theme = _DIR_THEMES . $theme;
     23                if (is_dir($dir_theme)) {
     24                        $flux = pipeline('zengarden_apercevoir_theme', array('args' => array('dir' =>$dir_theme), 'data' => true));
     25                        if ($flux) {
     26                                include_spip('inc/cookie');
     27                                spip_setcookie('spip_zengarden_theme', $theme);
     28                        }
     29                }
    1930        }
    20         elseif (is_dir(_DIR_THEMES . $arg)) {
    21                 include_spip('inc/meta');
    22                 ecrire_meta("zengarden_theme",$arg);
     31        elseif (strncmp('activation:',$arg,11) == 0) {
     32                $theme = substr($arg,11);
     33                $dir_theme = _DIR_THEMES . $theme;
     34                if (is_dir($dir_theme)) {
     35                        $flux = pipeline('zengarden_activer_theme', array('args' => array('dir' => $dir_theme), 'data' => true));
     36                        if ($flux) {
     37                                include_spip('inc/meta');
     38                                ecrire_meta("zengarden_theme", $theme);
     39                        }
     40                }
    2341        }
    2442}
  • _plugins_/zen-garden/inc/zengarden.php

    r33126 r33416  
    2828}
    2929
     30function zengarden_affiche_version_compatible($intervalle){
     31        if (!strlen($intervalle)) return '';
     32        if (!preg_match(',^[\[\(]([0-9.a-zRC\s]*)[;]([0-9.a-zRC\s]*)[\]\)]$,',$intervalle,$regs)) return false;
     33        $mineure = $regs[1];
     34        $majeure = $regs[2];
     35        $mineure_inc = $intervalle{0}=="[";
     36        $majeure_inc = substr($intervalle,-1)=="]";
     37        if (strlen($mineure)){
     38                if (!strlen($majeure))
     39                        $version = _T('zengarden:intitule_version') . ($mineure_inc ? ' ≥ ' : ' > ') . $mineure;
     40                else
     41                        $version = $mineure . ($mineure_inc ? ' ≤ ' : ' < ') . _T('zengarden:intitule_version') . ($majeure_inc ? ' ≤ ' : ' < ') . $majeure;
     42        }
     43        else {
     44                $version = _T('zengarden:version') . ($majeure_inc ? ' ≤ ' : ' < ') . $majeure;
     45        }       
     46
     47        return $version;
     48}
     49
    3050?>
  • _plugins_/zen-garden/lang/zengarden_fr.php

    r29564 r33416  
    2222        // I
    2323        'info_page' => 'Vous pouvez choisir un thème proposé ou simplement apercevoir son rendu sans modifier l\'affichage pour vos visiteurs',
     24        'intitule_compatiblite_squelette' => 'Compatible uniquement avec les squelettes',
     25        'intitule_version' => 'version',
    2426
    2527        // M
  • _plugins_/zen-garden/prive/style_prive_plugin_zengarden.html

    r29946 r33416  
    44.zengarden .themes li.item .spip_documents_left {background:#eee;padding:5px;border:1px solid #e1e1e1;margin-#GET{left}:-227px;position:relative;display:inline;}
    55.zengarden .themes li.item .bandeau {margin-top:5px;font-style:italic;}
     6.zengarden .themes li.item .squelette {margin-top: 1em;}
  • _plugins_/zen-garden/prive/zengarden_theme.html

    r33154 r33416  
    55<ul class='liste_items themes'>
    66<BOUCLE_themes(POUR){tableau #ENV{themes}}{cle!=#ENV{selection}}{pagination 10}>
    7 <li class='item'>
    8 [(#EVAL{_DIR_THEMES}|concat{#VALEUR|table_valeur{chemin},'/',#VALEUR|table_valeur{icon}}|image_reduire{200,150}|inserer_attribut{class,spip_documents_left})]
    9 <h3>[(#VALEUR|table_valeur{nom}|typo|extraire_multi)]</h3>
    10 <div class='descriptif'>[(#VALEUR|table_valeur{description}|propre)]</div>
    11 <div class='auteur'>[(#VAL{info_les_auteurs_1}|_T{#ARRAY{les_auteurs,#VALEUR|table_valeur{auteur}|propre|PtoBR}})]</div>
    12 <div class='licence'>[<:intitule_licence:> (#VALEUR|table_valeur{licence}|propre|PtoBR)]</div>
    13 [<div class='bandeau'>(#VALEUR|table_valeur{bandeau}|?{<:zengarden:bandeau_personalisable:>})</div>]
    14 <p class='actions'>
    15 [<a target='_blank' href='#URL_ACTION_AUTEUR{zengarden_activer_theme,preview:#CLE,#EVAL{_DIR_RACINE}}'><:zengarden:apercevoir_ce_theme:></a>]
    16 [<a href='#URL_ACTION_AUTEUR{zengarden_activer_theme,#CLE,#SELF|parametre_url{debut_themes,''}}'><:zengarden:choisir_ce_theme:></a>]
    17 </p>
    18 </li>
     7        <li class='item'>
     8                [(#EVAL{_DIR_THEMES}|concat{#VALEUR|table_valeur{chemin},'/',#VALEUR|table_valeur{icon}}|image_reduire{200,150}|inserer_attribut{class,spip_documents_left})]
     9                <h3>[(#VALEUR|table_valeur{nom}|typo|extraire_multi)]</h3>
     10                <div class='descriptif'>[(#VALEUR|table_valeur{description}|propre)]</div>
     11                <div class='auteur'>[(#VAL{info_les_auteurs_1}|_T{#ARRAY{les_auteurs,#VALEUR|table_valeur{auteur}|propre|PtoBR}})]</div>
     12                <div class='licence'>[<:intitule_licence:> (#VALEUR|table_valeur{licence}|propre|PtoBR)]</div>
     13               
     14        <B_squelettes>
     15                <div class='squelette'>
     16                        <:zengarden:intitule_compatiblite_squelette:>
     17                        <ul>
     18        <BOUCLE_squelettes(POUR){tableau #VALEUR|table_valeur{utilise}}>
     19                                <li>
     20                                        [(#VALEUR|table_valeur{name}|propre|PtoBR) ]
     21                                        [: (#VALEUR|table_valeur{version}|zengarden_affiche_version_compatible|propre|PtoBR)]
     22                                </li>
     23        </BOUCLE_squelettes>
     24                        </ul>
     25                </div>
     26                <br class="nettoyeur" />
     27        </B_squelettes>
     28               
     29                [<div class='bandeau'>(#VALEUR|table_valeur{bandeau}|?{<:zengarden:bandeau_personalisable:>})</div>]
     30                <p class='actions'>
     31                [<a target='_blank' href='#URL_ACTION_AUTEUR{zengarden_activer_theme,apercu:#CLE,#EVAL{_DIR_RACINE}}'><:zengarden:apercevoir_ce_theme:></a>]
     32                [<a href='#URL_ACTION_AUTEUR{zengarden_activer_theme,activation:#CLE,#SELF|parametre_url{debut_themes,''}}'><:zengarden:choisir_ce_theme:></a>]
     33                </p>
     34        </li>
    1935</BOUCLE_themes>
    2036</ul>
  • _plugins_/zen-garden/prive/zengarden_theme_actif.html

    r29564 r33416  
    99<div class='auteur'>[(#VAL{info_les_auteurs_1}|_T{#ARRAY{les_auteurs,#VALEUR|table_valeur{auteur}|propre|PtoBR}})]</div>
    1010<div class='licence'>[<:intitule_licence:> (#VALEUR|table_valeur{licence}|propre|PtoBR)]</div>
    11 <p class='actions'>[<a href='#URL_ACTION_AUTEUR{zengarden_activer_theme,'-1',#SELF}'><:zengarden:desactiver_ce_theme:></a>]</p>
     11<p class='actions'>[<a href='#URL_ACTION_AUTEUR{zengarden_activer_theme,defaut:#CLE,#SELF}'><:zengarden:desactiver_ce_theme:></a>]</p>
    1212</li>
    1313</BOUCLE_sel>
  • _plugins_/zen-garden/zengarden_options.php

    r29564 r33416  
    2525}
    2626
     27// Déclaration des pipelines permettant d'ajouter traitements lors de la preview et de l'activiation
     28$GLOBALS['spip_pipeline']['zengarden_apercevoir_theme'] = '';
     29$GLOBALS['spip_pipeline']['zengarden_activer_theme'] = '';
     30$GLOBALS['spip_pipeline']['zengarden_effacer_theme'] = '';
     31
    2732?>
Note: See TracChangeset for help on using the changeset viewer.