Ich habe den Login des Forum in einer Community folgendermaßen eingebaut:
Code: Alles auswählen
// Forenlogin Start
// phpBB Scripte einbinden
$phpbb_root_path = './forum/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
// phpBB Session starten
$userdata = session_pagestart($user_ip, PAGE_INDEX);
// Ist der User aus dem Forum ausgeloggt?
if ( $userdata['user_id'] == ANONYMOUS || $userdata['session_user_id'] == ANONYMOUS )
{
// Sicherheitscheck ob der User auch in der ForenDB existiert
$phpbb_sql = "SELECT user_id FROM " . USERS_TABLE . "
WHERE comm_id=$comm_id";
$phpbb_query = $db->sql_query($phpbb_sql);
$phpbb_result = $db->sql_fetchrow($phpbb_query);
// Wenn ja, dann im Board einloggen
if ( !empty($phpbb_result['user_id']) )
{
session_begin($phpbb_result['user_id'], $user_ip, PAGE_INDEX, FALSE, TRUE);
// Am Ende alle verwendeten Variablen löschen
unset($phpbb_root_path, $phpbb_sql, $phpbb_query, $phpbb_result, $userdata);
}
}
// Forenlogin Ende
Der Code kommt einfach an die Stelle Deines Login-Scriptes nach erfolgreichem Login in die Community.
Die comm_id ist die Userid des Users in der Community. Dies habe ich als Feld in der phpbb_users mit gespeichert um die Verbindung zwischen der Usertabelle der Community und der Usertabelle des Boards zu schaffen.