IMPORTANT NOTICE: create backups BEFORE applying this mod to your applications!Index- Introduction
- Demo
- List of changed files
- Installation
- Notes
- Known issues
- Version history
- Extras
IntroductionThis mod allows to use both 4images and phpBB application transparently for users as they are one application. Registration and login are handling by the phpBB app, users are creating into 4images database “on-the-fly”, on first request of any of the 4images pages by logged in user.
Demohttp://bridge.boxup.us/4images (ver. 1.7.7) + phpBB (ver. 3.0.7)
updated on 4th March 2010List of changed filesNew files:
includes/phpbb.php
includes/phpbb_sessions.php
Modified:
config.php
includes/sessions.php
includes/page_header.php
admin/admin_global.php
admin/index.php
templates/default/user_loginform.html
InstallationStep 1. New filesDownload new files and place them:
a)
phpbb.php into includes directory;
b)
phpbb_sessions.php into includes directory.
Step 2. config.phpAdd at the end of the file, before “?>” symbols:
define('PHPBB3_BRIDGE_ON', true);
define('PHPBB3_PATH', realpath(realpath(dirname(__FILE__)).'<phpbb_root>').'/');
define('PHPBB3_URL', '<phpbb_url>');
Where:
<phpbb_root> is relative path from the 4images’ root to phpBB root. For example, if you have installed both apps at the same directory on your server and your phpBB is located into ‘phpBB’ directory, type there: “/../phpBB/” (without quotes). Note, on some servers small and caps letters are differ, so put it exactly as it named.
<phpbb_url> is your phpBB installation relative to the root of server url, as users type it’s address in their web-browsers.
Step 3. includes/sessions.phpLocate somewhere around line 178:
function login($user_name = "", $user_password = "", $auto_login = 0, $set_auto_login = 1) {
Replace with:
function login($user_name = "", $user_password = "", $auto_login = 0, $set_auto_login = 1, $do_md5 = true) {
Locate somewhere around line 191:
$user_password = md5($user_password);
Replace with:
if($do_md5 == true) $user_password = md5($user_password);
Locate somewhere around line 418:
// Get Userinfo
$session_info = $site_sess->return_session_info();
$user_info = $site_sess->return_user_info();
Add following code after:
include_once(realpath(dirname(__FILE__)).'/phpbb.php');
Step 4. includes/page_header.phpLocate:
Copyright © 2002-'.date('Y').' <a href="http://www.4homepages.de" target="_blank">4homepages.de</a>
</p>
',
Add following code right after:
"login_user_name_form_field" => (!empty($login_user_name_form_field)) ? $login_user_name_form_field : 'user_name',
"login_user_password_form_field" => (!empty($login_user_password_form_field)) ? $login_user_password_form_field : 'user_password',
"login_auto_form_field" => (!empty($login_auto_form_field)) ? $login_auto_form_field : 'auto_login',
"login_additional_form_fields" => (!empty($login_additional_form_fields)) ? $login_additional_form_fields : '',
Step 5. admin/admin_global.phpLocate:
// Include default languages
Add following code before:
// Default form
$login_admin_form_action = $site_sess->url(ROOT_PATH."admin/index.php");;
$login_admin_name_form_field = 'loginusername';
$login_admin_password_form_field = 'loginpassword';
$login_admin_additional_form_fields = '';
// Overwrite form if necessary
if(defined('PHPBB3_BRIDGE_ON') && PHPBB3_BRIDGE_ON === true){
$login_admin_form_action = $site_sess->url(PHPBB3_URL."ucp.php?mode=login");
$login_admin_name_form_field = 'username';
$login_admin_password_form_field = 'password';
$login_admin_additional_form_fields = '<input type="hidden" name="redirect" value="'.$_SERVER['REQUEST_URI'].'" /><input type="hidden" name="login" value="Login" />';
}
Locate:
<form action="<?php echo $site_sess->url(ROOT_PATH."admin/index.php"); ?>" method="post">
Replace with:
<form action="<?php echo $login_admin_form_action; ?>" method="post">
<?php echo $login_admin_additional_form_fields; ?>
Locate:
<td><input type="text" name="loginusername" size="<?php echo $textinput_size2; ?>"></td>
<td><input type="password" name="loginpassword" size="<?php echo $textinput_size2; ?>"></td>
Replace with:
<td><input type="text" name="<?php echo $login_admin_name_form_field; ?>" size="<?php echo $textinput_size2; ?>"></td>
<td><input type="password" name="<?php echo $login_admin_password_form_field; ?>" size="<?php echo $textinput_size2; ?>"></td>
Step 6. admin/index.phpLocate (at around lines 60-70):
if ($action == "head") {
?>
<html dir="<?php echo $lang['direction']; ?>">
Add following code right between “if ($action == "head") {“ and “?>”:
// switch back admin logout url if no integration
if(!defined('PHPBB3_BRIDGE_ON') || PHPBB3_BRIDGE_ON !== true){
$url_logout = $site_sess->url(ROOT_PATH."admin/index.php?logout=1");
}
Locate:
<td align="right"><b><a href="<?php echo $site_sess->url(ROOT_PATH."index.php"); ?>" target="_blank"><?php echo $lang['goto_homepage']; ?></a> | <a href="<?php echo $site_sess->url(ROOT_PATH."admin/index.php?logout=1"); ?>" target="_top"><?php echo $lang['logout']; ?></a> </b></TD>
Replace with:
<td align="right"><b><a href="<?php echo $site_sess->url(ROOT_PATH."index.php"); ?>" target="_blank"><?php echo $lang['goto_homepage']; ?></a> | <a href="<?php echo $url_logout; ?>" target="_top"><?php echo $lang['logout']; ?></a> </b></TD>
Step 7. templates/default/user_loginform.htmlLocate:
<input type="text" size="10" name="user_name" class="logininput" />
Replace with:
<input type="text" size="10" name="{login_user_name_form_field}" class="logininput" />
Locate:
<input type="password" size="10" name="user_password" class="logininput" />
Replace with:
<input type="password" size="10" name="{login_user_password_form_field}" class="logininput" />
{login_additional_form_fields}
Locate:
<td><input type="checkbox" name="auto_login" value="1" /></td>
Replace with:
<td><input type="checkbox" name="{login_auto_form_field}" value="1" /></td>
NotesPlease make sure when installing applications you have admin account on both with the same user name and password.
Make sure you checked the topic
http://www.4homepages.de/forum/index.php?topic=23892 for the vBulletin bridge, since both bridges are using the same way to work with 4images some questions may be already answered there.
Known issuesKnown not to be working if phpBB configured to use mysql driver. Use mysqli instead (
http://php.net/manual/en/mysqli.overview.php).
phpBB_installation_path/config.php
$dbms = 'mysqli';
When switching bridge off users can’t login to 4images anymore from the native 4images form. However they still exist in 4images database and could request for new password.
After logging off user will be returned to the main page of the forum installation instead of page he was browsing previously.
Version history0.1 - initial release
0.2 - fixes issue with emptying email address (
http://www.4homepages.de/forum/index.php?topic=26013.msg143497#msg143497)
0.3 - fixes issue with wrong register date
0.4 - attempt to fix "blank page" issue (4 Mar 2010)
ExtrasDownloadable already modded 4images archive.
Downloadable this instruction in printer friendly pdf.
If you wish to integrate Joomla 1.5, phpBB 3.0 and 4images -- use RokBridge between Joomla and phpBB as known works altogether just fine. Thanks to
wingnut for finding it out.
Extending 4images comments with avatars from phpBB from
alexeyn1:
http://www.4homepages.de/forum/index.php?topic=26013.msg143497#msg143497Known to work without any issues with Wordpress 3.0.1 (
http://www.wp-united.com/get-wp-united/) plugin. Thanks to
Benny for finding (
http://www.4homepages.de/forum/index.php?topic=26013.msg152103#msg152103).
For downloads please refer to the original post on forum at
http://www.4homepages.de/forum/