Resgatando usuário do CMS Joomla

0
5349

 

Possivelmente uma hora você terá que fazer verificações na sessão ou recuperar dados do CMS Joomla! em arquivos externos (fora da plataforma do Joomla!) para saber se um usuário está ou não logado no sistema.

Para acessar user_id basta criar um arquivo, neste exemplo usaremos teste.php salvo no root do projeto, com o código abaixo:

// Set flag that this is a parent file.
define('_JEXEC', 1);
define('DS', DIRECTORY_SEPARATOR);
$path = "/home/www/dominio/public_html/";  //caminho da instalação do Joomla
define('JPATH_BASE', $path);
require_once JPATH_BASE . DS . 'includes' . DS . 'defines.php';
require_once JPATH_BASE . DS . 'includes' . DS . 'framework.php';
$app = JFactory::getApplication('site');
$app->initialise();
$session = JFactory::getSession();
$session_id = $session->get('user_id', 'empty');
var_dump($session_id);

 

Neste exemplo o arquivo test.php ira imprimiar na tela a id do usuário logado. Existe varias utilizações para este script.

Caso não esteja utilizando session basta usar o seguinte código:

 

// Set flag that this is a parent file.
define('_JEXEC', 1);
define('DS', DIRECTORY_SEPARATOR);
$path = "/home/www/dominio/public_html/";  //caminho da instalação do Joomla
define('JPATH_BASE', $path);
require_once JPATH_BASE . DS . 'includes' . DS . 'defines.php';
require_once JPATH_BASE . DS . 'includes' . DS . 'framework.php';
$mainframe =& JFactory::getApplication('site');
$db = &JFactory::getDBO();
$mainframe->initialise();
$user =& JFactory::getUser( );


echo $user->id;  //imprime id do usuário

echo $user->name; //imprime nome do usuário

 

 

DEIXE UMA RESPOSTA

Please enter your comment!
Please enter your name here