Перейти к содержанию

API для Сайта


Рекомендуемые сообщения

Добрый вечер, столкнулся с проблемой. Надо сделать так, чтобы если человек авторизовался в IPB на форуме, данные передавались на сайт, нашёл что можно реализовать это с помощью IPB, но надо создать файл:  api_member_login.php. Нашёл на форуме API, но оно от 2010 года. Если ли у кого-нибудь более новее версия? Т.к. движок в 4 версии кардинально изменился.

 

api_member_login.php:
 

<?php

/**
 * IBResource, LTD; Ritsuka, UnLTD
 * IP.Board
 * Member authorization API file
 *
 * @author      GiV, Ritsuka
 * @copyright   (c) 2010 IBResource, LTD.
 * @link        http://www.ibresource.ru
 * @version     1.0.0
 *
 */
if ( ! class_exists( 'apiCore' ) )
{
    require_once( FORUM_PATH . 'admin/api/api_core.php' );
}

class apiMemberLogin extends apiCore
{
    private $_handler = NULL;
    public $path_to_ipb = FORUM_PATH;
   
    public function childInit()
    {
        require_once( IPS_ROOT_PATH . 'sources/base/ipsController.php' );
        require_once( IPS_ROOT_PATH . 'sources/handlers/han_login.php' );
        $this->_handler =  new han_login( $this->registry );
        $this->_handler->init();        
    }
   
    public function login( $username, $password, $remember = TRUE )
    {
        $this->request['username'] = $username;
        $this->request['password'] = $password;
        $this->request['rememberMe'] = $remember;
        return $this->_handler->verifyLogin();
    }

    public function logout()
    {
        IPSCookie::set( "member_id" , "0"  );
        IPSCookie::set( "pass_hash" , "0"  );
        IPSCookie::set( "anonlogin" , "-1" );
        if( is_array( $_COOKIE ) )
        {
            foreach( $_COOKIE as $cookie => $value)
            {
                if ( stripos( $cookie, $this->settings['cookie_id'] . 'ipbforumpass' ) !== false )
                {
                    IPSCookie::set( $cookie, '-', -1 );
                }
            }
        }
        $this->registry->member()->sessionClass()->convertMemberToGuest();
        return true;
    }

    public function getMember()
    {
        return $this->registry->member()->fetchMemberData();
    }

}

 

Ссылка на комментарий
Поделиться на другие сайты

Я не пользовался API, но единственная инструкция, что есть https://invisionpower.com/4guides/developing-plugins-and-applications/rest-api/

Ссылка на комментарий
Поделиться на другие сайты

18 минут назад, ram108 сказал:

Я не пользовался API, но единственная инструкция, что есть https://invisionpower.com/4guides/developing-plugins-and-applications/rest-api/

 

8 минут назад, Silence сказал:

 

Я так понял, что у ТС тройка

Или я не понял :) 

Ссылка на комментарий
Поделиться на другие сайты

25 минут назад, Iluha321 сказал:

движок в 4 версии кардинально изменился

мне показалось, что четверка :$

Ссылка на комментарий
Поделиться на другие сайты

Версия IPB: 4.1.17.1

Нашёл выход: 

 



<?php

require_once './../forum.x.ru/init.php';
\IPS\Dispatcher\Front::i();

$member = \IPS\Member::loggedIn();
var_dump( $member );
?>

Но почему-то постоянно переадресовывает на форум

Как меняю строчку

\IPS\Dispatcher\Front::i(); 

На:

\IPS\Dispatcher\Build::i();

Переадресация исчезает, но так же и не хватает очень много переменных в выводе запроса, например такой, как member_id

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...