Привет, я работаю с IPB3.4, и я стараюсь иметь какую-то корреляцию между моим главным веб-сайтом и форумом, в частности пользователями.
Я знаю, что вы можете использовать класс IPBMembers просто для создания нового пользователя, однако я не уверен, как я могу инициализировать этот класс за пределами базового каталога форума IPB.
Если у кого-нибудь есть опыт по этой теме, я был бы признателен за любые советы.
благодаря
Проблема, с которой я столкнулась в вышеупомянутом сценарии, – это метод 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');
попробуйте это из корневой папки для инициализации 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');