Guestbook

Le plugin Guestbook : le plugin livre d’or amélioré et réécrit pour SPIP 2

Présentation du plugin

Le plugin Guestbook est le plugin Livre d’or amélioré et réécrit pour SPIP 2. Les visiteurs laissent des messages avec une note, et les administrateurs SPIP peuvent y répondre.

Il s’installe comme les autres plugins. La procédure de création des tables se fait automatiquement...

Version 2.5.1
La version à utiliser

Bien que le plugin soit compatible seulement SPIP 2.1, il existe encore une version 2.0 ne comportant pas toutes les dernières mises à jour (y compris NoSPAM) :

Version 2.22.0
Pas complètement stable... A UTILISER AVEC PRECAUTION

Après Installation

Placer la balise #FORMULAIRE_GUESTBOOK où vous voulez afficher le formulaire pour écrire un message dans le livre d’or.

Le formulaire est un CVT (Charger, Vérifier, Traiter).
Actuellement, le message est obligatoire (minimum 10 lettres), le pseudo l’est aussi. De plus, on peut coupler le plugin avec NoSPAM pour pouvoir facilement détecter le spam !

Base de données

2 tables seront crées : spip_guestbook et spip_guestbook_reponses.
La première contient les messages du livre d’or et la deuxième contient les réponses apportées par les utilisateurs SPIP.

Modération

Il suffit d’aller sur ?exec=controle_guestbook(pour les versions < 2.0, c’est ?exec=livre). Les messages arrivent en tant que proposées. Il faut les valider pour qu’il s’affiche dans les boucles. On peut bien entendu aussi les supprimer.
Dans la colonne Répondre, on voit les réponses apportés par les utilisateurs SPIP(si réponse il y a). Pour répondre au message, il faut cliquer sur le lien Répondre.

Boucles

Voici un exemple simple des boucles pour afficher les messages et leur(s) réponse(s) avec une pagination et les crayons.

