4images Modifications / Modifikationen > Mods & Plugins (Releases & Support)
[MOD] Bridge: 4images 1.7.7 - phpBB 3.0.5+
denisnovikov:
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
Introduction
This 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.
Demo
http://bridge.boxup.us/
4images (ver. 1.7.7) + phpBB (ver. 3.0.7) updated on 4th March 2010
List of changed files
New 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
Installation
Step 1. New files
Download new files and place them:
a) phpbb.php into includes directory;
b) phpbb_sessions.php into includes directory.
Step 2. config.php
Add at the end of the file, before “?>” symbols:
--- Code: ---define('PHPBB3_BRIDGE_ON', true);
define('PHPBB3_PATH', realpath(realpath(dirname(__FILE__)).'<phpbb_root>').'/');
define('PHPBB3_URL', '<phpbb_url>');
--- End code ---
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.php
Locate somewhere around line 178:
--- Code: ---function login($user_name = "", $user_password = "", $auto_login = 0, $set_auto_login = 1) {
--- End code ---
Replace with:
--- Code: ---function login($user_name = "", $user_password = "", $auto_login = 0, $set_auto_login = 1, $do_md5 = true) {
--- End code ---
Locate somewhere around line 191:
--- Code: ---$user_password = md5($user_password);
--- End code ---
Replace with:
--- Code: ---if($do_md5 == true) $user_password = md5($user_password);
--- End code ---
Locate somewhere around line 418:
--- Code: ---// Get Userinfo
$session_info = $site_sess->return_session_info();
$user_info = $site_sess->return_user_info();
--- End code ---
Add following code after:
--- Code: ---include_once(realpath(dirname(__FILE__)).'/phpbb.php');
--- End code ---
Step 4. includes/page_header.php
Locate:
--- Code: ---Copyright © 2002-'.date('Y').' <a href="http://www.4homepages.de" target="_blank">4homepages.de</a>
</p>
',
--- End code ---
Add following code right after:
--- Code: ---"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 : '',
--- End code ---
Step 5. admin/admin_global.php
Locate:
--- Code: ---// Include default languages
--- End code ---
Add following code before:
--- Code: ---// 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" />';
}
--- End code ---
Locate:
--- Code: ---<form action="<?php echo $site_sess->url(ROOT_PATH."admin/index.php"); ?>" method="post">
--- End code ---
Replace with:
--- Code: ---<form action="<?php echo $login_admin_form_action; ?>" method="post">
<?php echo $login_admin_additional_form_fields; ?>
--- End code ---
Locate:
--- Code: ---<td><input type="text" name="loginusername" size="<?php echo $textinput_size2; ?>"></td>
<td><input type="password" name="loginpassword" size="<?php echo $textinput_size2; ?>"></td>
--- End code ---
Replace with:
--- Code: ---<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>
--- End code ---
Step 6. admin/index.php
Locate (at around lines 60-70):
--- Code: ---if ($action == "head") {
?>
<html dir="<?php echo $lang['direction']; ?>">
--- End code ---
Add following code right between “if ($action == "head") {“ and “?>”:
--- Code: ---// 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");
}
--- End code ---
Locate:
--- Code: ---<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>
--- End code ---
Replace with:
--- Code: ---<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>
--- End code ---
Step 7. templates/default/user_loginform.html
Locate:
--- Code: ---<input type="text" size="10" name="user_name" class="logininput" />
--- End code ---
Replace with:
--- Code: ---<input type="text" size="10" name="{login_user_name_form_field}" class="logininput" />
--- End code ---
Locate:
--- Code: ---<input type="password" size="10" name="user_password" class="logininput" />
--- End code ---
Replace with:
--- Code: ---<input type="password" size="10" name="{login_user_password_form_field}" class="logininput" />
{login_additional_form_fields}
--- End code ---
Locate:
--- Code: ---<td><input type="checkbox" name="auto_login" value="1" /></td>
--- End code ---
Replace with:
--- Code: ---<td><input type="checkbox" name="{login_auto_form_field}" value="1" /></td>
--- End code ---
Notes
Please 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 issues
Known 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
--- Code: ---$dbms = 'mysqli';
--- End code ---
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 history
0.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)
Extras
Downloadable 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#msg143497
Known 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/
kai:
Did anyone implemented this integration?
denisnovikov:
Updated the first post with link to demo.
tramfahrer:
Hallo,
scheint ja wirklich zu funktionieren, wie ist es aber wenn man bereits 4 Images und phpbb3 zu laufen hat, und jeweils unterschiedliche User in beiden Userdatenbanken vorhanden sind??
gehen evtl welche verloren?? müssen sich einige User neuregistrieren die jetz nur in der Galerie sind, aber nicht im Forum und umgekehrt??
gibt es da schon Erfahrungswerte?
Viele Grüße
Tobias
denisnovikov:
--- Quote from: tramfahrer on October 19, 2009, 03:36:51 PM ---Hallo,
scheint ja wirklich zu funktionieren, wie ist es aber wenn man bereits 4 Images und phpbb3 zu laufen hat, und jeweils unterschiedliche User in beiden Userdatenbanken vorhanden sind??
gehen evtl welche verloren?? müssen sich einige User neuregistrieren die jetz nur in der Galerie sind, aber nicht im Forum und umgekehrt??
gibt es da schon Erfahrungswerte?
--- End quote ---
Привет,
Если у тебя были пользователи в phpBB и ты ставишь 4images "с нуля", то ничего делать не надо, пользователи перенесутся автоматически в 4images. Если у тебя уже есть 4images и ты хочешь добавить phpBB, то тебе стоит подождать немного, у меня есть в планах разработка скрипта похожего на vBulletin user export ( http://www.4homepages.de/forum/index.php?topic=23892.0 ).
8O
Navigation
[0] Message Index
[#] Next page
Go to full version