Documentation Download as PDF

Forum Integrations

Included Integrations

Caribou includes two forum integrations out-of-the-box. You can connect and protect certain areas of your forums with Caribou if you are using phpBB3 or vBulletin 3. A comparison of the two integrations is below:

Capability phpBB3 vB3
Automatic account creation in forums. Yes Yes
User automatically logged into forums upon Caribou login Yes No
User automatically logged out of forums upon Caribou logout Yes No
Password changes are reflected in forums Yes Yes
Forum group membership synchronized with Caribou group membership upon subscription and expiration Yes Yes

Installing a Forum Integration

Forums must be installed prior to attempting to integrate Caribou CMS into the forum. Caribou will not install the forum software for you. You should download this and install it yourself in the same database in which you will install Caribou prior to installing the integration.

Forums must be installed in the same database as your Caribou CMS installation. This is because Caribou will look up data in your forum’s database tables. If your forum is installed in a database that does not include your Caribou database tables, the integration will not work.

During forum setup, pay particular attention the “Table Prefix” field. This should match the configuration you choose when setting up your forum software. A table prefix is the bit of text that precedes each table name in the database (e.g., with tables like “phpbb_users” and “phpbb_groups”, “phpbb_” is the table prefix). If this is incorrectly configured when installing your Caribou CMS, Caribou won’t be able to find the table names and you’ll get MySQL query-related errors.

If you modify your usergroups or forum structure, simply uninstall the forum integration from Caribou and re-install it. You will then see updated settings in the integrations manager. Not doing so may result in errors.

Writing Forum Integrations

To write a forum integration for Caribou, it is best to load a current integration file to use as a framework. All forum integrations must include the following functions:

  • int_[filename]_install
  • int_[filename]_update
  • int_[filename]_settings
  • int_[filename]_login (argument: array containing keys: [username], [email], [password])
  • int_[filename]_logout (argument: array containing keys [username], [email])
  • int_[filename]_register (argument: array containing keys [username], [email], [password], [firstname], [lastname], [verification], [signupdate], [groupid])
    • signupdate is often “NOW()", the MySQL function.
    • verification is the 5-character verification code necessary for verifiying email addresses. As long as this code exists in the database, the user cannot sign in because they have not yet verified it.
  • int_[filename]_password (argument: array containing keys [username], [email], [password])
  • int_[filename]_subscribe (argument: array containing keys [username], [package])
    • package is the ID of the subscription type and should correlate with a setting that specifies which group is connected with that type
  • int_[filename]_expire (argument: array containing keys [username], [package])