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 #

php
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.

php
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 #

sql
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 #

sql
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 :

php
$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 #

text
# 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