Файл: user.php
Строк: 137
<?php
include_once 'inc/bd.php';
include_once 'inc/fun.php';
include_once 'inc/v.php';
switch( isset($_GET['act']) ? $_GET['act'] : false ) {
    default:
    if(!$profile) {
    
        if(!empty($_POST['login']) && !empty($_POST['pass']) && isset($_SESSION['captcha_keystring']) && isset($_POST['captcha']) && !is_array($_POST['login']) && !is_array($_POST['pass'])) {
        
                $autorize = false;
                $sql = mysql_query("select id, login, pass, ban, bantext from `users` where `login`='".mysql_real_escape_string($_POST['login'])."' limit 1;");
                if(!mysql_num_rows($sql)) {
                    if(isset($_SESSION['reg']) && $_SESSION['reg'] > time()) {
                        
                        $err = true;
                        
                        echo '<div class="err">Вы уже регистрировались</div>';
                    
                    } elseif($_SESSION['captcha_keystring'] != $_POST['captcha']) {
                        
                        $err = true;
                        
                        echo '<div class="err">Неверно введен код с картинки</div>';
                    
                    } elseif(mysql_query("insert into `users` set `login`='".mysql_real_escape_string($_POST['login'])."', `pass`='".mysql_real_escape_string($_POST['pass'])."', `regtime`='".time()."', `regip`='".mysql_real_escape_string($_SERVER['REMOTE_ADDR'])."';")) {
                        $autorize = true;
                        
                        $_SESSION['reg'] = time() + 30;
                        
                    }
                } else {
                    $row = mysql_fetch_assoc($sql);
                    if($row['pass'] == $_POST['pass']) $autorize = true;
                }
                if($autorize) {
 
                    if($row['ban']) {
                    
                        echo '<div class="err">Вы заблокированы. <br/> '.(!empty($row['bantext']) ? '<u>Причина</u>: '.html($row['bantext']) : '').'</div>';
                    
                    } else {
                    
                        $_SESSION['user'] = array('login' => $_POST['login'], 'pass' => $_POST['pass']);
                        echo '<div class="menu">Вы успешно авторизовались. </div>
                        <div class="amenu">
                        » <a href="'.$home.'/">Перейти на сайт</a><br/>
                        » <a href="'.$_SERVER['PHP_SELF'].'?act=pass">Сменить пароль</a><br/>
                        » <a href="'.$_SERVER['PHP_SELF'].'?act=setup">Настройки</a><br/>
                        » <a href="'.$_SERVER['PHP_SELF'].'?logout=1">Выход</a><br/>
                        </div>';
                        include_once 'inc/n.php';
                        exit;
                    
                    }
                    
                } elseif(!isset($err)) {
                    echo '<div class="err">Ошибка авторизации</div>';
                }
            
        } else {
        
            echo '<div class="menu">
            Пройдя `Авторизацию`, Вы<br/> сможете навсегда зарезервировать <br/> за собой ник (имя) и обезопасить себя от подделок (:
            </div>';
            
        }
     
        echo '
        
        <div class="menu">
        <form action="'.$_SERVER['PHP_SELF'].'" method="post">
        Ваш логин: <br/><input type="text" name="login" maxlength="14" /><br/>
        Ваш пароль: <br/><input type="password" name="pass" maxlength="15" /> <br/>
        Текст с картинки <img src="'.$home.'/captcha/index.php" id="image_captcha" alt="Loading..."/>:<br/>
        <input type="text" size="3" name="captcha" maxlength="4"/> 
        <input type="button" onclick="document.images.image_captcha.src='/captcha/index.php?'+Math.random()" name="refresh_code" value="Обновить картинку" /><br /><br />
        <input type="submit" value="Вперед" />
        </form>
        </div>';
    } elseif(isset($_GET['logout'])) {
    
        unset($_SESSION['user']);
        echo '<div class="menu">Выход выполнен.</div>';
    
    } else {
    
        echo '<div class="amenu">
            » <a href="'.$home.'/">Перейти на сайт</a><br/>
            » <a href="'.$_SERVER['PHP_SELF'].'?act=pass">Сменить пароль</a><br/>
            » <a href="'.$_SERVER['PHP_SELF'].'?act=setup">Настройки</a><br/>
            » <a href="'.$_SERVER['PHP_SELF'].'?logout=1">Выход</a><br/>
            </div>';
        
    }
    
    break;
    
    
    case 'pass':  
    
    if(!$profile) {
        
        header("Location: ".$_SERVER['PHP_SELF']);
        exit;
        
    }
    
    if(!empty($_POST['realpass']) && !empty($_POST['newpass']) && !empty($_POST['newpass2'])) {
        
        if($_POST['realpass'] != $profile['pass']) { 
        
            echo '<div class="err">Неверно указан действующий пароль</div>';
        
        } elseif($_POST['newpass'] != $_POST['newpass2']) {
        
            echo '<div class="err">Новые пароли не сходятся</div>';
        
        } elseif(mysql_query("update `users` set `pass`='".mysql_real_escape_string($_POST['newpass'])."' where `id`='".$profile['id']."'")) {
            
            $_SESSION['user']['pass'] = $_POST['newpass'];
            
            echo '<div class="menu">Пароль успешно изменен</div>';
        
        } else {
        
            echo '<div class="err">Произошла ошибка при изменении пароля</div>';
        
        }
    
    }
    
    echo '<div class="menu">
    <form action="'.$_SERVER['PHP_SELF'].'?act=pass" method="post">
    Действующий пароль: <br/><input type="text" name="realpass" /><br/>
    Новый пароль: <br/><input type="text" name="newpass" /> <br/>
    Потвердите Новый пароль: <br/><input type="text" name="newpass2" /> <br/>
    <input type="submit" value="Изменить" />
    </form>
    </div>';
    
    break;
    
    case 'setup':
    
    if(!$profile) {
        
        header("Location: ".$_SERVER['PHP_SELF']);
        exit;
        
    }
    
    if(!empty($_POST)) {
    
        $sql = '';
        
        # в падлу было красиво составлять (:
        
        if(!empty($_POST['name'])) $sql .= "`name` = '".mysql_real_escape_string($_POST['name'])."', ";
        if(!empty($_POST['birdthay'])) $sql .= "`birdthay` = '".mysql_real_escape_string($_POST['birdthay'])."', ";
        if(!empty($_POST['sex'])) $sql .= "`sex` = '".mysql_real_escape_string($_POST['sex'])."', ";
        if(!empty($_POST['email']) && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) $sql .= "`email` = '".mysql_real_escape_string(strtolower($_POST['email']))."', ";
        
        if(mysql_query("update `users` set ".($sql)." `icq`='".(isset($_POST['icq']) ? intval(substr($_POST['icq'], 0, 9)) : '')."', `site`='".(isset($_POST['site']) ? mysql_real_escape_string($_POST['site']) : '')."' where `id`='".$profile['id']."' limit 1;")) {
        
            echo '<div class="menu">Профиль успешно изменен</div>';
            
        } else echo '<div class="err">Произошла ошибка при изменении профиля</div>';
        
        $profile = $_POST;
 
    }
    
    echo '<div class="menu">
    <form action="'.$_SERVER['PHP_SELF'].'?act=setup" method="post">
    Реальное имя: <br/><input type="text" maxlength="15" name="name" value="'.html($profile['name']).'"/><br/>
    Возраст: <br/><input type="text" name="birdthay" value="'.html($profile['birdthay']).'"/><br/>
    Пол:  <select name="sex">
    <option value="0"'.($profile['sex'] == 0 ? ' selected="selected"' : '').'>Не выбрано</option>
    <option value="1"'.($profile['sex'] == 1 ? ' selected="selected"' : '').'>Муж.</option>
    <option value="2"'.($profile['sex'] == 2 ? ' selected="selected"' : '').'>Жен.</option>
    </select><br/>
    Email: <br/><input type="text" name="email" value="'.(empty($profile['email']) ? '@' : html($profile['email'])).'"/><br/>
    ICQ(цифрами): <br/><input type="text" name="icq" maxlength="9" value="'.(empty($profile['icq']) ? '' : intval($profile['icq'])).'"/><br/>
    Сайт: <br/><input type="text" name="site" value="'.html($profile['site']).'"/><br/>
    <input type="submit" value="Изменить" />
    </form>
    </div>';
    
    break;
    
    
    case 'profile':
    
    $sql = mysql_query("select * from `users` where `login`='".mysql_real_escape_string($_GET['u'])."' limit 1;");
    
    if(mysql_num_rows($sql)) {
    
        $row = mysql_fetch_assoc($sql);
        
        echo '<div class="menu">
        ID: '.$row['id'].'<br/>
        Реальное имя: '.(!empty($row['name']) ? html($row['name']): '-').'<br/>
        Дата регистрации: '.date('d/m/Y', $row['regtime']).'<br/>
        '.((isset($_SESSION['admin'], $_SESSION['pwd']) && ($_SESSION['admin'] == $adminlogin && $_SESSION['pwd'] == $setup['password'])) ? 'Регистрационный IP: '.html($row['regip']).'' : '').'
        Пол: '.($row['sex'] == 1 ? 'Муж' : ($row['sex'] == 2 ? 'Жен.' : '-')).'<br/>
        Возраст: '.(!empty($row['birdthay']) ? html($row['birdthay']): '-').'<br/>
        Email: '.(!empty($row['email']) ? html($row['email']): '-').'<br/>
        ICQ: '.(!empty($row['icq']) ? html($row['icq']): '-').'<br/>
        Сайт: '.(!empty($row['site']) ? '<a target="_blank" href="'.html($row['site']).'">'.html($row['site']).'</a>' : '-').'<br/>
        
        </div>';
        //'Регистрационный IP: '.html($row['regip']).'
    
    } else {
    
        echo '<div class="err">Пользователь ненайден</div>';
    
    }
    
    break;
    
    
}
include_once 'inc/n.php';
?>