Вход Регистрация
Файл: _scripts/user/phone.php
Строк: 164
<?
include_once '../sys/inc/start.php';
include_once 
'../sys/inc/compress.php';
include_once 
'../sys/inc/sess.php';
include_once 
'../sys/inc/home.php';
include_once 
'../sys/inc/settings.php';
include_once 
'../sys/inc/db_connect.php';
include_once 
'../sys/inc/ipua.php';
include_once 
'../sys/inc/fnc.php';
include_once 
'../sys/inc/user.php';
only_reg();
include_once 
'../sys/inc/shif.php';

$_SESSION['phone'] = null;

if (isset(
$_GET['smena']))
$_SESSION['smena'] = true;
if (isset(
$_GET['smena']) && $_GET['smena'] == 1)
$_SESSION['smena'] = null;

// Класс обработчика
include_once H.'sys/inc/smsc_api.php';


// Уведомление 
if ($set['smsc_no_balans'] >= abs(intval(get_balance())) && $set['smsc_no_balans_time'] < time() - 60*60*24)
{
    
// отправка сообщения
    
$msgg "Здравствуйте, на вашем аккаунте [b]Smsc.Ru[/b] денежных средств осталось: [b]" abs(get_balance()) . "[/b] единиц.";
    
mysql_query("INSERT INTO `mail` (`id_user`, `id_kont`, `msg`, `time`) values('0', '1', '".my_esc($msgg)."', '$time')");
    
    
$temp_set $set;
    
$temp_set['smsc_no_balans_time'] = time();
    @
save_settings($temp_set);
}


