Мы в твиттере Мы в телеграме!

Провеббер » Всё для IPS » IPS модификации » Внешняя интеграция DLE 8.x с IPB 3.x способ 2

Набор в команду! Ведется набор в команду, для наполнения сайта новым, интересным контентом. Если у тебя есть предложения, свободное время, ты обладаешь интересным контентом, и хочешь поделиться с другими?
Обращайся к нам в ЛС группы Вконтакте.

Внешняя интеграция DLE 8.x с IPB 3.x способ 2

Данный материал предоставлен сайтом ProWebber.cc исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно Внешняя интеграция DLE 8.x с IPB 3.x способ 2.

Внешняя интеграция DLE 8.x с IPB 3.x способ 2


Нашел у вас 1 статью, по внешней авторизации, у меня ничего не вышло (мб руки кривые :biggrin: ) порылся в нэте - нашел еще 1 способ.
Итак...

Идем в:
dle/engine/modules/register.php

Найти:
require_once ENGINE_DIR . '/classes/parse.class.php';



Добавить:
$ipb_dle_lan[0] = "Данное имя уже используется на форуме.";
    $db_ipb_user = "root";
    $db_ipb_password = "";
    $db_ipb_namedb = "56";
    $db_ipb_local = "localhost";
    $db_ipb_error = 1; // 1 - показывать ошибки в соединении с бд форума, 0 - нет
    $db_prefix_ipb = "ibf";
$ipb = new db;
$ipb->connect($db_ipb_user, $db_ipb_password, $db_ipb_namedb, $db_ipb_local, $db_ipb_error);



Найти:
global $lang, $db, $banned_info;


Заменить на:
global $lang, $db, $banned_info, $ipb, $ipb_dle_lan, $db_prefix_ipb;


Найти:
$row = $db->super_query( "SELECT COUNT(*) as count FROM " . USERPREFIX . "_users WHERE email = '$email' OR LOWER(name) REGEXP '[[::]]' OR name = '$name'" );


Добавить ниже:
$ipb_test_name = $ipb->super_query ("SELECT COUNT(*) as count FROM {$db_prefix_ipb}_members where name = '".strtolower($name)."'");
if ($ipb_test_name ['count'] > 0) $stop .= $ipb_dle_lan[0];



Найти:
$db->query( "INSERT INTO " . USERPREFIX . "_users (name, password, email, reg_date, lastdate, user_group, info, signature, favorites, xfields, logged_ip) VALUES ('$name', '$regpassword', '$email', '$add_time', '$add_time', '" . $config['reg_group'] . "', '', '', '', '', '" . $_IP . "')" );
$id = $db->insert_id();


Добавить ниже:
$ipb_dle = new ipb_dle;
            $salt = $ipb_dle->generate_password_salt(5);
            $salt = addslashes($salt);
            $ph = $ipb_dle->generate_compiled_passhash($salt, md5($_POST['password1']) );
            $insert_ipb = $ipb->insert_id(); //ид вставки
            $member_key = $ipb_dle->generate_auto_log_in_key();
            $key_expire = $member_key * 60 * 60 * 24;
            $ipb->query("INSERT INTO `{$db_prefix_ipb}_members` (
            member_id,
            name,
            members_l_username,
            members_display_name,
            members_l_display_name,
            members_seo_name,
            member_login_key,
            member_login_key_expire,
            email,
            member_group_id,
            joined,
            ip_address,
            time_offset,
            allow_admin_mails,
            language,
            msg_show_notification,
            members_auto_dst,
            members_pass_hash,
            members_pass_salt
            )
            VALUES (
            0,
            '$name',
            '".strtolower($name)."',
            '$name',
            '".strtolower($name)."',
            '".strtolower($name)."',
            '".$ipb_dle->generate_auto_log_in_key()."',
            '$key_expire',
            '$email',
            '3',
            '".time()."',
            '$_IP',
            '3',
            '1',
            '1',
            '1',
            '0',
            '$ph',
            '$salt'
            )");
            $ipb_st = $ipb->super_query("select * from {$db_prefix_ipb}_cache_store where cs_key = 'stats'");
            $st_arr  = unserialize($ipb_st['cs_value']);
            $st_arr['mem_count']++;
            $st_arr['last_mem_name'] = $name;
            $st_arr['last_mem_id'] = $insert_ipb;
            $st_arr2 = serialize($st_arr);
            $ipb->query("UPDATE {$db_prefix_ipb}_cache_store set cs_value = '$st_arr2' where cs_key = 'stats'");



