Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » IkonBoard и другие форумы » Invision Board » PHP, MySQL: Интеграция сайта и форума IPB (Invision Board)

Модерирует : Antuan, Dekker

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

6epcepk



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Код:
    function create_account($username, $password, $email) {
                                        
        $member = array(
                         'name'                   => $username,
                         'members_l_username'     => $username,
                         'members_display_name'   => $username,
                         'members_l_display_name' => $username,
                         'member_login_key'       => generate_auto_log_in_key(),
                         'email'                  => $email,
                         'mgroup'                 => 3,
                         'posts'                  => 0,
                         'joined'                 => time(),
                         'ip_address'             => get_user_ip(),
                         'time_offset'            => 0,
                         'view_sigs'              => 1,
                         'email_pm'               => 1,
                         'view_img'               => 1,
                         'view_avs'               => 1,
                         'restrict_post'          => 0,
                         'view_pop'               => 1,
                         'msg_total'              => 0,
                         'new_msg'                => 0,
                         'coppa_user'             => 0,
                         'language'               => "ru",
                         'members_auto_dst'       => 1,
                         'members_editor_choice'  => "std",
                         'allow_admin_mails'      => 1,
                         'hide_email'             => 0,
                         'subs_pkg_chosen'        => 0
                       );
        
        $salt     = generate_password_salt(5);
        $passhash = generate_compiled_passhash( $salt, md5($password) );
                        
        $converge = array( 'converge_email'     => $email,
                           'converge_joined'    => time(),
                           'converge_pass_hash' => $passhash,
                           'converge_pass_salt' => str_replace( '\\', "\\\\", $salt )
                         );
 
        
        mysql_qw("INSERT INTO exlim_forum.ibf_members_converge
        SET converge_email = ?, converge_joined = ?, converge_pass_hash = ?, converge_pass_salt = ?",
        $email, time(), $passhash, str_replace( '\\', "\\\\", $salt )
        ) or die(mysql_error());
        
        $member['id'] = mysql_insert_id();
        
        mysql_qw('INSERT INTO exlim_forum.ibf_members
        SET id = ?, name = ?, member_login_key = ?, email = ?, mgroup = ?, joined =?, members_l_display_name = ?, members_l_username = ?, members_display_name = ?',
        $member['id'], $member['name'], $member['member_login_key'], $member['email'], $member['mgroup'], $member['joined'], $member['members_display_name'], $member['members_l_username'], $member['members_display_name']
        ) or die(mysql_error());
 
        $result = mysql_qw("SELECT cs_value FROM exlim_forum.ibf_cache_store WHERE cs_key='stats'") or die(mysql_error());        
        $data = mysql_fetch_array($result);
        
        $cache = unserialize($data['cs_value']);
        
        $cache['last_mem_name'] = $member['name'];
        $cache['last_mem_id']   = $member['id'];
        $cache['mem_count']    += 1;
                
        mysql_qw("REPLACE INTO exlim_forum.ibf_cache_store SET cs_key='stats', cs_value='" . serialize($cache) . "', cs_array = 1") or die(mysql_error());
        
        /*$validate_key = md5( make_password() . time() );
        $time         = time();
        
        mysql_qw('INSERT INTO ibf_validating
        SET vid = ?, member_id = ?, real_group = ?, temp_group = ?, entry_date = ?, coppa_user = ?, new_reg = ?, ip_address = ?',
        $validate_key, $member['id'], 3, 3, $time, 0, 1, $_SERVER['REMOTE_ADDR']
        ) or die(mysql_error());    */
                
 
        return $member['id'];
    }
 
    
    function generate_compiled_passhash($salt, $md5_once_password)
    {
        return md5( md5( $salt ) . $md5_once_password );
    }
    
    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_auto_log_in_key($len=60)
    {
        $pass = generate_password_salt( $len );
        
        return md5($pass);
    }
    
    
    
    function make_password()
    {
        $pass = "";
        
        $unique_id     = uniqid( mt_rand(), TRUE );
        $prefix        = generate_password_salt();
        $unique_id .= md5( $prefix );
        
        usleep( mt_rand(15000,1000000) );
        
        mt_srand( (double)microtime()*1000000 );
        $new_uniqueid = uniqid( mt_rand(), TRUE );
        
        $final_rand = md5( $unique_id.$new_uniqueid );
        
        mt_srand(); // Wipe out the seed
        
        for ($i = 0; $i < 15; $i++)
        {
            $pass .= $final_rand{ mt_rand(0, 31) };
        }
    
        return $pass;
    }

Всего записей: 2603 | Зарегистр. 02-05-2003 | Отправлено: 20:44 17-04-2007
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » IkonBoard и другие форумы » Invision Board » PHP, MySQL: Интеграция сайта и форума IPB (Invision Board)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru