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

Lecteur Markdown

blogs Documentation › BLOGS_DOCUMENTATION

BLOGS_DOCUMENTATION

Blogs #

Système de blogs multi-utilisateurs.

Namespace: `Beamreactor\Plugins\Blogs`

Version: 2.2.0

Niveau requis: `BLOGS_LEVEL_USER` (édition), public (lecture)

Vue d'ensemble #

Fonctionnalités #

  • Blogs personnels par utilisateur
  • Éditeur WYSIWYG intégré
  • Génération automatique de tagcloud
  • Pagination des articles
  • Modération par les administrateurs
  • Support multilingue
  • Inclusion en widget (mode `$unfold`)

Modes d'affichage #

| Mode | Description |

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

| Liste globale | Derniers articles de tous les blogs |

| Blog utilisateur | Articles d'un auteur spécifique |

| Article unique | Affichage complet d'un article |

| Widget | Inclusion directe via `$blogger` + `$unfold=1` |

Actions (paramètre `bedit`) #

| Valeur | Action | Niveau requis |

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

| `1` | Créer un nouvel article | `BLOGS_LEVEL_USER` |

| `2` | Modifier un article | Auteur ou `BLOGS_LEVEL_MODERATOR` |

| `3` | Supprimer un article | Auteur ou `BLOGS_LEVEL_MODERATOR` |

| `4` | Suppression modérateur | `BLOGS_LEVEL_MODERATOR` |

Fonctions #

clear_tagcloud #

clear_tagcloud(int $id, string $blogger): void

Paramètres:

  • `$id` — ID de l'article
  • `$blogger` — Identifiant de l'auteur

add_tagcloud #

Génère et insère les tags d'un article.

add_tagcloud(string $titre, string $texte, int $id, string $langage, string $blogger): void

Paramètres:

  • `$titre` — Titre de l'article (pondération x3)
  • `$texte` — Contenu HTML de l'article
  • `$id` — ID de l'article
  • `$langage` — Code langue
  • `$blogger` — Identifiant de l'auteur

Comportement:

  • Extrait le texte brut du HTML
  • Compte les occurrences de chaque mot
  • Filtre : longueur 5-11 caractères, minimum 3 occurrences
  • Stocke dans `blogs_scattags`

Structure des tables #

blogs #

CREATE TABLE blogs (
	id INT AUTO_INCREMENT PRIMARY KEY,
	title VARCHAR(135) NOT NULL,
	authorid VARCHAR(50) NOT NULL,
	doc TEXT,
	date DATETIME,
	moddate DATETIME,
	uniqueid VARCHAR(120),
	INDEX (authorid),
	INDEX (date)
);

blogs_scattags #

CREATE TABLE blogs_scattags (
	id INT AUTO_INCREMENT PRIMARY KEY,
	plugin VARCHAR(50),
	document INT,
	language VARCHAR(5),
	date DATETIME,
	wordsc VARCHAR(50),
	occ INT,
	author VARCHAR(50),
	INDEX (author, document),
	INDEX (wordsc)
);

Paramètres GET #

| Paramètre | Type | Description |

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

| `blogger` | string | Filtre par auteur |

| `blogid` | int | ID d'un article spécifique |

| `blpage` | int | Numéro de page |

| `blimit` | int | Nombre d'articles (défaut: 5) |

| `bedit` | int | Action d'édition |

Paramètres POST #

| Paramètre | Type | Description |

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

| `bedit` | int | Action (1=créer, 2=modifier) |

| `titre` | string | Titre de l'article (max 135 car.) |

| `htmlfeed` | html | Contenu de l'article |

| `id` | int | ID pour modification |

| `uniqueid` | string | Token anti-CSRF |

Inclusion en widget #

Pour afficher un blog directement dans une page :

$blogger = 'username';
$unfold = 1;
include($cfg[18] . '/blogs.php');

Locale #

Clés utilisées dans `$dialbdt`:

| Index | Description |

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

| 0 | Lien tous les blogs |

| 2 | Message création OK |

| 3 | Lien nouvel article |

| 4 | Lien retour |

| 5 | Message modification OK |

| 7 | Bouton supprimer |

| 8 | Bouton modifier |

| 10 | Erreur champs requis |

| 11 | Erreur doublon titre |

| 13 | Séparateur "par" |

| 17 | Titre derniers articles |

| 18 | Titre blogs actifs |

| 19 | Séparateur dernier article |

Permissions #

| Action | Condition |

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

| Lire | Public |

| Créer | `BLOGS_LEVEL_USER` |

| Modifier ses articles | Auteur + `BLOGS_LEVEL_USER` |

| Supprimer ses articles | Auteur + `BLOGS_LEVEL_USER` |

| Modérer tout article | `user_level > 2` |

Exemples d'URL #

# Liste des derniers articles
?obj=blogs.php

# Blog d'un utilisateur
?obj=blogs.php&blogger=johndoe

# Article spécifique
?obj=blogs.php&blogger=johndoe&blogid=42

# Formulaire de création
?obj=blogs.php&bedit=1

# Modifier un article
?obj=blogs.php&bedit=2&id=42

Notes #

  • Le titre est pondéré x3 dans le tagcloud pour améliorer la pertinence
  • Les mots de moins de 5 caractères sont ignorés (stop words implicite)
  • La date de modification (`moddate`) prend le pas sur la date de création pour l'affichage
  • Le champ `uniqueid` sert de token anti-CSRF pour les formulaires
de en fr