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

Markdown-Reader

notepad Dokumentation › NOTEPAD_DOCUMENTATION

Notepad Documentation

Notepad — Bloc-notes personnel #

Description #

Bloc-notes texte simple, un par utilisateur. Permet de sauvegarder et retrouver des notes persistantes directement depuis l'interface BeamReactor. Pas de formatage riche, pas de catégories — juste du texte brut.

Fonctionnement #

Chaque utilisateur dispose d'une note unique identifiée par un hash MD5 de son nom d'utilisateur et de sa date d'inscription (md5(username + signup_date)). Ce hash sert de clé dans la table notepad.

À la première visite, une entrée vide est créée automatiquement. Les sauvegardes suivantes font un UPDATE si l'entrée existe, un INSERT sinon.

Prérequis #

  • Table SQL notepad (colonnes : user VARCHAR, note TEXT)
  • Session active avec email_address

Interface #

  • Textarea pleine largeur (max 1000px), 20 lignes
  • Boutons Sauvegarder ($dial[8]) et Reset ($dial[9])
  • Compteur de caractères affiché sous le formulaire
  • Message de confirmation après sauvegarde
  • Soumission par formulaire POST classique (pas d'AJAX)

Flux #

1. Chargement : récupération de l'email en session → lookup username et signup_date dans la table users → hash → SELECT dans notepad

2. Sauvegarde : sanitization du contenu via Parser::sanitize (type string, max 65535 caractères) → INSERT ou UPDATE selon existence

3. Affichage : le contenu est échappé via htmlspecialchars dans le textarea

Sécurité #

  • Accès restreint à NOTEPAD_LEVEL_USER
  • Contenu sanitizé via Parser::sanitize($note, 'string', maxLength: 65535)
  • Requêtes SQL préparées
  • Sortie HTML échappée

Note : Le plugin n'est pas encore durci pour un usage en production. L'identification par md5(username + signup_date) est fonctionnelle mais pourrait être remplacée par l'ID utilisateur direct. La protection CSRF n'est pas implémentée. Ces points sont identifiés et prévus.

Structure #

text
/plugins/notepad/
├── notepad.php
├── /conf/
│   └── notepad.conf.inc.php
├── /locale/
│   ├── notepad.en.inc.php
│   └── notepad.fr.inc.php
└── /sql/
    └── notepad.sql

Traductions #

| Clé | Description |

|------------|------------------------------------|

| $dialplugindisplay | Titre du plugin |

| $dialplugincall | Nom dans le centre de contrôle |

| $dialnp[0] | Label du textarea |

| $dialnp[1] | Message de confirmation sauvegarde |

| $dialnp[2] | Label du compteur de caractères |

Changelog #

  • 2.0.3 (2011-05-28) : Migration vers SQL:: et Parser::sanitize, compteur de caractères
  • 0.x (2002–2026) : Bloc-notes original
de en fr