<BOUCLE_guestbook(GUESTBOOK){!par date}{statut=publie}{pagination 15}>
[(#ANCRE_PAGINATION)]
<p>Nom: #NOM, #VILLE le [(#DATE|affdate{'d-m-Y'})]</p><br />
Note: #NOTE/10 <br />
Message: <b><span class="#EDIT{message}">#MESSAGE</span></b>
<BOUCLE_reponses(GUESTBOOK_REPONSES auteurs){tout}{id_message}>
#NOM a répondu : <br />
<span class="#EDIT{message}">#MESSAGE</span>
</BOUCLE_reponses>
</BOUCLE_guestbook>
[<p class="pagination ajax">(#PAGINATION)</p>]
</B_guestbook>

TO-DO

-  Coupler avec CFG pour la configuration du plugin et du formulaire.
-  Coupler avec Champs Extras 2 si possible pour permettre l’ajout de champs en plus.

Dernière modification de cette page le 9 février 2019

Discussion

42 discussions

  • 1

    Bonjour,
    comment peut-on supprimer définitivement une contribution dans le livre d’or ?
    Par exemple en utilisant la « corbeille », ce serait très bien !
    Merci de votre aide.

    • non, c’est prévu pour la prochaine version qui est enfin rentrée en développement. Je ne peux pas donner de dates mais ça sera relativement court.

    Répondre à ce message

  • 1
    jeanfrancoisjeff

    Bonjour,
    Je ne comprends pas comment installer ce plugin.
    Car quand je mets #FORMULAIRE_GUESTBOOK là où je veux mettre le lien pour mon livre d’or, j’ai tout le formulaire qui s’affiche.

    Comment dois-je faire ?

    Merci

    • Ben oui, #FORMULAIRE_GUESTBOOK affiche comme prévu un formulaire.
      Que veux tu faire d’autre ?

    Répondre à ce message

  • 4

    Bonjour,

    Tout d’abord merci pour ce plugin de qualité.

    Et voici ma petite question : est-il possible d’administrer les messages du livre d’or par un auteur plutôt que par l’administrateur ?
    En effet dans mon cas l’administrateur n’est pas l’auteur principal et il ne consulte le site qu’une fois tous les 2 mois...

    • En lisant la documentation j’ai une réponse à ma question : en utilisant un lien vers l’URL suivante : /ecrire/ ?exec=livre

      Du coup j’ai positionné le lien dans un article du Forum qui pourra être consulté par l’auteur...

      J’aurai juste aimé avoir ce lien dans l’interface de gestion du site pour un auteur directement. Mais ceci n’est peut être pas possible ?

    • potter64

      hummm... il faut dire que je ne comprends pas trop ta question... tu veux autoriser des redacteurs à modérer ?

    • Oui c’est bien ça.

    • potter64

      normalement, les rédacteurs ont le droit de modérer les messages, mais le pipeline affichant le bouton ne l’affiche que pour les admins, il faudrait rajouter un bout de code. je prefere reserver ça à la prochaine version pour ajouter une gestion plus fine des autorisations avec cfg...

    Répondre à ce message

  • 2

    Le lien de téléchargement du plugin est cassé ?? comment le télécharger ?

    Merci

    • potter64

      Ah oui, je corrige dans quelques minutes...

    • potter64

      Les 2 versions de Guestbook sont dans l’article

    Répondre à ce message

  • 2
    ordilibre

    Bonjour,

    Bravo pour cette contribution.
    Je signale une petite erreur dans l’exemple de boucle :

    <BOUCLE_reponses(GUESTBOOK_REPONSES){tout}{id_message}>
    #AUTEUR a répondu : <br />
    <span class="#EDIT{message}">#MESSAGE</span>
    </BOUCLE_reponses>

    Le champ #AUTEUR n’existe pas. Il faut ecrire :

    <BOUCLE_reponses(GUESTBOOK_REPONSES){tout}{id_message}>
    <BOUCLE_AUTEUR_REPONSE(AUTEURS){id_auteur}>
    [(#NOM)]
    </BOUCLE_AUTEUR_REPONSE> a répondu : <br />
    <span class="#EDIT{message}">#MESSAGE</span>
    </BOUCLE_reponses>

    Cordialement

    • oui exact, j’ai oublié de mettre à jour l’article. Sinon pour économiser la base de données on peut faire une jointure :) je vais vérifier les primary key pour voir si spip le fait tout seul

    • J’ai mis à jour l’article, maintenant j’ai testé et la jointure marche...

    Répondre à ce message

  • 1

    Bonjour et bravo pour ce superbe plugin qui est également un bon exemple de codage de plugin V2. Je suis plus calé en PHP qu’en syntaxe SPIP. Pour solutionner le double post, comment scinder le guestbook en plusieurs pages (contenu, saisie d’un nouveau commentaire, affichage de la validation de la saisie) ? Faut-il faire une rubrique guestbook avec plusieurs articles (contenu, saisie, validation), mais dans ce cas comment faire l’enchainement entre les articles (saisie -> message de validation) ? Merci

    • Pas besoin de tout ça ! Il suffit de mettre pas exemple une clé unique dans le formulaire en input hidden et vérifier avec php qu’il n’a pas été envoyé 2 fois ^^
      La prochaine version devrait comporter tout ça avec CFG en prime !

    Répondre à ce message

  • 1

    Bonjour, comment éviter que le formulaire soit soumis plusieurs fois de suite ? Merci

    • Il est vrai qu’une protection de double post a été oubliée. Elle sera sans doute au programme de la prochaine version de Guestbook

    Répondre à ce message

  • 1
    Ymagination

    bonjour
    je voudrai savoir s’il est possible de changer de captcha car il n’est pas très lisible et si oui comment procéder

    aussi je ne suis pas très calée en code j’ai essayé de supprimer les champs de note entre autres dans le fichier html et il n’est alors plus possible de poster... quels sont les autres fichiers dans lesquels je dois supprimer ou modifier des champs

    merci

    • Je vais bientôt mettre en place un systeme de config par CFG pour choisir les champs que l’on veut afficher...

    Répondre à ce message

  • 1

    désolée de la question bête, je me réponds toute seule : j’ai trouvé, il faut juste créer une page html avec une boucle pour afficher , et faire le lien c’est ça ?

    par contre, quelle est la différence entre ce plugin et celui « Livre d’or pour SPIP 2.0 » svp ?

    merci

    • Si j’ai bien compris, tu veux faire un lien dans ton menu vers la page qui contient le formulaire ?
      -  Tu fait un squelette guestbook.html avec dedans un #FORMULAIRE_GUESTBOOK
      -  Tu fait un lien dans ton menu vers cette page avec #URL_PAGE{guestbook}

      Les différences entre Livre d’or pour SPIP 2 et celui là ne sont pas énormes... Livre d’or pour SPIP 2 a été écrit par Bernard Blazin et celui-çi par moi :p
      En fait Guestbook est une reprise du livre d’or pour SPIP 1.9 mais entierement refait ^^

    Répondre à ce message

  • salut,

    je voudrais utiliser ton plugin au moyen d’un lien direct, (sans inclure la balise # formulaire..). Je m’explique, dans mon menu, je voudrais un lien vers , par exemple « http://127.0.0.1/spip/spip.php?page=guestbook » sauf que l’adresse n’est pas la bonne : je dois mettre quoi plutôt ?

    merci d’avance

    Répondre à ce message

Ajouter un commentaire

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom