Commentaires PHPBB

version 0.5

Ce plugin crée un topic dans un forum PHPBB lorsqu’un article est publié dans SPIP.

Spip possède déjà un système de forum, mais pour beaucoup d’entre nous, celui ci n’est pas le plus adapté et ni le plus éfficiant, et est pénible à modérer (pas de système d’interdiction de mots grossiers, etc...)
Et surtout sur de gros sites a fort passage, sa gestion devient rapidement très difficile.

C’est pourquoi, l’idée de ce plugin a germé dans nos petites têtes, bien qu’encore imparfait (nous comptons sur vous pour nous aider à le faire évoluer) il remplit déjà correctement la tache pour laquelle il a été crée. c’est à dire, déporter les messages de spip vers un forum phpBB (compatible version 3.0.x),

Téléchargez le plugin et l’installer comme tous les autres plugins.

Quelles sont les informations envoyés à phpBB ?

-  le titre de l’article
-  le chapeau de l’article
-  le lien vers l’article émetteur

Quelles sont les informations récupérés de phpBB par Spip ?

Deux nouvelles balises pour les squelettes (boucles ARTICLES) :
-  #NB_COMMENTAIRES : affiche le nombre de commentaires dans le topic phpBB
-  #TOPIC_ID : identifiant du topic crée dans phpBB

Une boucle PHPBB_POSTS permet d’afficher certaines infos du forum (voir exemple ci dessous)

Configuration

pré-requis : Spip et phpBB doivent se partager la même base de données


-  1- Regarder dans la table phpbb_groups de votre forum et trouver les identifiants des administrateurs du forum.
-  2- Dans le fichier fonds/cfg_comments_phpbb (ligne 37) il faut indiquer les identifiants dans la boucle phpbb_users : modifier le critère group_id IN xxx,xxx,xxx. Le plugin est configuré pour une installation « toute fraiche » de PHPBB (testé sur la 3.0.4).
-  3- Configurer le plugin avec cfg
-  4 - créer un utilisateur « admin » dans phpBB qui sera utilisé pour poster les messages
-  5 - Enjoy : lorsque vous publierez un article, un topic sera crée dans le forum.

Comme vous pouvez le constater deux forums sont nécessaire :
-  le forum dans lequel apparaitront les messages
-  un forum « temporaire » qui servira de tampon (en cas de réédition de l’article ou de dé-publication). Ce forum ne devra pas etre visible, ou seulement accessible aux membres du site si vous souhaitez rendre visible les articles en cours de rédaction.

Dans les squelettes

** Exemples de code pour afficher dans les squelettes les commentaires du topic**

#NB_COMMENTAIRES commentaires sur le forum

