Вход Регистрация
Файл: public_html/modules/settings.php
Строк: 141
<?php
include_once ('../core/base.php');
falseauth();

switch(
$act){
default: 
    
$header 'Личные настройки';
    include_once (
'../core/head.php');
    if(isset(
$_GET['mail_status']))
    {
        if(
$u['mail_status'] == 0$db->query("UPDATE `users` SET `mail_status` = '1' WHERE `id` = '".$u['id']."'");
        else 
$db->query("UPDATE `users` SET `mail_status` = '0' WHERE `id` = '".$u['id']."'");
        
redirect('/settings''Статус почты обновлён!');
    }
    echo 
'<a class="link" href="/settings/email/"> Привязать E-MAIL адрес </a>';
    echo 
'<a class="link" href="/settings/pass/"> Сменить пароль </a>';
    echo 
'<a class="link" href="/settings/login/"> Сменить имя игрока </a>';
    echo 
'<a class="link" href="/referal"> Реферальная система </a>';
    echo 
'<a class="link" href="/avatar"> Установить аватар </a>';
    if(
$u['mail_status'] == 1) echo '<a class="link" href="?mail_status"> Закрыть почту </a>';
    else echo 
'<a class="link" href="?mail_status"> Открыть почту </a>';
break;
case 
'activation':
    
$header 'Активация аккаунта';
    include_once (
'../core/head.php');
    
$codeActivation fl($_GET['code']);
    if(!isset(
$codeActivation)) error('Код подтверждения не обнаружен');
    elseif(
$u['activation_code'] != $codeActivationerror('Код подтверждения неправильный');
    elseif(
$u['activation'] == 1error('Аккаунт уже подтвержден');
    else {
        
$base -> query("UPDATE `users` SET `activation` = '1' WHERE `id` = '".$u['id']."'");
        
success('Ваш почтовый ящик успешно подтвержден');
    }
    echo 
'<div class="line"></div>';
    echo 
'<a class="link" href="/settings/"> Вернуться в настройки </a>';
    echo 
'<a class="link bradius" href="/"> Вернуться на главную </a>';
break;
case 
'email':
    
$header 'Привязка EMAIL адреса';
    include_once (
'../core/head.php');
    if(isset(
$_REQUEST['email'])){
        
$email  fl($_POST['mail']);
        
$code generateCode($length 10);
        
$sqlMail $base -> query("SELECT COUNT * FROM `users` WHERE `email` = '$email'") -> num_rows;
        
        if(
$sqlMail 0error('Такой e-mail уже занят');
        elseif (!
preg_match('/[0-9a-z_-]+@[0-9a-z_-^.]+.[a-z]{2,6}/i'$email)) error('Неправильный формат почтового ящика');
        elseif(!empty(
$u['activation_code'])) error('Код подтверждения уже был отправлен ранее');
        elseif(
$u['activation'] == 1error('Вы уже подтвердили почтовый ящик');
        else{
            
$base -> query("UPDATE `users` SET `email` = '$email', `activation_code` = '".$code."', `activation` = '0' WHERE `id` = '".$u['id']."'");
            
$message '
                Здравствуйте, '
.$u['login'].'. 
                Вы заказали подтверждение почтового адреса в игре Могущество: Средиземья. Для подтверждения перейдите по ссылке http://'
.$_SERVER['HTTP_HOST'].'/activation/'.$code.'
            -----------------ВНИМАНИЕ!-----------------
                Если Вы, не заказывали подтверждение вашего почтового адреса в нашей игре, то просто проигрнориу=руйте это сообщение. Всего хорошего!
            '
;
            
mail($email"Подтверждение почтового ящика"$message"Content-type:text/plain; Charset=utf-8rn");
            
success('Ссылка отправлена на вашу почту');
        }
    }
    echo 
'<div class="b">';
    if(
$u['activation'] == 0){
        echo 
'<form action="" method="POST">';
            echo 
'Ваша почта: <br/>';
            echo 
'<input type="text" name="mail" placeholder="..."></br>';
            echo 
'<input type="submit" name="email" value="Подтвердить"></br>';
        echo 
'</form>';
    } else {
        echo 
'К аккаунту привязана почта: <b>'.$u['email'].'</b> ';
    }
    echo 
'</div>';
    echo 
'<div class="line"></div>';
    echo 
'<a class="link" href="/settings/"> Вернуться в настройки </a>';
    echo 
'<a class="link bradius" href="/"> Вернуться на главную </a>';
break;
case 
'pass':
    
$header 'Смена пароля';
    include_once (
'../core/head.php');
    
unsave();
    if(isset(
$_REQUEST['success'])){
        
$p['passLast'] = fl($_POST['passLast']);
        
$p['passNew'] = fl($_POST['passNew']);
        
$p['repassNew'] = fl($_POST['repassNew']);
        if(empty(
$p['passLast']) or empty($p['passNew'])or empty($p['repassNew'])) error('Заполните все поля');
        elseif(
md5($p['passLast']) != $u['password']) error('Неправильно введен старый пароль');
        elseif(
$p['passNew'] != $p['repassNew']) error('Новые пароли не совпадают'); 
        elseif(
strlen($p['passNew']) < || strlen($p['passNew']) > 30error('Пароль должен содержать не менее 6 символов и не более 30');
        elseif(
strlen($p['passNew']) < 6error('Введенный пароль небезопасен. Введите пароль содержащий более 6 символов');
        elseif(
$u['login'] == $p['passNew']) error('Логин и пароль не должны совпадать');
        else {
            
$base -> query("UPDATE `users` SET `password` = '".md5($p['passNew'])."' WHERE `id` = '".$u['id']."'");
            
setcookie('login'$u['login'], time()+86400*365'/');   
            
setcookie('password'md5($p['passNew']), time()+86400*365'/');
            
success('Вы успешно сменили пароль');
        }
    }
    echo 
'<div class="b">';
    echo 
'<div class="title">Смена личного пароля</div>';
    echo 
'<form method="POST" action="">';
    echo 
'Ваш старый пароль: <br/>';
    echo 
'<input type="password" name="passLast" placeholder="Впишите старый пароль..." value="" /> <br/>';
    echo 
'Ваш новый пароль: <br/>';
    echo 
'<input type="password" name="passNew" placeholder="Впишите новый пароль..." value="" /> <br/>';
    echo 
'Ваш новый пароль еще раз: <br/>';
    echo 
'<input type="password" name="repassNew" placeholder="Впишите новый пароль еще раз..." value="" /> <br/>';
    echo 
'<input type="submit" name="success" value="Изменить" />';
    echo 
'</form>';
    echo 
'</div>';
    echo 
'<div class="line"></div>';
    echo 
'<a class="link bradius" href="/settings/"> Вернуться назад </a>';
break;
    case 
'login':
        
$header 'Смена имени игрока';
        include_once (
'../core/head.php');
        if(isset(
$_GET['change']))
        {
            
$login fl($_POST['login']);
            if(empty(
$login)) redirect('/settings/login''Введите имя игрока!');
            if(
mb_strlen($login) > 15redirect('/settings/login''Максимальная длина имени игрока - 15 символов!');
            if(
$login == $u['login']) redirect('/settings/login''Введите другой логин!');
            
$issetUsersWithThisLogin $db->query("SELECT * FROM `users` WHERE `login` = '".$login."'");
            if(
$issetUsersWithThisLogin->num_rows 0redirect('/settings/login''Введите другой логин!');
            if(
$u['change_login_counts'] == && $u['gold'] < 5redirect('/settings/login''Недостаточно гемов!');
            if(
$u['change_login_counts'] > 0$db->query("UPDATE `users` SET `change_login_counts` = `change_login_counts` - '1' WHERE `id` = '".$u['id']."'");
            else 
$db->query("UPDATE `users` SET `gold` = `gold` - '5' WHERE `id` = '".$u['id']."'");
            
$db->query("UPDATE `users` SET `login` = '".$login."' WHERE `id` = '".$u['id']."'");
            
setcookie('login'$logintime()+86400*365'/');
            
setcookie('password'$u['password'], time()+86400*365'/');
            
redirect('/settings/login''Имя игрока изменено!');
        }
        echo 
'<div class="b">
            <center>
                <form action="/settings/login/change" method="post">
                    Новое имя пользователя:<br>
                    <input type="text" name="login" required><br>
                    <input type="submit" name="change" value="Сменить">
                </form>
            </center>
        </div>
        <div class="line"></div>'
;
        if(
$u['change_login_counts'] > 0)
        {
            echo 
'<div class="b">Бесплатных смен имени игрока: '.$u['change_login_counts'].'</div>';
        }
        else
        {
            echo 
'<div class="b">Стоимость смены имени игрока: 5 гемов!</div>';
        }
        break;
}

include_once (
'../core/foot.php');
Онлайн: 0
Реклама