phpBB2HTML - Script pour convertir un forum phpBB en pages statiques

Chaque thread du forum devient une page HTML contenant les messages et le nom de l'auteur.

Le script est extensible et peut contenir toutes les informations fournies par la base de donnée.

La page HTML générée ressemblera à ceci:

Conversion d'un forum en pages HTML

L'accès par SQL au contenu du forum

Le nom de chaque table est précédé du contenu de la variable $table_prefix. Nous utilisons trois tables de la base de données.

topics

topic_id   topic_title ... topic_moved_id
No du fil   Titre du fil   0 si non déplacé

Ce qui nous intéresse dans la table des threads, c'est le titre du topique, donc le champ topic_title, et le champ topic_moved_to qui doit être 0 si le sujet n'est pas déplacé, sans quoi il est ignoré.

La date est utilisée dans la requête pour classer les threads par ordre chronologique quand on sélectionne un intervalle.

Le requête pour lire les données du ou des threads:

if(intval($starting) == intval($ending))
$condition = "((topic_id = '$starting') AND (topic_moved_id = 0))";
else
$condition = "((topic_id >= '$starting') AND (topic_id <= '$ending') AND (topic_moved_id = 0))";

SELECT topic_id, topic_title, topic_moved_id FROM $tabletopics WHERE $condition ORDER BY topic_time ASC

posts

... post_time poster_id post_text ... topic_id
  Date Id de l'auteur Contenu   No du fil

Pour lire les billets d'un thread, on utilise cette requête:

SELECT poster_id, post_text, post_time FROM $tableposts WHERE topic_id='$id' 

La date est ensuite formatée selon la variable $dateformat. On pourrait utiliser aussi le champ default_dateformat dans la table config.

users

A partir de l'id de l'auteur d'un billet dans la table posts, on obtient son nom dans la table users.

... user_id ... username ...
  Id de l'auteur correspond à poster_id dans posts   Nom de l'auteur  

Cela requiert une requête supplémentaire:

SELECT user_id, username FROM $tableusers WHERE user_id='$posterid'

Installation et utilisation

Télécharger l'archive et extraire le contenu dans un répertoire local.

Les quatre fichiers dont phpbb2html.php doivent être installé sur le site contenant le forum, à la racine de celui-ci, dans le répertoire contenant le fichier config.php.

Vous pouvez renommer le script. C'est conseillé.

Le script est lancé à partir du navigateur en tapant l'url du forum, exemple:

http://www.example.com/forum/phpbb2html.php

L'interface qui s'affiche permet d'indiquer le numéro du thread ou un intervalle de tous les threads entre deux numéros.

Les pages statiques sont créées dans le même répertoire et les URL des pages sont affichées dans l'interface. Cliquez sur un titre pour voir la page générée.

Télécharger le script: