Внешняя авторизация IPB 3.4.9 - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

Теги не найдены

Страница 1 из 1

Внешняя авторизация IPB 3.4.9

#1 Пользователь не на сайте   HooLIGUN ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 113
  • Регистрация: 04-Декабрь 11
  • Репутация: 4
  • IPB version:3.4.x
 

Отправлено 19 Сентябрь 2017 - 19:46

Здравствуйте. Подскажите пожалуйста актуальный скрипт дня авторизации на стороннем php файле для форума версии 3.4.9 , Поиском пользовался, но думаю, там устарелые версии
0

#2 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 549
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 049
  • IPB version:I have no IPB
 

Отправлено 20 Сентябрь 2017 - 11:49

Просмотреть сообщениеHooLIGUN сказал(а):

Поиском пользовался, но думаю, там устарелые версии

Покажите,что нашли?
0

#3 Пользователь не на сайте   HooLIGUN ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 113
  • Регистрация: 04-Декабрь 11
  • Репутация: 4
  • IPB version:3.4.x
 

Отправлено 20 Сентябрь 2017 - 12:13

php class
<?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();
    }

}


Код
<?php
//header('Content-type: text/html; charset=utf-8');

define( 'FORUM_PATH', $_SERVER['DOCUMENT_ROOT'].'/forum31/');
require_once( FORUM_PATH . 'admin/api/member/api_member_login.php' );
$apiMember = new apiMemberLogin();
$apiMember->init();

/* Авторизация */

if( $_POST['login'] && $_POST['password'] )
{
    $login = $_POST['login'];
    $password = $_POST['password'];

    $ret = $apiMember->login( $login, $password );

    if( $ret[2] )
    {
        if( $ret[2] == 'wrong_auth' )
        {
            echo 'Неверный логин или пароль<br>';
        }
        else
        {
            echo 'Ошибка авторизации: {$ret[2]}<br>';
        }
    }
    else
    {
        echo '<html><head><meta http-equiv="refresh" content="2;url=index.php"></head><body>Вы вошли в систему!</body><html>';
        exit;
    }
}

/* Выход */

if( $_GET['do'] == 'logout' )
{
    $apiMember->logout();
    echo '<html><head><meta http-equiv="refresh" content="2;url=index.php"></head><body>Выход из системы</body><html>';
    exit;
}

$member = $apiMember->getMember();

if($member['member_id'])
{
    //print_r( $member );
    echo 'Вы залогены как '.$member['name'].' <a href="index.php?do=logout">Выход</a><br />';
}
else
{
    echo 'Вы не авторизированы<br />
    <form name="form_login" action="index.php?do=login" method="post">
        <input name="login" type="text"><br />
        <input name="password" type="password"><br />
        <input type="submit" value="Отправить">
    </form>
    ';
}

unset($apiMember);
?>


Вроде как это под 3.0.*
0

#4 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 549
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 049
  • IPB version:I have no IPB
 

Отправлено 20 Сентябрь 2017 - 13:03

В теме, где нашли, есть же обсуждение моментов для 3.4.
Например, http://ipbskins.ru/f...dpost__p__81548
0

#5 Пользователь не на сайте   HooLIGUN ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 113
  • Регистрация: 04-Декабрь 11
  • Репутация: 4
  • IPB version:3.4.x
 

Отправлено 20 Сентябрь 2017 - 13:27

Только в этом отличие,и всё?
0

#6 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 549
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 049
  • IPB version:I have no IPB
 

Отправлено 21 Сентябрь 2017 - 07:56

Всегда можно протестировать работу скрипта. И, если что-то не работает, исправить.
0

#7 Пользователь не на сайте   HooLIGUN ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 113
  • Регистрация: 04-Декабрь 11
  • Репутация: 4
  • IPB version:3.4.x
 

Отправлено 24 Сентябрь 2017 - 20:12

Как сделать, чтобы данные выводились сразу после отправки формы, минуя обновления страницы с сообщением "Вы вошли в систему!"
то есть
Вместо этого
        echo '<html><head><meta http-equiv="refresh" content="0;url=result.php?do=success"></head><body>Вы вошли в систему!</body><html>';
        exit;

сразу были данные юзера.

Ввел данные - нажал отправить - страница с данными (без всяких переадресаций)

Сообщение изменено: HooLIGUN (24 Сентябрь 2017 - 20:57)

0

#8 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 549
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 049
  • IPB version:I have no IPB
 

Отправлено 25 Сентябрь 2017 - 11:46

ipsRegistry::instance()->output->silentRedirect( "ссылка" );

1

Сообщить об этой теме:


Страница 1 из 1


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2017 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна