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 10 months ago
action Pas de lien inutile vers code.spip.net 1 year ago
balise Rector sur Forum avec config PHP 7.4 1 year ago
base feat(dev-tools): Mise en place phpcs+phpstan (#4748) 2 years ago
formulaires Utiliser les nouvelles fonctions generer_objet_* 1 year ago
inc Utiliser les nouvelles fonctions generer_objet_* 1 year 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 Les #NOTES doivent aussi passer par texte_backend et liens_absolus - fixes #4755 1 year ago
public Pas de lien inutile vers code.spip.net 1 year ago
urls Utiliser les nouvelles fonctions generer_objet_* 1 year ago
.gitignore feat(dev-tools): Mise en place phpcs+phpstan (#4748) 2 years ago
CHANGELOG.md Ajout d’un Changelog 10 months ago
README.md Introduction du Readme 10 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 1 year ago
forum_administrations.php feat(dev-tools): Mise en place phpcs+phpstan (#4748) 2 years ago
forum_autoriser.php Rector sur Forum avec config PHP 7.4 1 year ago
forum_fonctions.php Rector sur Forum avec config PHP 7.4 1 year ago
forum_ieconfig.php feat(dev-tools): Mise en place phpcs+phpstan (#4748) 2 years ago
forum_pipelines.php boite info auteur : ne pas afficher de lien vers exec controler forum si pas autorisé 1 year ago
paquet.xml Branche compat 4.2 1 year ago
phpcs.xml.dist feat(dev-tools): Mise en place phpcs+phpstan (#4748) 2 years ago
phpstan-baseline.neon Utiliser les nouvelles fonctions generer_objet_* 1 year ago
phpstan.neon.dist feat(dev-tools): Mise en place phpcs+phpstan (#4748) 2 years 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      ----+