[SPIP Zone] Comment afficher les plugins afficher les plugins : balise LESPLUGINS ? Boucle meta ?

Bonjour,

Je souhaiterai afficher dans les mentions légales la liste des plugins utilisés sur un site (spip 2.1), est-ce possible dans un squelette avec une boucle sur spip_meta ? Sinon comment faire ?
Une balise lesplugins qui utilisent affiche_les_plugins ?

J’ai un peu de mal, j’ai essayé ça sans succès :

include_spip(‹ exec/admin_plugin ›);
function balise_PLUGINSDUSITE($p) {
$lcpa = liste_chemin_plugin_actifs();
$p=affiche_les_plugins($lcpa,$lcpa);
return $p;
}

Récupérer la valeur dans spip_meta et boucler avec POUR de bonux je pense.
Le 21 avr. 2010 à 22:34, Guy Cesaro a écrit :

Bonjour,

Je souhaiterai afficher dans les mentions légales la liste des plugins utilisés sur un site (spip 2.1), est-ce possible dans un squelette avec une boucle sur spip_meta ? Sinon comment faire ?
Une balise lesplugins qui utilisent affiche_les_plugins ?

J'ai un peu de mal, j'ai essayé ça sans succès :

include_spip('exec/admin_plugin');
   function balise_PLUGINSDUSITE($p) {
        $lcpa = liste_chemin_plugin_actifs();
        $p=affiche_les_plugins($lcpa,$lcpa);
        return $p;
}
_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

----

Yohann Prigent
prigent.yohann@gmail.com

Le 21/04/10 22:34, Guy Cesaro a écrit :

Je souhaiterai afficher dans les mentions légales la liste des plugins
utilisés sur un site (spip 2.1), est-ce possible dans un squelette avec une
boucle sur spip_meta ? Sinon comment faire ?

