2017-06-24 6 views
0

Je suis bien familier avec le codage en PHP et d'autres langues, mais je ne suis pas familier avec Joomla. Ce que je veux accomplir est de savoir quand un utilisateur s'est connecté sur le site de Joomla (sous/web) et de différencier le comportement de ce script en conséquence.Vérifier l'utilisateur connecté Joomla 2.5 du script externe (réitéré)

J'ai un site Joomla 2.5 sous/web/et j'ai un script sous /web/test/index.php, où se trouve le code suivant (recueillies auprès d'autres réponses ici et ailleurs):

define('_JEXEC', 1); 
define('DS', DIRECTORY_SEPARATOR); 
echo dirname(dirname(__FILE__)) . "\n"; 
if (file_exists(dirname(dirname(__FILE__)) . '/defines.php')) 
    include_once dirname(dirname(__FILE__)) . '/defines.php'; 

if (!defined('_JDEFINES')) { 
    define('JPATH_BASE', dirname(dirname(__FILE__))); 
    require_once JPATH_BASE.'/includes/defines.php'; 
} 
require_once JPATH_BASE.'/includes/framework.php'; 
$app = JFactory::getApplication('site'); 
$app->initialise(); 

print_r(JFactory::getUser()); 

ce que je reviens est

/web 
JUser Object 
(
    [isRoot:protected] => 
    [id] => 0 
    [name] => 
    ... 

Merci,

Répondre

1

Utilisez ce code, il fonctionne:

define('_JEXEC', 1); 
define('DS', DIRECTORY_SEPARATOR); 
define('JPATH_BASE', realpath(dirname(__FILE__).'/')); 

require_once(JPATH_BASE . DS . 'includes' . DS . 'defines.php'); 
require_once(JPATH_BASE . DS . 'includes' . DS . 'framework.php'); 
require_once(JPATH_BASE . DS . 'libraries' . DS . 'joomla' . DS . 'factory.php'); 
$mainframe = JFactory::getApplication('site'); 

var_dump(JFactory::getUser()); 
+0

cela a fonctionné, merci! –