Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » Joomla »

Duda Componente y API facebook en php

Estas en el tema de Duda Componente y API facebook en php en el foro de Joomla en Foros del Web. Hola, estoy intentando hacer un componente que detecte si estas conectado o no a facebook y el problema que no consigo solucionar es que siempre ...
  #1 (permalink)  
Antiguo 29/03/2013, 12:46
 
Fecha de Ingreso: marzo-2012
Mensajes: 43
Antigüedad: 12 años, 1 mes
Puntos: 3
Duda Componente y API facebook en php

Hola, estoy intentando hacer un componente que detecte si estas conectado o no a facebook y el problema que no consigo solucionar es que siempre me dice que el usuario no esta conectado a facebook, aunque lo este.

Tengo el suiguiente archivo para el modelo del componente:
Código PHP:
<?php

defined
('_JEXEC') or die('Restricted access');
 
jimport('joomla.application.component.modelitem');
 
class 
facebookModelfacebook extends JModelItem
{
        protected 
$estado_fb;
         
        public function 
getEstado() 
        {
                require_once( 
JPATH_COMPONENT.DS.'clase_facebook.php' );
                
$facebook = new Facebook(array(
                    
'appId' => 'xxxxxx',
                    
'secret' => 'xxxxxxxxx',
                    
'req_perms' => 'email, user_location, user_education_history',
                ));
                
$user_fb $facebook->getUser();
                if (
$user_fb) {
                    try {
                        
$info_usuario_facebook $facebook->api('/me');
                    } 
                    catch (
FacebookApiException $e) {
                        print(
$e);
                        
$user 0;
                    }
                }
                if(
$user_fb){
                    
$estado_fb="Conectado co el mail: ".$info_usuario_facebook['email'];
                }
                else 
                {
                    
$urlLogin=$facebook->getLoginUrl(array('scope'=>'email, user_location, user_education_history'));
                    
header('location:'.$urlLogin);
                }
                if (!isset(
$this->estado_fb)) 
                {
                    
$this->estado_fb$estado_fb;
                }
                return 
$this->estado_fb;
        }
}
?>
El problema que veo, es que cuando la app de facebook te redirecciona a la web en joomla ésta no recibe los parametros por get.

Facebook te redirecciona con una url del tipo

index.php?option=com_facebook?status=xxxxx...&code =xxxx....

Pero joomla me vuelve directamente a index.php?option=com_facebook, como si joomla interpretase que no ha solicitado los parametros status y code y los elimina. Entonces al ejecutarse el codigo del compoente entro en un bucle por el header, ya que siempre evalua $user a false.

¿Alguien sabe que debo hacer o donde esta el fallo? Es lo primero que hago en joomla y estoy bastante perdido.

Un saludo

Última edición por keko123; 29/03/2013 a las 13:18

Etiquetas: api, componente, facebook, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:13.