Перед:
?>



Вставить:
class ipb_dle
{
    function generate_password_salt($len=5)
    {
        $salt = '';

        for ( $i = 0; $i < $len; $i++ )
        {
            $num   = rand(33, 126);

            if ( $num == '92' )
            {
                $num = 93;
            }

            $salt .= chr( $num );
        }

        return $salt;
    }

    function generate_compiled_passhash($salt, $md5_once_password)
    {
        return md5( md5( $salt ) . $md5_once_password );
    }

        function generate_auto_log_in_key($len=60)
    {
        $pass = $this->generate_password_salt( $len );

        return md5($pass);
    }

}


Дальше, идем:
dle/engine/ajax/registration.php

Найти:
$db->query ("SELECT name FROM " . USERPREFIX . "_users WHERE LOWER(name) REGEXP '[[:<:]]{$search_name}[[:>:]]' OR name = '$name'");

        if ($db->num_rows() > 0)
        {
            $stop .= $lang['reg_err_20'];
        }



Добавить ниже:
$ipb_dle_lan[0] = "Данное имя уже используется на форуме.";
    $db_ipb_user = "root";
    $db_ipb_password = "";
    $db_ipb_namedb = "56";
    $db_ipb_local = "localhost";
    $db_ipb_error = 1; // 1 - показывать ошмбки в соединении с бд форума, 0 - нет
    $db_prefix_ipb = "ibf";
$ipb = new db;
$ipb->connect($db_ipb_user, $db_ipb_password, $db_ipb_namedb, $db_ipb_local, $db_ipb_error);
$ipb_test_name = $ipb->super_query ("SELECT COUNT(*) as count FROM {$db_prefix_ipb}_members where name = '".strtolower($name)."'");
if ($ipb_test_name ['count'] > 0) $stop .= $ipb_dle_lan[0];


P.S. у меня все работает.
Автора не знаю...


Дополнительные ссылки на скачивание ТОЛЬКО для зарегистрированных


-1
Просмотры: 20 448 :: Комментарии (24) :: :: Нужна помощь? Задайте вопрос на форуме ::
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1MysterIoes

  • 6 мая 2010 18:01
  • Регистрация: 22.11.2009
  • Был(а) онлайн: 15.02.2014
  • Комментариев: 356
  • 0
NoMaNt
Dark Angell
A.D.
ZXZ

забаннены за флуд на 2 дня, все разборки в ЛС!
1. если автор новости не указал источник, свяжитесь с админом сайта и скажите ему, админ будет потом решать сам что делать.

#2Artur33

  • 6 мая 2010 18:27
  • Регистрация: 19.04.2010
  • Был(а) онлайн: 20.03.2011
  • Комментариев: 46
  • 0
а как понять внешняя интеграция??
Спасибо за стотью давно хотел такую интеграцию !!

#3Большой Кактус

  • 6 мая 2010 18:46
  • Регистрация: 8.10.2009
  • Был(а) онлайн: 2.01.2013
  • Комментариев: 296
  • 0
Внешняя интеграция-
внешняя авторизация-
общая база данных-
единая авторизация на форуме и на сайте

#4zasranec

  • 6 мая 2010 20:58
  • Регистрация: 25.10.2009
  • Был(а) онлайн: 30.07.2015
  • Комментариев: 195
  • 0
видел такую статью...
при статье было...

"\при копировании линк обязательно"\

но может быть и что уже и скопипастено))) до этого)))

#5revix

  • 6 мая 2010 21:49
  • Регистрация: 11.04.2010
  • Был(а) онлайн: 2.04.2015
  • Комментариев: 24
  • 0
я так понял что если зарегиться на форуме то реги на сайте не будет, так?

#6Pheox

  • 6 мая 2010 21:49
  • Регистрация: 13.07.2009
  • Был(а) онлайн: 12.07.2012
  • Комментариев: 172
  • 0
