Бормотухи.НЕТ

Вернуться   Бормотухи.НЕТ > Web-мастеру > DataLife Engine > Инструкции, модификации и статьи для DLE
Расширенный поиск

Инструкции, модификации и статьи для DLE Сборник инструкции, модов и статей по движку DataLife Engine

Ответ
 
Опции темы Поиск в этой теме
Старый 22.10.2011, 18:18 Вверх   #1
Коварный тип
 
Аватар для Serberg
Serberg вне форума
Доп. информация
Хорошо Создание объединенной системы регистрации на DLE 9.3 и IPB 3.1.4

Создание объединенной системы регистрации на DLE 9.3 и IPB 3.1.4

Описание: Данная интеграция позволяет регистрируясь на DLE движке авторизироваться с этим же аккаунтов на форуме IPB.

Открываем: dle/engine/modules/register.php
Находим:

PHP код:
require_once ENGINE_DIR '/classes/parse.class.php'
Добавляем ниже:

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); 
Находим:

PHP код:
global $lang$db$banned_info$relates_word
Меняем на:

PHP код:
global $lang$db$banned_info$relates_word$ipb$ipb_dle_lan$db_prefix_ipb
Находим:

PHP код:
$row $db->super_query"SELECT COUNT(*) as count FROM " USERPREFIX "_users WHERE email = '$email' OR LOWER(name) REGEXP '[[:<:]]{$search_name}[[:>:]]' OR name = '$name'" ); 
Добавляем ниже:

PHP код:
$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]; 
Находим:

PHP код:
$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 "')" ); 
Добавляем ниже:

PHP код:
 $ipb_dle = new ipb_dle;
 
$salt $ipb_dle->generate_password_salt(5);
 
$salt addslashes($salt);
 
$ph $ipb_dle->generate_compiled_passhash($saltmd5($_POST['password1']) ); // для бакланозавров и копипастеров, это взято с bormotuhi.net
 
$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'"); 
Находим:

PHP код:
?> 
Вставляем выше:

PHP код:
 class ipb_dle
 
{
 function 
generate_password_salt($len=5)
 {
 
$salt '';
 for ( 
$i 0$i $len$i++ )
 {
 
$num rand(33126);
 if ( 
$num == '92' )
 {
 
$num 93;
 }
 
$salt .= chr$num );
 }
 return 
$salt;
 }
 function 
generate_compiled_passhash($salt$md5_once_password)
 {
 return 
md5md5$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

Находим:

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'];
 } 
Добавляем ниже:

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);
 
$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]; 
Статью нашел в интернете и малость пофиксил, ибо по всему интернету тупой копипаст прямо с ошибкой. Для бормотухи без ошибки )

Последний раз редактировалось Serberg; 22.10.2011 в 18:23..
  Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
Старый 20.05.2012, 12:01 Вверх   #2
Опытный пользователь
 
Аватар для IgorL
IgorL вне форума
Доп. информация
По умолчанию

А на DLE 9.5 кто-то ставил?
  Ответить с цитированием
Старый 24.05.2012, 21:54 Вверх   #3
Опытный пользователь
 
Аватар для Simao
Simao вне форума
Доп. информация
По умолчанию

Цитата Сообщение от IgorL Посмотреть сообщение
А на DLE 9.5 кто-то ставил?
Вот
  Ответить с цитированием
Ответ

Метки
ipb + dle, интеграция

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 22:31. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
 

Время генерации страницы 0.11849 секунды с 11 запросами