Мне нужно получить информацию о пользователе, который в настоящее время вошел в систему Joomla из программы вне самой Joomla. Я обновился с 1.5 до 2.5, и то, что у меня было раньше, больше не работает.Joomla 2.5 Получить данные пользователя из внешнего скрипта
<?php
define('_VALID_MOS', 1);
include_once('globals.php');
require_once('configuration.php');
require_once('includes/joomla.php');
$option="test";
$mainframe = new mosMainFrame($database, $option, '.');
$mainframe->initSession();
$my = $mainframe->getUser();
$joomla_name = $my->name;
$joomla_email = $my->email;
$joomla_password = $my->password;
После некоторых исследований я пришел с этим:
<?php
define('_JEXEC', 1);
define('JPATH_BASE', dirname(__FILE__));
define('DS', '/');
require_once (JPATH_BASE .DS.'configuration.php');
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');
$my =& JFactory::getUser();
$joomla_name = $my->name;
$joomla_email = $my->email;
$joomla_password = $my->password;
$joomla_username = $my->username;
Это не вызывает каких-либо ошибок, но, кажется, работает. Однако пользовательский объект пуст. Этот скрипт находится в том же каталоге, что и установка Joomla. В чем может быть проблема? Благодаря!
Источники:
http://www.cmsbloke.com/accessing-joomla-objects-from-an-external-script/
Хорошо, мы все ближе. Тем не менее, код, который у меня был до этого, получил информацию о текущем входе пользователя user_. Как я могу получить эту информацию здесь? Я полагаю, что у Joomla есть пользовательская реализация сеанса, потому что данные не находятся в '$ _SESSION'. – Jonah
Не слишком уверен. Я попытался использовать скрипт и реализовать библиотеки, но он продолжал говорить «класс JFactory не найден». Если вы его заработаете, то, пожалуйста, поделитесь тем, что я тоже очень хотел бы знать, как это сделать. С уважением – Lodder