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 6547b0ca21 build: future version 3.2.0 pour SPIP 4.3+ 2 weeks ago
action docs: Nettoyer les entêtes de fichiers de la mention du fichier COPYING.txt 4 weeks ago
balise docs: Nettoyer les entêtes de fichiers de la mention du fichier COPYING.txt 4 weeks ago
base docs: Nettoyer les entêtes de fichiers de la mention du fichier COPYING.txt 4 weeks ago
formulaires docs: Nettoyer les entêtes de fichiers de la mention du fichier COPYING.txt 4 weeks ago
inc docs: Nettoyer les entêtes de fichiers de la mention du fichier COPYING.txt 4 weeks ago
lang [Salvatore] [source:lang/ forum] Export depuis https://trad.spip.net de la langue pt 1 year ago
modeles _plugins_/_core_ vers _core_/plugins 14 years ago
notifications Rector sur Forum avec config PHP 7.4 1 year ago
prive docs: Nettoyer les entêtes de fichiers de la mention du fichier COPYING.txt 4 weeks ago
public docs: Nettoyer les entêtes de fichiers de la mention du fichier COPYING.txt 4 weeks ago
urls docs: Nettoyer les entêtes de fichiers de la mention du fichier COPYING.txt 4 weeks ago
.gitignore feat(dev-tools): Mise en place phpcs+phpstan (#4748) 1 year ago
CHANGELOG.md docs(changelog): Suppression des entrées reportées en SPIP 4.1 et publiées. 2 weeks ago
README.md Introduction du Readme 9 months ago
TODO.md fix: md du todo 6 months ago
composer.json Indication du require à PHP + 7.4 par défaut + up de phpstan 1 year ago
forum_administrations.php docs: Nettoyer les entêtes de fichiers de la mention du fichier COPYING.txt 4 weeks ago
forum_autoriser.php docs: Nettoyer les entêtes de fichiers de la mention du fichier COPYING.txt 4 weeks ago
forum_fonctions.php docs: Nettoyer les entêtes de fichiers de la mention du fichier COPYING.txt 4 weeks ago
forum_ieconfig.php feat(dev-tools): Mise en place phpcs+phpstan (#4748) 1 year ago
forum_pipelines.php docs: Nettoyer les entêtes de fichiers de la mention du fichier COPYING.txt 4 weeks ago
paquet.xml build: future version 3.2.0 pour SPIP 4.3+ 2 weeks ago
phpcs.xml.dist feat(dev-tools): Mise en place phpcs+phpstan (#4748) 1 year ago
phpstan-baseline.neon chore: Up PHPStan baseline 3 weeks 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      ----+