l'appel avec :
   [<ul>(#PLUGIN|unserialize|foreach{liste_plug})</ul>]
et dans modeles/liste_plug.html :
   [<li>(#ENV{valeur}|strtolower)</li>]

voir utilisation de |foreach :
   |foreach - SPIP
et celle de #FOREACH :
   http://www.spip.net/fr_article4573.html

Le 22/04/10 01:46, denisb a écrit :

et dans modeles/liste_plug.html :
[<li>(#ENV{valeur}|strtolower)</li>]

soyons plus précis :
   [<li>(#ENV{valeur}|strtolower) v. #PLUGIN{#ENV{valeur}, version}</li>]

Le 22/04/10 02:06, denisb a écrit :

soyons plus précis :
[<li>(#ENV{valeur}|strtolower) v. #PLUGIN{#ENV{valeur}, version}</li>]

soyons plus juste et polyglotte :
   [<li>(#PLUGIN{#ENV{valeur}, nom}|extraire_multi)
   v. #PLUGIN{#ENV{valeur}, version}</li>]

Mille mercis !
Malheureusement, je m’aperçois qu’au mieux avec la spip_meta on peut avoir le prefix, la version ou le nom (merci pour la syntaxe!), mais ni l’url de doc s’il y a, ni les auteurs.
Je vais retenter la balise en m’appliquant ! A moins que… Faut-il l’autorisation des auteurs pour les afficher à côté de leurs plugins sur un site ?

Le 22 avril 2010 02:06, denisb <denisb@laposte.net> a écrit :

Le 22/04/10 01:46, denisb a écrit :

et dans modeles/liste_plug.html :
[

  • (#ENV{valeur}|strtolower)
  • ]

    soyons plus précis :
    [

  • (#ENV{valeur}|strtolower) v. #PLUGIN{#ENV{valeur}, version}
  • ]


    spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

    Ben non on peut avoir toutes les informations d’un plugin.
    Mais la roue…

    ++
    Eric

    Le 22 avr. 10 à 07:05, Guy Cesaro a écrit :

    Mille mercis !
    Malheureusement, je m’aperçois qu’au mieux avec la spip_meta on peut avoir le prefix, la version ou le nom (merci pour la syntaxe!), mais ni l’url de doc s’il y a, ni les auteurs.
    Je vais retenter la balise en m’appliquant ! A moins que… Faut-il l’autorisation des auteurs pour les afficher à côté de leurs plugins sur un site ?

    Le 22 avril 2010 02:06, denisb <denisb@laposte.net> a écrit :

    Le 22/04/10 01:46, denisb a écrit :

    et dans modeles/liste_plug.html :
    [

  • (#ENV{valeur}|strtolower)
  • ]

    soyons plus précis :
    [

  • (#ENV{valeur}|strtolower) v. #PLUGIN{#ENV{valeur}, version}
  • ]


    spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone


    spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

    * Guy Cesaro tapuscrivait, le 21/04/2010 22:34:

    Bonjour,

    Je souhaiterai afficher dans les mentions légales la liste des plugins
    utilisés sur un site (spip 2.1), est-ce possible dans un squelette avec une
    boucle sur spip_meta ? Sinon comment faire ?
    Une balise lesplugins qui utilisent affiche_les_plugins ?

    J'ai un peu de mal, j'ai essayé ça sans succès :

    include_spip('exec/admin_plugin');
        function balise_PLUGINSDUSITE($p) {
             $lcpa = liste_chemin_plugin_actifs();
             $p=affiche_les_plugins($lcpa,$lcpa);
             return $p;
    }

    /Je renvois car ce n'est pas passé hier soir.../

    Il y a eu ça :
    http://spip192.jermer.fr/?Plugin-Spip-plugins-actifs-version

    Aucune idée si ça fonctionne encore.

    -- RealET

    Je creuse je creuse mais là je suis dans le noir :
    Effectivement, en regardant, je vois que la balise #PLUGIN (que je découvre grace à denisb) appelle :
    exec_info_plugin_dist qui appelle
    plugins_get_infos_dist

    Cool ! Et dans dans plugins_get_infos_dist, on a bien tous les champs du xml qui sont étudiés. Re-cool.

    Mais (par exemple), je mets dans un squelette :
    #PLUGIN{« nospam »,« nom »}
    #PLUGIN{« nospam »,« description »}
    #PLUGIN{« nospam »,« auteur »}
    #PLUGIN{« nospam »,« etat »}
    #PLUGIN{« nospam »,« version »}
    #PLUGIN{« nospam »,« icon »}

    Et j’obtiens :
    NoSPAM stable 0.7

    Rhaaaaaaaa elle est où ma bêtise ?

    Le 22 avril 2010 09:51, Eric Lupinacci <smellup@gmail.com> a écrit :

    Ben non on peut avoir toutes les informations d’un plugin.
    Mais la roue…

    ++
    Eric

    Le 22 avr. 10 à 07:05, Guy Cesaro a écrit :

    Mille mercis !
    Malheureusement, je m’aperçois qu’au mieux avec la spip_meta on peut avoir le prefix, la version ou le nom (merci pour la syntaxe!), mais ni l’url de doc s’il y a, ni les auteurs.
    Je vais retenter la balise en m’appliquant ! A moins que… Faut-il l’autorisation des auteurs pour les afficher à côté de leurs plugins sur un site ?

    Le 22 avril 2010 02:06, denisb <denisb@laposte.net> a écrit :

    Le 22/04/10 01:46, denisb a écrit :

    et dans modeles/liste_plug.html :
    [

  • (#ENV{valeur}|strtolower)
  • ]

    soyons plus précis :
    [

  • (#ENV{valeur}|strtolower) v. #PLUGIN{#ENV{valeur}, version}
  • ]


    spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone


    spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

    Merci ! ça marchouille si les plugins installés sont dans un dossier du nom du prefix. Pas top en l’état, et puis comme il y a une balise dans le core, j’aimerai l’utiliser autant que possible. Mais au pire je pourrais l’adapter un peu pour que ça fonctionne mieux, ça fait toujours une piste.

    Quelqu’un arrive à afficher la description ou l’auteur dans le public avec la balise ? comment ?

    Le 22 avril 2010 10:03, RealET <real3t@gmail.com> a écrit :

    • Guy Cesaro tapuscrivait, le 21/04/2010 22:34:

    Bonjour,

    Je souhaiterai afficher dans les mentions légales la liste des plugins
    utilisés sur un site (spip 2.1), est-ce possible dans un squelette avec une
    boucle sur spip_meta ? Sinon comment faire ?
    Une balise lesplugins qui utilisent affiche_les_plugins ?

    J’ai un peu de mal, j’ai essayé ça sans succès :

    include_spip(‹ exec/admin_plugin ›);
    function balise_PLUGINSDUSITE($p) {
    $lcpa = liste_chemin_plugin_actifs();
    $p=affiche_les_plugins($lcpa,$lcpa);
    return $p;
    }

    /Je renvois car ce n’est pas passé hier soir…/

    Il y a eu ça :
    http://spip192.jermer.fr/?Plugin-Spip-plugins-actifs-version

    Aucune idée si ça fonctionne encore.

    – RealET


    spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

    Le 22/04/10 10:23, Guy Cesaro a écrit :

    Quelqu'un arrive à afficher la description ou l'auteur dans le public avec
    la balise ? comment ?

    la balise ne renvoie que les infos de spip_meta.
    c'est codé comme ça : voir la fonction liste_plugin_actifs()

    oui je viens de voir que ça fait pas appel à exec infos_plugins mais à filtres info_plugins. C’est exec qui lit les xml. J’avais pas les yeux en face des trous. Désolé.

    Le 22 avril 2010 10:55, denisb <denisb@laposte.net> a écrit :

    Le 22/04/10 10:23, Guy Cesaro a écrit :

    Quelqu’un arrive à afficher la description ou l’auteur dans le public avec
    la balise ? comment ?

    la balise ne renvoie que les infos de spip_meta.
    c’est codé comme ça : voir la fonction liste_plugin_actifs()


    spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

    * Guy Cesaro tapuscrivait, le 22/04/2010 10:06:

    Je creuse je creuse mais là je suis dans le noir :
    Effectivement, en regardant, je vois que la balise #PLUGIN (que je découvre
    grace à denisb) appelle :
    exec_info_plugin_dist qui appelle
    plugins_get_infos_dist

    Cool ! Et dans dans plugins_get_infos_dist, on a bien tous les champs du xml
    qui sont étudiés. Re-cool.

    Mais (par exemple), je mets dans un squelette :
    #PLUGIN{"nospam","nom"}
    #PLUGIN{"nospam","description"}
    #PLUGIN{"nospam","auteur"}
    #PLUGIN{"nospam","etat"}
    #PLUGIN{"nospam","version"}
    #PLUGIN{"nospam","icon"}

    Attention à un détail : ne pas afficher d'adresse email en clair dans tes résultats !

    -- RealET

    RealET a écrit :

    * Guy Cesaro tapuscrivait, le 22/04/2010 10:06:

    Je creuse je creuse mais là je suis dans le noir :
    Effectivement, en regardant, je vois que la balise #PLUGIN (que je découvre
    grace à denisb) appelle :
    exec_info_plugin_dist qui appelle
    plugins_get_infos_dist

    Cool ! Et dans dans plugins_get_infos_dist, on a bien tous les champs du xml
    qui sont étudiés. Re-cool.

    Mais (par exemple), je mets dans un squelette :
    #PLUGIN{"nospam","nom"}
    #PLUGIN{"nospam","description"}
    #PLUGIN{"nospam","auteur"}
    #PLUGIN{"nospam","etat"}
    #PLUGIN{"nospam","version"}
    #PLUGIN{"nospam","icon"}

    Attention à un détail : ne pas afficher d'adresse email en clair dans tes résultats !

    -- RealET

    _______________________________________________
    spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

    Grâce a Sylvain

    j'en suis la une noisette :

    [(#AFFICHE_PLUGIN_TEST|explode_virgule_liste)]

    et dans on fichier mes_fonctions

    // paramètres pour afficher les plugins
       function balise_AFFICHE_PLUGIN_TEST($p) {
        $p->code = "lire_meta('plugin_header')";
        $p->statut = 'php';
        return $p;
    }
    function explode_virgule_liste($texte=string){
        $a_texte = explode( ',' , $texte ) ;
        $nb_texte = count($a_texte) ;
        if ( $nb_texte > 0 ) {
            $texte = '<ul>' ;
            for ( $i = 0 ; $i < $nb_texte ; $i ++ ) {
                $texte .= "\n".'<li>'.$a_texte[$i].'</li>' ;
            }
            $texte .= "\n".'</ul>' ;
        }
        return $texte;
    }

    visible en bas a droite

    @micalement

    --
    - Association B@CH@NT -

    Responsable Administratif : Stéphane POUPARD
    Tel 06 79 64 42 12
    http://bachant.pierre-kuhn.org/

    T'as pas essayé #VAL{plugin_header}|lire_meta au lieu de la nouvelle balise ?
    Pat

    Le 22/04/2010 18:11, assobachant a écrit :

    [(#AFFICHE_PLUGIN_TEST|explode_virgule_liste)]

    et dans on fichier mes_fonctions

    // paramètres pour afficher les plugins

    function balise_AFFICHE_PLUGIN_TEST($p) {
    $p->code = "lire_meta('plugin_header')";
    $p->statut = 'php';
    return $p;
    }

    Mon objectif est de sortir le nom, la version, l’auteur, la description… Bref, rendre à césar ce qui lui appartient. Donc les meta sont utiles uniquement pour disposer de la liste des plugins actifs. Pour le reste, il faut lire le xml de ces derniers. Le plugin proposé par RealET est à adapter à spip 2, j’essayerai de m’y coller dès que possible à moins que quelqu’un ait une solution simple. A première vue, ça semble difficile d’exploiter les fonctions d’affichage du core car elles servent également le formulaire / les checkbox quand on les utilisent.

    Le 23 avril 2010 00:25, Pat <patrice.vanneufville@laposte.net> a écrit :

    T’as pas essayé #VAL{plugin_header}|lire_meta au lieu de la nouvelle balise ?
    Pat

    Le 22/04/2010 18:11, assobachant a écrit :

    [(#AFFICHE_PLUGIN_TEST|explode_virgule_liste)]

    et dans on fichier mes_fonctions

    // paramètres pour afficher les plugins

    function balise_AFFICHE_PLUGIN_TEST($p) {
    $p->code = « lire_meta(‹ plugin_header ›) »;
    $p->statut = ‹ php ›;
    return $p;
    }


    spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone