Проверьте вход в Joomla из блога Wordpress

У нас есть сайт Joomla 1.5 с блогом в подпапке /blog/

Мы хотели бы иметь статус входа вверху каждой страницы. Для единообразия навигации мы хотим показать статус входа в Joomla в верхней части блога WordPress.

eg.:

Войти | Зарегистрироваться | Справка

or

Вы вошли как Стивен Боуг | Справка

Проблема в том, что хотя scipt blow правильно возвращает статус входа в систему, если я добавлю его в шаблон wordpress, статус правильно возвращается и отображается на экране, но затем страница перестает рисовать. У кого-нибудь есть идеи, как остановить скрипты Joomla, чтобы остановить скрипт Wordpress.

<?php

define( '_JEXEC', 1 );
define('JPATH_BASE', '/Library/WebServer/testqueensberrycom');
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );

$mainframe =& JFactory::getApplication('site');
$mainframe->initialise();
//$mainframe->triggerEvent('onAfterInitialise');
//$mainframe->route();
//$mainframe->authorize('');

$user =& JFactory::getUser();

if (($user->id) > 0){
   return 'You are signed in as: <a href="/editprofile/user.html">' . $user->username . '</a> | <a href="/index.php?option=com_content&view=article&id=225">Help</a> | <a href="/index.php?option=com_user&task=logout&return=cGFydG5lci9wcm9jZXNzL3BhcnRuZXIuaHRtbA==">Sign out</a>';
} else {
   return '<a href="/index.php?option=com_user&view=login">Login</a> | Join | <a href="/index.php?option=com_content&view=article&id=225">Help</a>';
}

?>

person Stephen Baugh    schedule 30.07.2009    source источник
comment
Чтобы было ясно. Это php-скрипт, который я пытаюсь запустить в рамках установки WordPress. Проблема не в самом скрипте. Это то, что он, кажется, убивает сеанс WordPress. Есть берущие?   -  person Stephen Baugh    schedule 01.08.2009


Ответы (1)


Хм, вариантов много. Joomla имеет множество функций, таких как эмуляция регистровых глобальных переменных и т. д. (многие зависят от того, используете ли вы устаревший режим...), которые могут легко конфликтовать с другими скриптами. Он также создает множество определений и заполняет множество глобальных областей, которые также могут конфликтовать с другими сценариями.

Вещи, которые я мог придумать, чтобы попробовать:

  • Добавить $mainframe->close();
  • Попробуйте установить error_reporting(E_ALL); после запуска кода Joomla, чтобы увидеть, что Wordpress задыхается.
person KingJackaL    schedule 30.09.2009