Explanation updated :7 june 2009 (added two pics link)
Last times files updated:24 january 2011
The Joomla 1.5 - Phpbb3 bridge allows to enable visual integration/user integration separately. With user integration, Joomla is master, while phpbb3 is slave. No hacks are necessary on the Joomla side, but on Phpbb3 side, hacks are (hopefully) easy to apply.
Requirement: Php 5 or later.
Get the files right now; but make sure you read instructions after the link.
1- Check your username(s) :
Before you begin, please ensure that the administrator have sameusername (for instance "admin") both in Phpbb side & Joomla side. If that's not the case, please create/rename proper accounts. In fact, if your forum already have lot of registered users, it would be advised that before bridging, the majority of phpbb users already have a corresponding joomla account with same username. You'll see why on step 7.
2 - Create joomphpbb_bridge table :
Unzip . In the folder "others", there's the file joomphpbb.sql an sql instruction. With the help of phpmyadmin (or any other database tool) , you can execute this sql instruction to create the table joomphpbb_bridge under the database used by Phpbb. I insist : this table must be created on forum's database. This step is necessary for user integration. Note: if you already have such table from an older/previous bridge install, recreate-it or make it empty.
3 - Install joomla component :
Still in the "others" folder, there's the component com_phpbb15.zip . Install it in Joomla's backend. Important: In the Joomla menu you want, create an "External link" Item that directly point to your phpbb install (example: http://www.mysite.com/phpbb/). Do not link the Phpbb Component! Remark: the component is required by the bridge even if you don't link to it.
4 - Phbb hacks :
Now hacking some phpbb files. Well , if you're version of phpbb is 3.08 , and unmodded , just look at the folder "phpBB 3.08/hacked" (from the provided zip) and copy everything at the root of your phpbb install. Ensure that every file that already exists are overwritten by the new hacked files (Click for a picture). If your version is not 3.05, or your forum is modded , patching instructions are available here.
5 - Edit configuration of bridge , then copy :
Look at the folder "bridge" (from the provided zip). In this folder edit the file joomphpbb_conf2.php and ensure that the following variables match your current install :
- $joomUrl: link to the root of your Joomla website. (example: http://www.site.com/joom ). No link to index page, just the "base" url.
- $joomRel: relative path from phpbb to your joomla's website. If Phpbb is located in a direct subfolder of Joomla (example, url to access phpbb is: http://www.site.com/joom/phpbb) , then the relative path is ../ (default val) .
- An other example for joomRel : if url of joomla is http://www.site.com/joom and url for phpbb is http://www.site.com/phpbb then the relative path is ../joom/
- I assume that $joomIntegrate is set to zero for the moment
Now copy everything inside folder "bridge" , (including your just edited config file) , on the root of your phppbb install.
6 - Working with Phpbb's Administration Control Panel:
(Click for a picture).
If you haven't done any major mistake yet, the forum should now behaves exactly as if nothing was bridged. The bridging will be activated on last step. Please connect as an admin to phpbb , and go to the Administration Control Panel of Phpbb.
Go to the "Styles" tab, and force bridgesilver to be you default theme. For the sake of simplicity, use this theme now, but in the hack section, you'll see how to use other phpbb themes. You can uninstall any other theme that is not bridgesilver (delete action in Styles panel) , just to ensure that this theme is always used.
Now go back to the "General" tab of phpbb's admin panel. In the left column, look for "Client communication" section, and go to the "authentication" panel. Now in that panel, you have "Select an authentication method" option at top. In the list of authentication methods, choose the one named "Joomla 15". Submit the change.
7- Merging existing Phpbb users to Joomla's user base:
If you just performed a clean install of phpbb without any important user base, you can skip this step. Also if you are not interested by user integration.
Once user integration is enabled, the only way for a visitor to connect to Phpbb, is to register and login in Joomla (Joomla is master). But some Phpbb accounts might already exist before you enable user integration. The bridge will associate to them Joomla user accounts with matching username. Each Joomla/Phpbb user account association done by the bridge is stored in database (joomphpbb_bridge table) and cannot be reversed by visitors. In order to avoid association of Phpbb user account to "non legit" Joomla users (i.e fake identity), you must ensure that every existing Phpbb user have already a corresponding Joomla account with same username.
I provide a script, quickmerge2.php, to quickly merge your Phpbb user base, to your Joomla user base. The script won't affect any already existing Joomla user. Warning! because Phpbb and Joomla store password with different encryptions methods that doesn't allow conversion, the quickmerge2.php script will just give a random password to each Joomla user it will create. That means, that for all these Joomla account created by the script, users will have to use the "Forgot your password?" feature of Joomla.
Here's how to use the quickmerge2.php script. This script is in the folder "others" (from the provided zip) . Unless you are using the same database for Phpbb & Joomla, copy the table phpbb_users from Phpbb database into Joomla database. If your phpbb user table is not named phpbb_users edit first lines of the script. Now take the quickmerge2.php and put in the root of your Joomla install online. Run the script from your browser and then delete it.
8- Enabling the bridge :
Ok here's the last step to enable the bridge. Edit the file joomphpbb_conf2.php at the root of your forum. Give to $joomIntegrate the appropriate value .
- 0 = no integration.
- 1 = visual integration
- 2 = user integration
- 3 = visual & user integration
If you are experimenting problems you can test user/visual integration separately. Also do not miss the FAQ.