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