Потребовалось для CMS реализовать проверку авторизован пользователь на форуме IPB 3 или нет. Вроде бы тривиальная задача, но рабочего решения я с ходду не нашел. В результате экспериментов и пробега по скриптам IPB было найдено решение, которое позволяет определить факт авторизации. В качестве бонуса, а так же примера, выводится имя пользователя его фото и аватар.
PHP скрипт проверки авторизации пользователя IPB
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
//путь до форума (укажите свой)
$path_to_forum = 'forum2/';
require_once( $path_to_forum . '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();
$id = IPSCookie::get('member_id');
if ($id == 0) {
echo 'не авторизирован';
} else {
$member = IPSMember::load( $id );
//имя пользователя
echo $member['name'];
//фото пользователя
echo IPSMember::buildProfilePhoto( $member, 'full' );
//аватарка пользователя
echo IPSMember::buildAvatar( $member );
}
?>