Topic : #TOPIC_ID
<BOUCLE_commentaires(PHPBB_POSTS){topic_id=#TOPIC_ID}{1,5}>
<!--on ne récupère pas le premier post, celui-ci est en effet le message envoyé par spip à phpbb-->
     <div>
	  [<h4>(#POST_SUBJECT)</h4>]
	  <div class="text">#POST_TEXT</div>
	  [<p> par (#POST_USERNAME)</p>]
         <!-- Affichage de l'avatar -->
         [<img src="forum/download/file.php?avatar=(#USER_AVATAR)" style="width:64px ;" alt="Avatar de #USERNAME" /> ]
     </div>
</BOUCLE_commentaires>

Exemple pour faire un lien vers le topic :

#CONFIG{comments_phpbb/phpbb_http}/viewtopic.php?t=#TOPIC_ID)

Problèmes connus

Le plugin est incompatible avec le plugin mutualisation.

Que manque t’il encore ?

-  la récupération des avatars du forum sur le site pour les topics réimportés (merci Nook !!)
-  un possible découpage d’envoi des topics de forum par rubriques spip
-  internationalisation
-  ...

Ce plugin a été créé originellement pour le site de musique 187prod.com. Merci à eux pour les tests « en live » et à albert pour le debug ;)

Vous pouvez télécharger phpBB à cette adresse : http://www.phpbb-fr.org/

Discussion

37 discussions

  • 1

    Bonjour,

    Sur un site utilisant déjà SPIP et PHPBB, mais qui ont étés installés sur deux bases distinctes. Il n’y a pas de possibilité d’utiliser ce plugin ?

    Question peut être idiote au vu de ce qui est indiqué sur cette page, mais on sait jamais :).

    Merci

    • Pour l’utilisation du plugin avec une base distincte, la réponse est dans la question ^^

      Ce n’est possible pour le moment mais faisable avec l’api sql de SPIP en modifiant quelques fonctions du plugin... Un volontaire ?

    Répondre à ce message

  • 2

    J’ai écrit un MOD à ce plugin apportant les ajouts suivants :
    -  internationalisation : utilisation d’un fichier de langue
    -  création de topics dans phpBB pour tous les articles SPIP déjà existants
    -  filtre bbcode pour conversion de la mise en forme
    -  filtre datetime_unix2mysql pour afficher la date des posts
    -  corrections pour la prise en compte de préfixe de table phpBB différent de PHPBB_

    Ne sachant pas comment apporter ma contribution dans la SPIP-zone, ce mod est téléchargeable ici :
    http://dorch.fr/spip.php?article57

    Je laisse le soin à Albert34 et jfefe de prendre en compte (ou non) ces modifications dans la version officielle.

    PS : je mets aussi à disposition une noisette pour l’affichage des posts avec les avatars.

    @+ Dorch

    • Très bonne contrib ;)

      ca marche bien,
      seul petit bug rencontré :
      pour les utilisateurs d’avatars hors forum (c’est à dire ceux qui n’ont pas étés envoyés sur le site) ceux ci ne sont pas pis en compte, et ne sont donc pas affichés.

      p.s. :jefe t’as laissé un message

    • Merci Dorch de ta contribution, le plugin vient d’être mis à jour.

    Répondre à ce message

  • 1
    Tropicaloo

    Bonsoir,

    Merci pour cet excellent plugin. Je l’ai utilisé avec une pagination dans la boucle :
    <BOUCLE_commentaires(PHPBB_POSTS){topic_id=#TOPIC_ID} {pagination}>

    Mais je cherche désespérément à effectuer une pagination inversée, c’est à dire les Posts les plus récents d’abord et les plus anciens à la fin. Le critère {inverse} n’est, bien sûr, pas valide ici pour ce cas.

    Si quelqu’un a une idée, je suis preneur. Merci

    • Tropicaloo

      Merci à denisb pour cette réponse donnée sur le forum user :
      <BOUCLE_commentaires(PHPBB_POSTS){topic_id=#TOPIC_ID}  {!par post_time} {pagination}>

    Répondre à ce message

  • 2

    Bonjour,

    Cet excellent plugin serait-il, par hasard, compatible avec spip 1.9.2 ?

    • Malheureusement non ;)
      il faut obligatoirement etre en 2.x

    • Titou974

      Desole, j’avais pas vu que la réponse était donné.
      Merci

    Répondre à ce message

  • Déesse A.

    L’affirmation que ce plugin n’est pas utilisable en SPIP mutualisé est-elle toujours vraie en SPIP 2..0.9 ? Après la sortie de la 2.0.8, on a corrigé un bug sur la manipulation des bases en mutualisé.

    Si ça ne marche toujours pas, pourrais-je avoir une explication précise de la raison ?

    Répondre à ce message

  • Titou974

    Pardon, oui me suis trompé. c’est bien 1.9.2h.
    Est-il compatible ce mod ?

    Répondre à ce message

  • 1
    Titou974

    bonsoir à tous.
    Ce mod est-il compatible spip 1.9.3h ?
    Merci

    Répondre à ce message

  • Ok, merci pour votre réponse en tout cas.

    Répondre à ce message

  • 7

    Bon, après un test, c’est le plugin tout seul qui plante... j’ai testé en désactivant tout.

    Ca vient peut-être du fait que le préfixe de ma table n’est pas standard...

    Regards,
    Skro

    • je ne pense pas que le problème vienne de là
      vu que dans cfg on demande le préfixe de la table...
      que dit le mode debug de spip ?

    • Erreur(s) dans le squelette

      • 1 Erreur sur le site boucle critère inconnu group_id
      • 2 Erreur sur le site boucle critère inconnu parent_id
      • 3 Erreur sur le site boucle critère inconnu parent_id
      • 4 Erreur sur le site boucle critère inconnu parent_id
      • 5 Erreur sur le site boucle critère inconnu parent_id

      Et ça me plante toute l’interface de gestion des plugins

    • ben là on dirait que le plugin n’est pas activé #group_id et #parent_id sont des balises ajoutées par le plugin

    • Ca me colle ça quand j’active le plugin, justement... Et je ne peux pas le désactiver, vu le ramdam que ça me fiche dans ma page d’admin, sans aller taper un coup sur la base de données (et forcément, je n’y ai pas accès pour le moment)

      Heureusement, mes autres plugins continuent de fonctionner

    • avez vous bien saisie les balises ?
      copier/coller de l’exmple de l’article ?
      balises en MAJUSCULES et non en minuscules ?

    • Non, je n’ai pas encore touché à mes squelettes, je voulais déjà me servir du plugin pour générer automatiquement les discussions dans mon forum (je l’avais déjà fait sur une ancienne version, et de spip, et de phpBB, et en codant les trucs en dur dans l’exec). Et le plantage arrive dès l’écran de maintenance, dans l’espace privé.

    • J’ai eu la même erreur et c’est bien du au fait que le préfixe des tables de phpbb n’est pas « phpbb_ ».

      J’ai modifié les boucles dans cfg_comments_phpbb.html. J’ai remplacé les PHPBB_ par PHPBB3_ (le préfixe que j’utilise) et l’erreur sur la page de configuration des plugins disparait.

    Répondre à ce message

  • 1

    Je crois que j’ai trouvé la solution (à confirmer...).
    Je suis allé dans le fichier comments_phpbb_pipeline.php, et j’ai ajouté à la ligne 19

    if($article[’statut’] == ’publie’ && $article[’id_secteur’] != ’4’)

    Je pense que c’est bon, c’est fait un peu à l’arrache mais bon, ça a l’air de marcher donc je pense que je ne vais pas passer 3 ans dessus. :)

    • C’est une solution en effet :)

      Une autre serait d’améliorer la page cfg du plugin et avoir une liste de sémections des secteurs (un peu comme le plugin agenda...) ; Mais en ce qui me concerne, je n’ai pas le temps pour le développement.

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

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