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

TheStig

Создатель
Регистрация
21 Мар 2010
Сообщения
36
Реакции
4
Подскажите пожалуйста есть ли инструкция по интеграции данных систем.
Так как сейчас решил с phpbb перейти на ipb и не могу найти интеграцию
 
Актуально!
 
*** скрытое содержание ***
но оно платное, 30 баксов кажется

Мне бы желательно бесплатная.А поставить я сам смогу.

А вот скажите,интеграция dle 8.5+ ipb 3.0.X не проканает?:confused:
 
К сожалению, бесплатная интеграция, либо кривая, либо не существует вовсе. Выше Вам правильно указали куда идти за интеграцией. :smmne:
 
да,но напряжно платить 30$ за интеграцию :)
 
Пользуюсь Для просмотра ссылки Войди или Зарегистрируйся интеграцией как с 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
Система -> Системные настройки -> Настройки безопасности -> Отключить регистрацию? -> Да

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