2015-03-14 2 views
1

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

У меня есть последняя версия IPB и PHP 5.6
Я гугл много для решения, и, наконец, я нашел это: Accessing IPB Classes Externally From Main Website
Однако он не работал вообще. Ошибок нет, просто перенаправление на главный форум.IPB - Доступ к данным пользователя PHP за пределами IPB root

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

EDIT: Я нашел работу, посмотрите мой ответ ниже.
Однако меня все еще интересует «более приятное» решение.

ответ

0

После некоторого исследования я настроил этот редирект 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 

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

Смежные вопросы