Просмотр файла modules/user/secure.php

Размер файла: 6Kb
<?php

// проверка наличия авторизации
if (!isset($user))
{
    # Перенаправляем на главную
    header('Location: /');   
}

# Заголовок модуля
$system['page_title'] = 'Безопасность';

# Шапка модуля
require_once(HOME .'/incfiles/header.php');

// привязка к email
if (isset($_POST['email']))
{
    # E-mail
    $email = txt($_POST['email']);    
    
    # Проверка длины логина
    if (!empty($email) && (strlen($email) < 3 || strlen($email) > 72)) $err .= 'Неверная длина E-Mail. Допустимо от 3 до 72 символов<br />';
    
    # Формат
    if (!empty($email) && !preg_match('|^([a-z0-9_\.\-]{1,20})@([a-z0-9\.\-]{1,20})\.([a-z]{2,4})$|ius', $email)) $err .= 'Неверный формат E-Mail<br />';
    
    # Проверка занятости логина
    if (mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE `email` = '". input($email) ."'"), 0) != 0) $err .= 'E-Mail ' . $email . ' занят. Выберите другой<br />';
    
    if (!isset($err))
    {
        # Сохраняем данные
        mysql_query("UPDATE `users` SET `email` = '". input($email) ."' WHERE `id` = '$user[id]' LIMIT 1");
        
        echo '<div class="title">Привязка к E-Mail</div>
        <div class="menu">
        Ваш аккаунт успешно привязан к E-Mail '. output($email) .'
        </div>';
        
        echo '<div class="block">
        &raquo; <a href="/user/secure.php">Безопасность</a><br />
        &raquo; <a href="/user/cabinet.php">Личный кабинет</a><br />
        &raquo; <a href="/">На главную</a>
        </div>';
        
        # Ноги модуля
        require_once(HOME .'/incfiles/footer.php');
    }
}

// смена пароля
if (isset($_POST['change_password']))
{
    # Старый пароль
    $old_password = txt($_POST['old_password']);
    
    # Проверка ввода пароля
    if (empty($old_password)) $err .= 'Не введен старый пароль<br />';
    
    # Шифруем старый пароль
    if (!isset($err)) $old_password = encrypt($old_password);
    
    # Проверяем правильность
    if (!empty($old_password) && $old_password != $user['password']) $err .= 'Неверный текущий пароль<br />'; 

    # Пароль
    $password = txt($_POST['password']);
    
    # Проверка ввода пароля
    if (empty($password)) $err .= 'Не введен новый пароль<br />';
    
    # Проверка длины пароля
    if (!empty($password) && (strlen($password) < 5 || strlen($password) > 64)) $err .= 'Неверная длина нового пароля. Допустимо от 5 до 64 символов<br />';
    
    # Повторный пароль    
    $password2 = txt($_POST['password2']);
    
    # Проверка ввода повторного пароля
    if (empty($password2)) $err .= 'Не введен повторный пароль<br />';
    
    # Проверка совпадения паролей
    if (!empty($password2) && $password != $password2) $err .= 'Пароли не совпадают<br />';
    
    // запись
    if (!isset($err))
    {
        # Кодируем пароль
        $password = encrypt($password);
    
        # Сохраняем данные
        mysql_query("UPDATE `users` SET `password` = '". input($password) ."' WHERE `id` = '$user[id]' LIMIT 1");
        
        echo '<div class="title">Изменение пароля</div>
        <div class="menu">
        Ваш пароль успешно изменен
        </div>';
        
        echo '<div class="block">
        &raquo; <a href="/user/secure.php">Безопасность</a><br />
        &raquo; <a href="/user/cabinet.php">Личный кабинет</a><br />
        &raquo; <a href="/">На главную</a>
        </div>';
        
        # Ноги модуля
        require_once(HOME .'/incfiles/footer.php');
    }
}

error($err);

echo '<div class="title">Смена пароля</div>
<form method="post" action="/user/secure.php">
<div class="menu">
Текущий пароль:<br />
<input type="password" name="old_password" /><br />
Новый пароль:<br />
<input type="password" name="password" /><br />
Повторите пароль:<br />
<input type="password" name="password2" /><br />
<input type="submit" name="change_password" value="Изменить" />
</div>
</form>';

// email
if (!empty($user['email']))
{
    echo '<div class="title">Привязка к E-Mail</div>
    <div class="menu">
    Ваш аккаунт привязан к E-Mail:<br />
    <u>'. output($user['email']) .'</u><br />
    <span class="small_info">* Смена E-Mail не возможна</span><br />
    </div>';
}
else
{
    echo '<div class="title">Привязка к E-Mail</div>
    <form method="post" action="/user/secure.php">
    <div class="menu">
    Для обеспечения безопасности вашего аккаунта рекомендуется привязать его к вашему почтовому ящику. В этом случае вы сможете восстановить пароль в случае, если забудете его<br />
    Ваш E-Mail:<br />
    <input type="text" name="email" /><br />
    <span class="small_info">* Смена E-Mail в дальнейшем будет не возможна</span><br />
    <input type="submit" value="Привязать" />
    </div>
    </form>';
}

echo '<div class="block">
&raquo; <a href="/user/cabinet.php">Личный кабинет</a><br />
&raquo; <a href="/">На главную</a>
</div>';

# Ноги модуля
require_once(HOME .'/incfiles/footer.php');

?>