Она не рабочая beee .. У меня есть покупная.. Могу дать кто сможет занулить)

#7m00nster

  • 6 мая 2010 22:29
  • Регистрация: 21.09.2009
  • Был(а) онлайн: 5.02.2012
  • Комментариев: 21
  • 0
Работает на повал?Регистрация с форума работает?

#8zasranec

  • 7 мая 2010 00:19
  • Регистрация: 25.10.2009
  • Был(а) онлайн: 30.07.2015
  • Комментариев: 195
  • 0
Возьмите да проверьте...
***
Цитата: Pheox
Она не рабочая

***

#9Mel

  • 7 мая 2010 11:24
  • Регистрация: 8.04.2010
  • Был(а) онлайн: 22.02.2018
  • Комментариев: 376
  • 0
Да, проверял, не работает, + нет автологина

#10m00nster

  • 7 мая 2010 15:46
  • Регистрация: 21.09.2009
  • Был(а) онлайн: 5.02.2012
  • Комментариев: 21
  • 0
Рабочая,Только что тестил на денвере,авторизация работает и на форуме и на сайте,регистрация только на сайте.

#11dodgeviper

  • 10 мая 2010 17:06
  • Регистрация: 20.02.2010
  • Был(а) онлайн: 25.02.2012
  • Комментариев: 1
  • 0
скажите у кого работает..если авторизоваться на сайте и зайти на форум автоматом авторизуется? или надо на форуме заново вбивать логин и пароль?

#12Karib

  • 12 мая 2010 12:23
  • Регистрация: 28.02.2010
  • Был(а) онлайн: 18.03.2022
  • Комментариев: 52
  • 0
да не мучитесь можно проще сделать штандартными средствами форума кому надо пишите

#13Flomik

  • 15 мая 2010 17:44
  • Регистрация: 15.05.2010
  • Был(а) онлайн: 19.01.2012
  • Комментариев: 11
  • 0
dodgeviper,
Если это тот способ которым я делал, то без авторизации(всё ручками)

#14WildFrag

  • 26 мая 2010 23:27
  • Регистрация: 26.05.2010
  • Был(а) онлайн: 17.03.2011
  • Комментариев: 6
  • 0
и что потом при каждом обновлении dle и ipb снова править руками?

#15EHOT

  • 1 июня 2010 18:18
  • Регистрация: 30.05.2010
  • Был(а) онлайн: 26.06.2017
  • Комментариев: 8
  • 0
Не работает зараза, и вообще это возможно запустить ДЛЕ + Ипб ?

#16Большой Кактус

  • 3 июня 2010 20:58
  • Регистрация: 8.10.2009
  • Был(а) онлайн: 2.01.2013
  • Комментариев: 296
  • 0
Все можно, главное..моск и ручонки

#17DapkMapk

  • 11 сентября 2010 16:11
  • Регистрация: 11.09.2010
  • Был(а) онлайн: 16.02.2011
  • Комментариев: 2
  • 0
Автором данной интеграции являюсь я, пожалуйста укажите.

#18Lion18

  • 17 сентября 2010 22:57
  • Регистрация: 13.09.2010
  • Был(а) онлайн: 7.04.2019
  • Комментариев: 226
  • 0
DapkMapk
Расскажи пожалуйста...
Что одинаково в этой интеграции?
Лог,авторизация,профили и тд?
Отдельно базу создавать или скрестить с дле

--------------------

#19DapkMapk

  • 15 октября 2010 10:43
  • Регистрация: 11.09.2010
  • Был(а) онлайн: 16.02.2011
  • Комментариев: 2
  • 0
Lion18, базу прописываешь в скрипте (смотри выше), одинаковая только регистрация из DLE в IPB.

#20MaDm1X

  • 11 ноября 2010 16:03
  • Регистрация: 9.11.2010
  • Был(а) онлайн: 20.09.2012
  • Комментариев: 4
  • 0
Поделитесь с интеграцией DLE 8.3 с IPB 2.3.6

1 2
Предыдущая    Следующая
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Архив новостей
Ноябрь 2024 (9)
Октябрь 2024 (169)
Сентябрь 2024 (13)
Август 2024 (60)
Июль 2024 (12)
Июнь 2024 (30)

Последние комментарии: