1. Важное и срочное обновление IPB 3.4.5 - https://nulled.cc/threads/243375/

[Ищу] Интеграция Dle 8.5 и IPB 3.1.0

Тема в разделе "IPB", создана пользователем TheStig, 20 июл 2010.

Модераторы: Maybe
  1. TheStig

    TheStig Создатель

    Регистр.:
    21 мар 2010
    Сообщения:
    36
    Симпатии:
    4
    Подскажите пожалуйста есть ли инструкция по интеграции данных систем.
    Так как сейчас решил с phpbb перейти на ipb и не могу найти интеграцию
     
  2. TheStig

    TheStig Создатель

    Регистр.:
    21 мар 2010
    Сообщения:
    36
    Симпатии:
    4
    Актуально!
     
  3. ilyuzhko

    ilyuzhko Постоялец

    Регистр.:
    5 май 2009
    Сообщения:
    58
    Симпатии:
    21
    http://kaliostro.net/
    но оно платное, 30 баксов кажется
     
  4. TheStig

    TheStig Создатель

    Регистр.:
    21 мар 2010
    Сообщения:
    36
    Симпатии:
    4
    Мне бы желательно бесплатная.А поставить я сам смогу.

    А вот скажите,интеграция dle 8.5+ ipb 3.0.X не проканает?:confused:
     
  5. TIERFOREVER

    TIERFOREVER Постоялец

    Регистр.:
    6 фев 2009
    Сообщения:
    77
    Симпатии:
    7
    К сожалению, бесплатная интеграция, либо кривая, либо не существует вовсе. Выше Вам правильно указали куда идти за интеграцией. :smmne:
     
  6. TheStig

    TheStig Создатель

    Регистр.:
    21 мар 2010
    Сообщения:
    36
    Симпатии:
    4
    да,но напряжно платить 30$ за интеграцию :)
     
  7. _SiG_

    _SiG_ Постоялец

    Регистр.:
    24 янв 2009
    Сообщения:
    53
    Симпатии:
    1
    Пользуюсь этой интеграцией как с 8,5 так и с 7,5 dle. Работает без косяков, на разных доменах, на разных базах.

    Открываем Dle_root/engine/modules/register.php
    Ищем:
    Код:
    require_once ENGINE_DIR . '/classes/parse.class.php';
    Добавляем ниже:
    Код:
    $ipb_dle_lan[0] = "Данное имя уже используется на форуме.";
    $db_ipb_user = "имя пользлвателя";
    $db_ipb_password = "пароль к бд";
    $db_ipb_namedb = "имя бд";
    $db_ipb_local = "localhost";
    $db_ipb_error = 1; // 1 - показывать ошибки в соединении с бд форума, 0 - нет
    $db_prefix_ipb = "пркфикс к бд (с _ если есть)";
    $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 '[[:<:]]{$search_name}[[:>:]]' 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_root/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 = "имя пользлвателя";
    $db_ipb_password = "пароль к бд";
    $db_ipb_namedb = "имя бд";
    $db_ipb_local = "localhost";
    $db_ipb_error = 1; // 1 - показывать ошибки в соединении с бд форума, 0 - нет
    $db_prefix_ipb = "пркфикс к бд (с _ если есть)";
    $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];
    Идем в админку IPB
    Система -> Системные настройки -> Настройки безопасности -> Отключить регистрацию? -> Да

    Все, интеграция завершена. Нет общего входа, нет общих лс, нет общих изменений профиля, нет еще кучи полезного и бесполезного, только база - общие юзеры
     
  8. TheStig

    TheStig Создатель

    Регистр.:
    21 мар 2010
    Сообщения:
    36
    Симпатии:
    4
    а общая регистрация?
     
  9. Leo1991

    Leo1991 Создатель

    Регистр.:
    11 мар 2010
    Сообщения:
    12
    Симпатии:
    0
    А если весь сайт стал в неверной кодировке???
     
  10. TheStig

    TheStig Создатель

    Регистр.:
    21 мар 2010
    Сообщения:
    36
    Симпатии:
    4
    Вообщем нашел интеграцию.:yahoo: