En vous promenant sur Beamreactor, nous stockons votre IP 48h pour des raisons de sécurité.

Lecteur Markdown

guestbook Documentation › GUESTBOOK_DOCUMENTATION_FR

Guestbook Documentation Fr

BeamReactor — Module guestbook (Livre d'or) #

Version : 5.2.0

Auteur : Treveur Bretaudière

Depuis : 2002

Dernière mise à jour : 2026-02-11

Présentation

Le module guestbook est un livre d'or permettant aux utilisateurs de laisser des messages publics. Il inclut la modération, la protection anti-flood, la validation des entrées, et la pagination.

Prérequis

  • La table guestbook doit exister en base (vérification via sql_table_exists()).
  • Accès de niveau GUESTBOOK_LEVEL_USER pour poster.
  • Accès de niveau GUESTBOOK_LEVEL_MODERATOR pour supprimer.
  • Classes Beamreactor\Database\SQL et Beamreactor\Sanitizer\Parser.

Table de données

Table : guestbook

| Champ | Description |

|---|---|

| id | Identifiant unique (auto-increment) |

| name | Nom de l'auteur |

| email | Adresse email |

| website | Site web (optionnel) |

| country | Pays (sélection depuis une liste statique) |

| message | Contenu du message |

| time | Date de publication |

| ip | Adresse IP (via ipCheck()) |

Fonctionnement

Anti-flood #

Avant tout traitement, le module vérifie la dernière entrée depuis la même IP. Si moins de 10 secondes se sont écoulées, un message est affiché et le module fait return.

Suppression (modération) #

Un utilisateur de niveau GUESTBOOK_LEVEL_MODERATOR peut supprimer une entrée via le paramètre GET gbdelentry. Confirmation JavaScript côté client.

Ajout de message #

Le formulaire est affiché si l'utilisateur a le niveau GUESTBOOK_LEVEL_USER. L'action d'ajout est déclenchée quand le submit correspond à $dialgb[16].

| Champ | Contrôle |

|---|---|

| name | Obligatoire, Parser::sanitize($str, 'string', maxLength: 40) |

| email | Obligatoire, sanitisé via Parser::sanitize($str, 'email'), validé via Parser::check() |

| website | Optionnel, Parser::sanitize($str, 'string', maxLength: 120), valeur 'none' traitée comme vide |

| country | Obligatoire, doit différer de la valeur par défaut du select ($dialgb[6]) |

| message | Obligatoire, minimum 10 caractères, Parser::sanitize($str, 'string', maxLength: 1000) |

Le formulaire pré-remplit l'email depuis la session et conserve les valeurs saisies en cas d'erreur.

Affichage des messages #

Messages affichés par ordre décroissant d'ID, 10 par page. Chaque entrée montre le nom, le lien site web (si présent, préfixé http://), le pays, la date, et le message. Le lien de suppression [X] n'apparaît que pour les modérateurs.

Pagination #

Paramètre GET gbpage. Navigation précédent/suivant.

Liste des pays

Le module embarque une liste statique d'environ 250 pays/territoires dans un tableau PHP $countries, incluant quelques entrées non-standard (Armor Breizh, Catalunya, Corsica, Scotland, les océans).

Configuration

| Constante | Rôle |

|---|---|

| GUESTBOOK_LEVEL_USER | Niveau minimum pour poster |

| GUESTBOOK_LEVEL_MODERATOR | Niveau minimum pour supprimer |

de en fr