Eléphant du PHP |
398 Messages
13 sept. 2010, 20:46
Bonjour,
Je n'ai pas beaucoup de temps à consacrer au développent de FonfonBlog en ce moment mais j'avance petit à petit

. J'ai profité d'une offre OVH (hebergement + DNS gratuit pendant 2 ans) pour avoir mon propre serveur.
La nouvelle adresse est :
www.fonfonland.fr .
Je compte faire une fois l'appli finie, un site "vitrine" sur l'adresse citée ci-dessus et une démo online de l'appli sur par exemple demo.fonfonland.fr. Mais bon avant ça j'ai encore quelques bugs à régler et surtout debuuger la connexion OpenID.
Voici mon code actuellement :
function connexOpenid(){
function __autoload($class){
$split = split('_', $class);
include_once OPENID . "Auth/OpenID/${split[2]}.php";
}
require_once(OPENID . 'Auth/OpenID/SReg.php');
$store = new Auth_OpenID_FileStore(TMP);// new Auth_OpenID_FileStore(STORAGE);
$consumer = new Auth_OpenID_Consumer($store);
$authRequest = $consumer->begin($_POST['loginConnexionOpenId']);
$sreg = Auth_OpenID_SRegRequest::build(array('login'), array('fullname', 'email'));
$authRequest->addExtension($sreg);
$redirectUrl = $authRequest->redirectURL(URL_OPENID, RETURN_URL_OPENID);
if($redirectUrl != null){
$this->connexionOpenIdVerif();
}
}
Si c est bon, je fais le lien avec les informations de l user :
function connexionOpenIdVerif(){
function __autoload($class){
$split = split('_', $class);
include_once OPENID . "Auth/OpenID/${split[2]}.php";
}
$store = new Auth_OpenID_FileStore(STORAGE);
$consumer = new Auth_OpenID_Consumer($store);
$result = $consumer->complete(RETURL_URL);
if($result->status == Auth_OpenID_SUCCESS){
$this->m_nAccessBD->connexion();
$sRequete = 'SELECT
u.*,
l.lib_level
FROM ' . $this->m_nAccessBD->__getTable() . ' u
LEFT JOIN ' . PFX . 'r_type_levels l
ON u.id_level = l.code_level
WHERE u.UriOpenId = \''.$_POST['loginConnexionOpenId'].'\'';
$rResultReq = $this->m_nAccessBD->requete($sRequete);
$this->m_nAccessBD->deconnexion();
$this->m_aLogin = array();
$this->m_aLogin = $this->m_nAccessBD->recupDonnesRequete($rResultReq);
$validation = $this->m_aLogin[0]->validation;
$banissement= $this->m_aLogin[0]->bannissement;
if(!empty($validation)){
if($banissement == 2){
switch($validation){
case 1 :
$this->m_bUserOK = FALSE;
$this->__destruct();
$this->m_bMessage = '<div class="msg_err"><p>Votre inscription n\'a pas encore été validée par l\'administrateur.</p></div>';
break;
case 2 :
$this->m_bUserOK = TRUE;
$_SESSION['utilisateur']['id'] = $this->m_aLogin[0]->id_user;
$_SESSION['utilisateur']['autorisation'] = $this->m_aLogin[0]->validation;
$_SESSION['utilisateur']['code_level'] = $this->m_aLogin[0]->id_level;
$_SESSION['utilisateur']['level'] = $this->m_aLogin[0]->lib_level;
$_SESSION['utilisateur']['pseudo'] = $this->m_aLogin[0]->pseudo;
$_SESSION['utilisateur']['mail'] = $this->m_aLogin[0]->mail;
$_SESSION['utilisateur']['avatar'] = $this->m_aLogin[0]->url_avatar;
//$_SESSION['connex'] = urlencode(serialize($this));
$this->m_bMessage = '<div class="msg_ok"><p>Vous êtes maintenant connecté avec votre identifiant OpenID</p></div>';
$this->m_nAccessBD->gestion_log(date("d/m/Y H:i", time()) . ' Connexion OpenId utilisateur de ' . $this->m_aLogin[0]->pseudo);
}
}elseif($banissement == 1){
$this->m_bUserOK = FALSE;
$this->__destruct();
$this->m_bMessage = '<div class="msg_err"><p>Vous avez été banni par l\'administrateur.</p></div>';
}
}
}else{
$this->m_bMessage = '<div class="msg_err"><p>La connexion OpenID a échouée.</p></div>';
}
}
Mais ça bug à ce niveau :
Fatal error: Call to a member function toMessage() on a non-object in /homez.379/fonfonla/www/app/libraries/openid-php-janrain/Auth/OpenID/Consumer.php on line 1773
Soit dans la premiere methode quand je fais appel à : $authRequest->addExtension($sreg);
Je captes pas là j'avoue :/
----------------------------------------------------------------------------------
https://astro-otter.space - Discover wonders and mysteries of Universe