phpBB2HTML - Script to convert a phpBB forum into static pages

Each forum thread becomes an HTML page containing the message and the name of the author.

The script is extensible and can contain all the information provided by the database.

The generated HTML page looks like this:

Conversion d'un forum en pages HTML

In fact, the appearance depends on the css file.

SQL access to content of the forum

The name of each table is preceded by the contents of the variable $table_prefix. We use three tables in the database.

topics

topic_id   topic_title ... topic_moved_id
# thread   Title   0 but if moved

What we are interested in the thread table is the title of the topic, so the topic_title field, and the field topic_moved_to to be 0 if the thread is not moving, otherwise it is ignored.

The date is used in the query to rank the threads in chronological order when you select a set at once.

The request to read data from topic table:

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 of the author Content   # thread

To read the posts in a thread, we use this query:

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

Then the date is formatted according to the variable $dateformat. We could also use the default_dateformat field in the config table.

users

From the id of the author of a post in the posts table, we get its name in the users table.

... user_id ... username ...
  The author ID matches poster_id in posts   Author name  

This requires an additional request:

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

Installation and use

Download the archive and extract the contents to a local directory.

Four files including phpbb2html.php must be installed on the site containing the forum, at the root, in the directory containing the file config.php.

You can rename the script. This is recommended.

The script is run from the browser by typing the URL of the forum, for example:

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

The interface that appears to specify the thread id or all threads in an interval between two numbers.

Static pages are created in the same directory and URL of the pages are now displayed in the interface. Click on a title to see the generated page.

Download the script: