Integration in Zend
Verfasst: 04.09.2011 14:51
Hallo,
Ich möchte phpBB in mein Zend-Projekt integrieren. Dafür habe ich phpBB in den 'public' Ordner von Zend als Unterordner 'forum' installiert. Ich möchte nun in meinem Zend Projekt die Benutzeraccounts des phpBB nutzen.
Dafür habe ich zunächst in der index.php den Forenpfad gesetzt:
In meinem Usercontroller behandle ich nun ein kleines Login-Form:
Nun, der Code gibt mir erfolgreich den Benutzer zurück, und erstellt die Session, inklusive Cookies von phpBB. Gehe ich aber von meinem aktuellen Pfad, also z.b. http://meinedomain.de/user/login nach http://meinedomain.de/forum ist der Benutzer nicht im phpBB wie gedacht eingeloggt. Nun stelle ich mir die Frage woran das liegt. (Die Cookies sind es mmn nach nicht, das der cookie für die gesamte domain gilt).
Ich möchte phpBB in mein Zend-Projekt integrieren. Dafür habe ich phpBB in den 'public' Ordner von Zend als Unterordner 'forum' installiert. Ich möchte nun in meinem Zend Projekt die Benutzeraccounts des phpBB nutzen.
Dafür habe ich zunächst in der index.php den Forenpfad gesetzt:
Code: Alles auswählen
// Define path to forum directory
defined('FORUM_PATH')
|| define('FORUM_PATH', realpath(dirname(__FILE__) . '/forum'));
Code: Alles auswählen
$params = $this->getRequest()->getParams();
// phpBB3 Initialisierung
global $phpbb_root_path, $phpEx, $user, $db, $config, $cache, $template;
define('IN_PHPBB', true);
define('PHPBB_INSTALLED',true);
$phpbb_root_path = FORUM_PATH . '/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
$phpBBFile = $phpbb_root_path . 'common.' . $phpEx;
require_once $phpBBFile;
$auth = new auth();
$user = $auth->login($params['user'], $params['pw'],true);
if (!$user['error_msg']) {
require_once $phpbb_root_path . 'includes/session.' . $phpEx;
$session = new session();
$session->session_begin();
try {
$session->session_create($user['user_id']));
} catch (Exception $e) {
echo $e->getMessage();
}
}