Propojení autentizace v nette s PHPBB3

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Nich
Člen | 49
+
0
-

Ahoj, chtěl bych docílit toho, aby se mi přes můj přihlašovací formulář automaticky uživatel přihlásil i do fóra (PHPBB3), takže jsem si udělal inicializační skript, který inicializuje forum a zapne sessiony:

...
...
include($phpbb_root_path . 'common.' . $phpEx);

$user->session_begin();
$auth->acl($user->data);

ten sem si vložil do loader.php (v nette):

require_once '/phpBB3/phpBB.php';

ale v presenteru stále nemůžu přistoupit k objektu $auth. Musím ještě někde něco requirenout? Nějak nemůžu příjit na to jak to udělat :-)

Ot@s
Backer | 476
+
0
-

V bootstrap.php přidej (rozšíření třídy o metodu)

// v $auth je phpBB objekt; BasePresenter nahrad nazvem sveho presenteru, kde s phpBB potrebujes pracovat
BasePresenter::extensionMethod('getPhpBB', function () use ($auth) {
    return $auth;
});

V BasePresenteru (nebo jeho potomcích) v kódu používej prosté $this->getPhpBB(); pro získání auth phpBB (rep. v komponentách $this->presenter->getPhpBB();).

EDIT: require_once '/phpBB3/phpBB.php'; přesuň (do loader.php nepatří) do bootstrap.php za require loader.php.

Editoval Ot@s (30. 7. 2012 7:50)

Nich
Člen | 49
+
0
-

Funguje!!! Celou noc nad tím lámu hůl a řešení je tak jednoduché. Moc dík!