This is an old revision of the document!
PunBB 1.3 Frequently Asked Questions
If you don't find the answer to your question here (or it doesn't work for you) and PunBB Forums search results nothing, then you should create new topic in PunBB 1.3 troubleshooting forum.
Installation
Requirements
- A webserver (preferably Apache).
- PHP 4.3.0 or later (PHP 5 included).
- A database where forum data is to be stored: MySQL 4.1.2 or later, PostgreSQL 7.0 or later or SQLite 2 (SQLite 3 is not supported).
Steps to install PunBB 1.3
- Copy/upload all contents of the archive into the directory served by your web server (e.g.
/home/user/example.com/punbb/
). - Open forum index (e.g.
http://example.com/forum/index.php
in your browser) and follow the instructions.
See also: Steps to getting PunBB 1.3 to work on SourceForge.net.
Extension installation
- Download an extension archive from the PunBB extensions repository or other place. Extract it into your forum’s extensions directory. E.g. your forum root is
/home/user/example.com/punbb/
and you downloadpun_bbcode
extension. To install the extension the file/home/user/example.com/punbb/extensions/pun_bbcode/manifest.xml
should exist. - Log into the forum and go to Administration ⇒ Extensions (
http://example.com/punbb/admin/extensions.php?section=install
). The downloaded extension should be listed there. - Click the
Install extension
and follow instructions.
NOTE: You may use the pun_admin_repository extension to download and install extension with one click. |
Differences from PunBB 1.2
To be done.
Migration from PunBB 1.2
Follow these instructions to migrate from your current PunBB 1.2.* installation to 1.3.
NOTE: Make a backup of your current forum directory before proceeding. Also, don't forget to make a backup of your forum database. Use the tool mysqldump for MySQL and pg_dump if you are using PostgreSQL. If you're using SQLite, just make a backup copy of the SQLite database file. You can also make database backups via most administration tools such as MySQL Administrator, phpMyAdmin and phpPgAdmin. |
- Download PunBB 1.3 and extract the archive on your hard disk.
- Replace your old 1.2 directory with the contents of the 1.3 archive. Keep old
config.php
andimg/avatars
dir. E.g. if you have 1.2 installed intowww/punbb/
and forum URL ishttp://example.com/punbb/
. You may use the next steps:- Rename old
www/punbb/
towww/punbb_old/
- Create new directory
www/punbb/
and put PunBB 1.3 there. - Copy
/www/punbb_old/config.php
to newwww/punbb/
and/www/punbb_old/img/avatars
to/www/punbb/img/avatars
.
- Open forum index and follow instructions.
Integration
Forum integration is very useful when you want to use the same database for your website as the forum one or if you want to execute some tasks that require the user to be a part of a certain usergroup. Integration possibilities together with code examples can be found at: PunBB 1.3 integration.
URL schemes
PunBB 1.3 natively supports URL rewriting, including SEF URLs.
How to enable URL rewriting
- Rename file
.htaccess.dist
in the root of your forum to.htaccess
. - Go to Administration ⇒ Settings (
/admin/settings.php?section=setup
), findURL Scheme
section there. - Choose the URL scheme you like and save changes.
Database helpers
On include/common.php
inclusion, the proper implementation of database layer class is being also included according to forum configuration.
An instance of this database layer named $forum_db
is being created in global scope to provide database helpers.
How to perform a query
- Direct query. You can simply write an SQL-statement and execute it.
$result = $forum_db->query('SELECT * FROM topics WHERE id = 10');
Be sure, that your SQL code is cross-compatible with all database engines supported by PunBB.
- Using query builder. You may transparently build database queries. All the specific of database engines and database structure will automatically be taken in account. Example of usage ( make it more informative):
$query = array( 'SELECT' => '*', 'FROM' => 'topics', 'WHERE' => 'id = 10' ); $result = $forum_db->query_build($query);
See query builder page for details.
How to work with query results
For example, we have this query:
$query = array( 'SELECT' => 't.id, t.poster, t.subject, t.posted', 'FROM' => 'topics AS t', 'WHERE' => 't.forum_id = 1' ); $result = $forum_db->query_build($query) or error(__FILE__, __LINE__);
- To know how many rows this query returns, use this:
$forum_db->num_rows($result);
- To fetch the current row to associative array:
$data = $forum_db->fetch_assoc($result); //An example of getting topic_id $topic_id = $data['id'];
- To fetch the current row to numeric array:
$data = $forum_db->fetch_row($result); //An example of getting topic_id $topic_id = $data[0];
- To fetch only some values from the current row:
//This code will fetch only the topic id and the topic subject list($id,, $subject,) = $forum_db->fetch_row($result);
- To process all rows in a set you can use this code:
while ($cur_row = $forum_db->fetch_assoc($result)) { //Actions with $cur_row }
Template customization
How to include my file into *.tpl?
Use the forum_include “file.ext”
substitute to include the file <FORUM_ROOT>/include/user/file.ext
:
<!-- forum_include "file.ext" -->