Translations of this page: en bg cs de fi fr hu it ja pl ru tr zh

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

  1. Download the latest revision of PunBB 1.3.
  2. Copy/upload all contents of the archive into the directory served by your web server (e.g. /home/user/example.com/punbb/).
  3. 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

  1. 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 download pun_bbcode extension. To install the extension the file /home/user/example.com/punbb/extensions/pun_bbcode/manifest.xml should exist.
  2. 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.
  3. 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

FIXME 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.
  1. Download PunBB 1.3 and extract the archive on your hard disk.
  2. Replace your old 1.2 directory with the contents of the 1.3 archive. Keep old config.php and img/avatars dir. E.g. if you have 1.2 installed into www/punbb/ and forum URL is http://example.com/punbb/. You may use the next steps:
    1. Rename old www/punbb/ to www/punbb_old/
    2. Create new directory www/punbb/ and put PunBB 1.3 there.
    3. Copy /www/punbb_old/config.php to new www/punbb/ and /www/punbb_old/img/avatars to /www/punbb/img/avatars.
  3. 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

  1. Rename file .htaccess.dist in the root of your forum to .htaccess.
  2. Go to Administration ⇒ Settings (/admin/settings.php?section=setup), find URL Scheme section there.
  3. 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 (FIXME 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" -->

Personal Tools