You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Matthieu Marcillaud b524ca07c2 Ajout d’un Changelog 5 months ago
action Pas de lien inutile vers code.spip.net 9 months ago
balise Rector sur Forum avec config PHP 7.4 9 months ago
base feat(dev-tools): Mise en place phpcs+phpstan (#4748) 1 year ago
formulaires Utiliser les nouvelles fonctions generer_objet_* 9 months ago
inc Utiliser les nouvelles fonctions generer_objet_* 9 months ago
lang [Salvatore] [source:lang/ forum] Export depuis https://trad.spip.net de la langue pt 9 months ago
modeles _plugins_/_core_ vers _core_/plugins 14 years ago
notifications Rector sur Forum avec config PHP 7.4 9 months ago
prive Les #NOTES doivent aussi passer par texte_backend et liens_absolus - fixes #4755 6 months ago
public Pas de lien inutile vers code.spip.net 9 months ago
urls Utiliser les nouvelles fonctions generer_objet_* 9 months ago
.gitignore feat(dev-tools): Mise en place phpcs+phpstan (#4748) 1 year ago
CHANGELOG.md Ajout d’un Changelog 5 months ago
README.md Introduction du Readme 5 months ago
TODO.md forum - maj TODO (cerdic) 9 years ago
composer.json Indication du require à PHP + 7.4 par défaut + up de phpstan 9 months ago
forum_administrations.php feat(dev-tools): Mise en place phpcs+phpstan (#4748) 1 year ago
forum_autoriser.php Rector sur Forum avec config PHP 7.4 9 months ago
forum_fonctions.php Rector sur Forum avec config PHP 7.4 9 months ago
forum_ieconfig.php feat(dev-tools): Mise en place phpcs+phpstan (#4748) 1 year ago
forum_pipelines.php boite info auteur : ne pas afficher de lien vers exec controler forum si pas autorisé 8 months ago
paquet.xml Branche compat 4.2 8 months ago
phpcs.xml.dist feat(dev-tools): Mise en place phpcs+phpstan (#4748) 1 year ago
phpstan-baseline.neon Utiliser les nouvelles fonctions generer_objet_* 9 months ago
phpstan.neon.dist feat(dev-tools): Mise en place phpcs+phpstan (#4748) 1 year ago

README.md

Plugin Forum

Ce plugin gère des forums privés et publics dans SPIP

Modèle de données

Pour expliquer la façon dont le plugin forum stocke les messages de forums, prenons la conversation suivante :

  • à 12:53, envoi du message msg A
  • à 13:44, envoi du message msg B
  • à 14:27, envoi d'une réponse au premier message : [Re] msg A
  • à 18:12, envoi d'une réponse à cette réponse : [Re] [Re] msg A

Table spip_forum dans la base de données

Les données sont stockées dans la table spip_forum, avec un message par ligne. La conversation donnera donc la table suivante (on ne montre que les champs principaux) :

id_forum id_parent id_thread date_heure date_thread texte
1 0 1 12:53 18:12 msg A
2 0 2 13:44 13:44 msg B
3 1 1 14:27 18:12 [Re] msg A
4 3 1 18:12 18:12 [Re] [Re] msg A

Détaillons un peu le rôle de chaque champ :

champ description
id_forum identifiant du message
id_parent identifiant du message parent pour les réponses, ou 0 si c'est le premier message
id_thread identifiant du premier message d'un thread
date_heure heure du message (format un peu simplifié pour faire court)
date_thread heure du dernier message du thread

A noter également les deux champs id_objet et objet qui indiquent l'objet auquel le message est attaché (ex: id_objet = 3 et objet = article pour un message de forum dans l'article numéro 3).

Relations entre id_forum, id_parent et id_thread

  msg A
  id_forum = 1            <---------+
  id_parent = 0                     |
  id_thread = 1            ---------+
                                    |
    [Re] msg A                      |
    id_forum = 3          <----+    |
    id_parent = 1          ----|----+
    id_thread = 1          ----|----+
                               |    |
      [Re] [Re] msg A          |    |
      id_forum = 4             |    |
      id_parent = 3        ----+    |
      id_thread = 1        ---------+

  msg B
  id_forum = 2            <----+
  id_parent = 0                |
  id_thread = 2            ----+

Relations entre date_heure et date_thread :

  msg A
  date_heure = 12:53
  date_thread = 18:12      ----+
                               |
    [Re] msg A                 |
    date_heure = 12:53         |
    date_thread = 18:12    ----+
                               |
      [Re] [Re] msg A          |
      date_heure = 18:12  <----+
      date_thread = 18:12  ----+

  msg B
  date_heure = 13:44      <----+
  date_thread = 13:44      ----+