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