• Автор:

    Flesha
  • Добавлено:

    май 02, 2010
  • Комментариев:

    0
  • Просмотров:

    4 810

Интеграция DLE 8.x + IPB 3.0x

Интеграция DLE 8.x + IPB 3.0x

Установка!

Открываем:

/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 '[[:<:]]{$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_lo gin_key,member_login_key_expire,email,member_group_id,joined,ip_address,time_offset,allow_admin_mails,l anguage,msg_show_notification,members_auto_dst,members_pass_hash,members_pass_salt)VALUES (0,'$name','".strtolower($name)."','$name','".strtolower($name)."','".strtolower($name)."','".$ipb_dle->g enerate_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);}}



Далеее , идем сюда:

/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];



Спасибо всем,за внимание.
Удачи вам в интеграции! dle
Вернуться
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.