// Отправка пароля
if (isset($_POST["phone"]) && !isset($_POST["mypass"]) && $set['smsc_on'] == 1

    
// Номер телефона
    
$phone abs($_POST["phone"]);
    
$_SESSION['phone'] = $phone;
    
    if (!
preg_match('/^+?([87](?!95[4-79]|99[^2457]|907|94[^0]|336|986)([348]d|9[0-689]|7[0247])d{8}|[1246]d{9,13}|68d{7}|5[1-46-9]d{8,12}|55[1-9]d{9}|55119d{8}|500[56]d{4}|5016d{6}|5068d{7}|502[45]d{7}|5037d{7}|50[457]d{8}|50855d{4}|509[34]d{7}|376d{6}|855d{8}|856d{10}|85[0-4789]d{8,10}|8[68]d{10,11}|8[14]d{10}|82d{9,10}|852d{8}|90d{10}|96(0[79]|17[01]|13)d{6}|96[23]d{9}|964d{10}|96(5[69]|89)d{7}|96(65|77)d{8}|92[023]d{9}|91[1879]d{9}|9[34]7d{8}|959d{7}|989d{9}|97d{8,12}|99[^4568]d{7,11}|994d{9}|9955d{8}|996[57]d{8}|9989d{8}|380[34569]d{8}|381d{9}|385d{8,9}|375[234]d{8}|372d{7,8}|37[0-4]d{8}|37[6-9]d{7,11}|30[69]d{9}|34[67]d{8}|3[12359]d{8,12}|36d{9}|38[1679]d{8}|382d{8,9})$/'$phone) || !is_numeric($phone))
    
$err 'Неверный формат номера';
    
    
$pass mt_rand(11119999);
    
$pass_link shif($user['pass'] . $phone);    
    
    
    if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `phone` = '".$phone."' AND `id` != '$user[id]'"),0) != 0)
    
$err[] = 'Пользователь с этим номером уже зарегистрирован';
    
    if (isset(
$_SESSION['flood']) && $_SESSION['flood'] > time() - 300
    
$err[] = 'Cлишком частые попытки';
    
    
// Отправляем сообщение
    
if (!$err)
    {
        
$r send_sms($phone"Kod: $pass");
    
        if (
$r[1] > 0
        {    
            if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `user_reg` WHERE `id_user` = '$user[id]'"),0) == 1)
            {
                
                
// Записываем в логи
                
$log ' Изменение номера ';
                
mysql_query("INSERT INTO `user_reg_log` (`time`, `id_user`, `phone`, `msg`, `ip`, `ip_cl`, `ip_xff`, `ua`) 
                VALUES ('
$time', '$user[id]', '$phone', '$log', '".ip2long($ip2['add'])."', '".ip2long($ip2['cl'])."', '".ip2long($ip2['xff'])."', '".my_esc($ua)."')");
                
                
mysql_query("DELETE FROM `user_reg` WHERE `id_user` = '$user[id]'");
                
mysql_query("INSERT INTO `user_reg` (`time`, `id_user`, `phone`, `pass`, `show_pass`, `aut`) VALUES 
                ('
$time', '$user[id]', '$phone', '".shif($pass)."', '".$pass."', '$pass_link')");
            }
            else
            {
                
mysql_query("INSERT INTO `user_reg` (`time`, `id_user`, `phone`, `pass`, `show_pass`, `aut`) VALUES 
                ('
$time', '$user[id]', '$phone', '".shif($pass)."', '".$pass."', '$pass_link')");
                
                
// Записываем в логи
                
$log ' Подтверждение номера ';
                
mysql_query("INSERT INTO `user_reg_log` (`time`, `id_user`, `phone`, `msg`, `ip`, `ip_cl`, `ip_xff`, `ua`) 
                VALUES ('
$time', '$user[id]', '$phone', '$log', '".ip2long($ip2['add'])."', '".ip2long($ip2['cl'])."', '".ip2long($ip2['xff'])."', '".my_esc($ua)."')");
            }
            
            
$_SESSION['flood'] = time();
            
setcookie('phone'$phonetime()+60*60*24*365);
            
            
$_SESSION['message'] = 'Код успешно отправлен';    
            
header('Location: ?enter');
            exit;
        }
    }
}


// Подтверждаем
if (isset($_GET['enter']))
{
    
// Чистим куки
    
if ($_GET['enter'] == 1)
    
$_COOKIE['phone'] = null
    
    if (isset(
$_POST['password']) && isset($_POST['mypass']))
    {
        if (
shif($_POST['mypass']) != $user['pass'])
        
$err[] = 'Неверный пароль';
        
        if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `user_reg` WHERE `pass` = '".shif(my_esc($_POST['password']))."' AND (`id_user` = '0' OR `id_user` = '$user[id]')"),0) == 0)
        
$err[] = 'Неверный код подтверждения';
        
        if (!
$err)
        {
            
$user_tmp mysql_fetch_assoc(mysql_query("SELECT * FROM `user_reg` WHERE `pass` = '".shif(my_esc($_POST['password']))."' AND (`id_user` = '0' OR `id_user` = '$user[id]') LIMIT 1"));
            
            
$mypass esc($_POST['mypass']);
            
            
mysql_query("UPDATE `user` SET `phone` = '$user_tmp[phone]' WHERE `id` = '$user[id]' LIMIT 1");
            
            
$pass esc($_POST['password']);
            
            
// Запись для автовхода
            
mysql_query("UPDATE `user_reg` SET `pass` = '".shif($mypass)."', `aut` = '".shif($mypass $user_tmp['phone'])."', `show_pass` = '".$mypass."' WHERE `phone` = '".$user_tmp['phone']."' LIMIT 1");
            
            
// отправка сообщения
            
$msgg "Уважаемый ".user::nick($user['id'], 0).", вы успешно ".($user_tmp['id_user'] == "подтвердили" "изменили")." свой номер мобильного телефона! :)";
            
mysql_query("INSERT INTO `mail` (`id_user`, `id_kont`, `msg`, `time`) values('0', '$user[id]', '".my_esc($msgg)."', '$time')");
            
            
$_SESSION['smena'] = null;
            
setcookie('phone'nulltime());
            
header('Location: ?enter');
            exit;
        }
    }
}

$set['title'] = 'Подтверждение номера телефона'// заголовок страницы

include_once '../sys/inc/thead.php';
title();
aut();
err();

echo 
'<div class="foot">';
echo 
'<img src="/style/icons/str2.gif" alt="*" /> <a href="/id' $user['id'] . '">' user::nick($user['id']) . '</a> | <b>Номер мобильного</b>';
echo 
'</div>';

if (isset(
$_GET['enter']))
{
    echo 
'<div class="mess">';
    echo 
'Уважаемый '.user::nick($user['id'], 0).', вы успешно подтвердили свой номер мобильного телефона!<br />';
    echo 
'</div>';
}
else
{
    if (!isset(
$user['phone']) || isset($_SESSION['smena']))
    {
        echo 
'<div class="mess">';
        if (
$set['smsc_all'])
        {
            echo 
'Вам необходимо указать номер своего мобильного телефона.<br />';
        }
        echo 
'Подтвердите номер своего мобильного телефона, и станьте полноценным обитателем ' text($_SERVER['HTTP_HOST']);
        echo 
'</div>';    
    }
}

echo 
'<div class="nav2">';

if (!isset(
$user['phone']) || isset($_SESSION['smena']))
{
    if (!isset(
$_COOKIE['phone']))
    {
        
?>
        Ваш номер:<br />
        
        <form action="?" method="POST">
        <input type="text" name="phone" size="12" value="<?=$_SESSION['phone']?>"><br />
        <span style="color:gray">(Например, 79110123456)</span><br /><br />
        <input type="submit" value="Продолжить" name="sendsms"/>
        </form>
        <?    
        
if (isset($_SESSION['smena']))    
        echo 
'<br /><a href="?smena=1">Не изменять</a>';
    }
    else
    {
        
?>
        <form method="post" action="?enter">
        На ваш номер <span style="color:green"><b><?=abs($_COOKIE['phone'])?></b></span> отправлен код для подтверждения.<br/><br/>
        Введите код здесь:<br />
        <input name="password" size="6" maxlength="4" type="text" value=""><br/>
        Текущий пароль:<br />
        <input name="mypass" size="12" maxlength="20" type="text" value=""><br/>
        <input type="hidden" name="phone" value="<?=abs($_COOKIE['phone'])?>"/>
        <input type="submit" value="Сохранить" />
        </form> 
        
        <div class="mess">
            Если СМС не пришло в течение 10 минут, попробуйте <a href="?enter=1"><b>повторить отправку</b></a>.
        </div>
        <?        
    
}    
}
else
{
    echo 
'<img src="/style/icons/ok.gif" /> <b style="color:green">' $user['phone'] . '</b><br /><a href="?smena">Изменить</a>';
}
echo 
'</div>';

echo 
'<div class="foot">';
echo 
'<img src="/style/icons/str2.gif" alt="*" /> <a href="/id' $user['id'] . '">' user::nick($user['id']) . '</a> | <b>Номер мобильного</b>';
echo 
'</div>';

include_once 
'../sys/inc/tfoot.php';
?>
Онлайн: 1
Реклама