Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 2 из 2
  1. #1
    Аватар для Osetin
    •Администратор•

    Статус
    Оффлайн
    Регистрация
    26.03.2013
    Адрес
    ♔Osetia, Vladikavkaz♔
    Сообщений
    3,432
    Репутация:
    1093 ±

    [DLE] Единая регистрация с DLE 9.* + IP.Board 3.1.

    [DLE] Единая регистрация с DLE 9. + IP.Board 3.1.

    И так мануальчик как объединить форум + cms.

    Открываем:

    dle/engine/modules/reg

    Ищем:

    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 '[[::]]' 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']) ); 
    $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'
     
    '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 generate_password_salt$len ); 

    return 
    md5($pass); 



    Открываем:

    dle/engine/ajax/registration.php

    Найти:

    PHP код:
    $db->query ("SELECT name FROM " USERPREFIX "_users WHERE LOWER(name) REGEXP '[[::]]' 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]; 
    На этом урок окончен
    Внимание!
    Данный хук работает только в одну сторону, так что нужно регистрироваться на DLE и будете добавлены в форум!

  2. #2
    Аватар для Salvacore
    Инжунер-погромист

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Адрес
    Аҧсуа бызшәа
    Сообщений
    2,271
    Репутация:
    418 ±
    Спасибо,но увы пользуюсь версией IPB 3.4.6

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

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