IPB — доступ к данным члена PHP вне корня IPB

У меня есть IPB, и у меня есть приложение PHP, которое находится за пределами форума ROOT, а также на другом поддомене.
В приложении мне нужно иметь доступ к данным члена, например. количество сообщений, электронная почта и т. д.

У меня последняя версия IPB и PHP 5.6
Я много гуглил для решения и, наконец, нашел это:
Доступ к классам IPB извне с основного сайта

Однако это не сработало вообще. Ошибок нет, только перенаправление на основной URL форума.

У кого-нибудь есть опыт работы с классами IPB и / или это API?
Может ли кто-нибудь помочь мне достичь цели.
Решение, вероятно, всего одна строка кода.

РЕДАКТИРОВАТЬ:
Я нашел работу вокруг, проверьте мой ответ ниже.
Однако я все еще заинтересован в «более хорошем» решении.

1

Решение

После некоторых исследований я настроил перенаправление IPB, поскольку URL-адрес платы не совпадает с текущим URL / поддоменом. (мое дело)
Итак … Есть обходной путь, не очень хороший, но работает, по крайней мере, и решение в одну строку:

<?PHP
$_SERVER['HTTP_HOST_R'] = $_SERVER['HTTP_HOST']; // Keep original info in another index.
$_SERVER['HTTP_HOST'] = "www.your-ipb-forum.com"; // Work-around
$forumPath = '../forum'; //FORUM FOLDER
define( 'IPS_ENFORCE_ACCESS', TRUE ); // Important so it does not redirect to forums
define( 'IPB_THIS_SCRIPT', 'public' );

require_once( $forumPath.'/initdata.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsController.php' );

$ipbRegistry    = ipsRegistry::instance();
$ipbRegistry->init();
// Init done

$member = IPSMember::load($memberName, 'all', 'username');
print_r($member); // For demo purposes only

Третья строка — это обходной путь, с которым мы обманываем IPB.
Вторая строка «перемещает» данные $ _SERVER [‘HTTP_HOST’] в $ _SERVER [‘HTTP_HOST_R’], поэтому, если вам нужен текущий (реальный) URL в вашем приложении, вы можете использовать эту переменную вместо этого, потому что HTTP_HOST один изменился. (необходимо для обхода).

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]