Zend Framework : intégration de PHPBB.

Dans le développement de mon site de chasse sous-marine, il y avait un point de développement qui m’a posé souci pendant un bon moment. Je souhaitais avoir une gestion commune des utilisateurs entre le site et le forum. C’est à dire une identification commune, une même gestion des cookies. Je suis parvenu à quelque chose d’assez satisfaisant. Voyons voir comment….

Rendons quand même à César ce qui appartient à « baboune » sur ce fil de discussion : « début de solution ».

Et pour ne pas perdre de temps avec des soucis : ne pas oublier que les cookies ne fonctionnent qu’au niveau du domaine, donc forcément cela marche quand vous faites votre développement sur localhost, Mais si vous avez forum.mondomaine.fr et monsite.mondomaine.com, il y aura un souci. (je le dis parce que je ne suis pas fier d’être tombé dans le panneau. C’est ma redemption)

De plus, n’utilisez plus les noms de variables suivantes : $user, $db, $config, $cache, $template, $auth. Et ceci dans tous vos scripts, ces variables sont des globales utilisées par PHPBB. Pour ces raisons, sur mon site en développement, j’ai désactivée le système de cache dans mon Bootstrap, j’avais des erreurs un peu partout qui faisaient t référence aux scripts de PHPBB.

Et maintenant la classe qui fait tout :

class Model_MyPhpBB {

public function __construct()
{
global $phpbb_root_path, $phpEx, $user, $db, $config, $cache, $template, $auth;

define('IN_PHPBB', true);
$phpbb_root_path = 'forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
$user->session_begin();
foreach ($user as $key => $val)
{
$this->$key = $val;
}
}

public function init()
{

}
public function setIdentity($data){

foreach ($data as $key => $val)
{
$this->$key = $val;
}
}

public function getid()
{
return $user->data['user_id'];
}

public function getusername()
{
return $user->data['username'];
}

public function isRegistred()
{
if ($this->data['is_registered'])
{
return true;
}
else
{
return false;
}
}
}

Et ensuite dans mon controller, j’y place ceci :

define('IN_PHPBB', true);
$phpbb_root_path = 'forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
$this->monUser = new Model_MyPhpBB();

Dans mon cas, j’ai placé ceci dans la méthode init de mon Controller dont tous mes controllers héritent.

A partir de là, vous avez toutes les infos de l’utilisateur vu par PHPBB. Si l’utilisateur n’est pas connecté sur le forum, c’est anonymous qui se proménera sur votre site.

Vous aimez, faites circuler :
  • Digg
  • Facebook
  • Google Bookmarks
  • BlogMemes Fr
  • Blogosphere News
  • MySpace
  • Wikio FR
  • Live
  • Netvibes
  • Scoopeo
  • Yahoo! Buzz

Une Réponse à “Zend Framework : intégration de PHPBB.”

  1. tarrabeach (1 comments) Dit:

    Hey just becoming a member, glad to be in! I’m glad to be right here as a final point, heading to publish seeing that I’ve been reading a prolonged time.

    Sooo anyways, adequate info about me, see you all-around and hello again haha.

    BTW where is the option to make myself have a cool title like some people here have? I always am by my phone but not by my computer, so it would be very helpful for me. Amazing how even a trainer needs so many electronics now!

Laisser une réponse

zend phpbb, phpbb zend, zend framework phpbb, phpbb zend framework, framework phpbb, framework phpbb3, zend cookie config, zend et phpbb, integrate phpbb zend, phpbb with zend,
Get Adobe Flash playerPlugin by wpburn.com wordpress themes