2013-05-01 2 views
0

Здравствуйте, я работаю с IPB3.4, и я пытаюсь иметь некоторую корреляцию между моим главным веб-сайтом и форумом, в частности пользователями.Доступ к IPB классы снаружи с основного сайта

Я знаю, что вы можете использовать класс IPBMembers, чтобы просто создать нового пользователя, однако я не уверен, как я могу инициализировать этот класс вне базового каталога форума IPB.

Если у кого-то есть опыт в этой теме, я был бы признателен за любые советы.

Благодаря

ответ

5

Проблема у меня была из приведенного выше сценария является после init() метод, он перенаправил меня на форум или заставил бы заголовки уже отправили ошибки, поэтому вам нужно включить ниже константу, чтобы она правильно работала за пределами IPB каталоги Форум: define('IPS_ENFORCE_ACCESS', TRUE);

$forumPath = '../forums'; //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(); 


$member = IPSMember::load($memberName, 'all', 'username'); 
+1

Спасибо за это, Натан. Я просматривал страницы и страницы кода, ища именно этот рабочий пример. Много Kudos. –

+0

Добро пожаловать :) – Kal

1

попробовать это из корневой папки для инициализации IPB

define('IPB_THIS_SCRIPT', 'public'); 
require_once('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(); 

, то вы можете использовать IPSMember как этот

$member = IPSMember::load($member_name, 'all', 'username'); 
Смежные вопросы