Файл: pages/personal/index.php
Строк: 264
<?php
include '../../system/mysql.php';
include '../../system/sys_func.php';
if (!isset($user)) {
    header('location: /');
    exit;
}
switch($_GET['menu']) {
    case 'settings':
        $error = false;
        $errort = '';
        if (isset($_POST['save'])) {
            $p_page = intval($_POST['p_page']);
            $timezone = filter($_POST['timezone']);
            if (intval($p_page) < 5) {
                $error = true;
                $errort .= '<div class="err">Сообщений на страницу не может быть менее 5.</div>';
            }
            if (intval($p_page) > 100) {
                $error = true;
                $errort .= '<div class="err">Сообщений на страницу не может быть более 100.</div>';
            }
            if (!$error) {
                mysql_query("UPDATE `users` SET `timezone` = '$timezone', `p_page` = '$p_page' WHERE `id` = '". $user['id'] ."'");
                header('Location: ?menu=settings');
            }
        }
        $title = 'Кабинет/Настройки';
        include '../../system/head.php';
        echo '<div class="title"><a href="index.php">Кабинет</a> / Настройки</div>';
        echo $errort;
        echo '<a class="link" href="/?v"><img src="/design/imgs/arr_f.png" align="center">  Изменить вид сайта</a>
        <a class="link" href="?menu=pass"><img src="/design/imgs/arr_f.png" align="center">  Изменить пароль</a>
        <a class="link" href="?menu=login"><img src="/design/imgs/arr_f.png" align="center">  Изменить логин</a>
        <form name="settings" method="post">
        <b>Сообщений на страницу</b> (мин.5/макс.100):<br>
        <input type="text" name="p_page" size="3" value="'. $user['p_page'] .'"><hr>
        <b>Часовой пояс</b>:<br>
        <select name="timezone">';
        $zones = array('Kwajalein' => '-12:00',
            'Pacific/Midway' => '-11:00',
            'Pacific/Honolulu' => '-10:00',
            'America/Anchorage' => '-09:00',
            'America/Los_Angeles' => '-08:00',
            'America/Denver' => '-07:00',
            'America/Tegucigalpa' => '-06:00',
            'America/New_York' => '-05:00',
            'America/Halifax' => '-04:00',
            'America/Sao_Paulo' => '-03:00',
            'Atlantic/South_Georgia' => '-02:00',
            'Atlantic/Azores' => '-01:00',
            'Europe/Dublin' => '00:00',
            'Europe/Belgrade' => '+01:00',
            'Europe/Berlin' => '+02:00',
            'Europe/Kiev' => '+03:00',
            'Europe/Moscow' => '+04:00',
            'Asia/Yekaterinburg' => '+05:00',
            'Asia/Dhaka' => '+06:00',
            'Asia/Krasnoyarsk' => '+07:00',
            'Asia/Brunei' => '+08:00',
            'Asia/Seoul' => '+09:00',
            'Australia/Canberra' => '+10:00',
            'Asia/Magadan' => '+11:00',
            'Pacific/Fiji' => '+12:00');
        foreach($zones as $zone => $times) {
            echo '<option value="'. $zone .'" '. ($zone == $user['timezone'] ? 'selected="selected"' : NULL) .'>'. $times .'</option>';
        }
        echo '</select><br>
        <input type="submit" name="save" value="Сохранить">
        </form>
        <a class="link" href="index.php"><img src="/design/imgs/arr_b.png" align="center"> Кабинет</a>';
    break;
    
    case 'pass':
        $error = false;
        $errort = '';
        if (isset($_POST['edit'])) {
            if (mysql_num_rows(mysql_query("SELECT `id` FROM `users` WHERE `pass` = '". in_md5($_POST['pass']) ."' AND `id` = '". $user['id'] ."' LIMIT 1")) != 1) {
                $error = true;
                $errort .= '<div class="err">Текущий пароль введён не верно.</div>';
            }
            if (strlen($_POST['new_pass']) < 4) {
                $error = true;
                $errort .= '<div class="err">Длина нового пароля должна быть не менее 4-х символов.</div>';
            } elseif (strlen($_POST['new_pass']) > 15) {
                $error = true;
                $errort .= '<div class="err">Длина нового пароля должна быть не более 15-и символов.</div>';
            } elseif(!preg_match("#^([A-z0-9])+$#ui", $_POST['new_pass'])) {
                $error = true;
                $errort .= '<div class="err">В новом пароле присутствуют запрещенные символы.</div>';
            }
            if ($_POST['new_pass'] != $_POST['new_pass2']) {
                $error = true;
                $errort .= '<div class="err">Новые пароли не совпадают.</div>';
            }
            if (!$error) {
                mysql_query("UPDATE `users` SET `pass` = '". in_md5($_POST['new_pass']) ."' WHERE `id` = '". $user['id'] ."'");
                $error = true;
                $errort .= '<div class="info">Пароль успешно изменён.</div>';
            }
        }
        $title = 'Кабинет/Изменение пароля';
        include '../../system/head.php';
        echo '<div class="title"><a href="index.php">Кабинет</a> / Изменение пароля</div>';
        echo $errort;
        echo '<form method="post">
        Текущий пароль:<br><input type="text" name="pass">
        <br>Новый пароль:<br><input type="text" name="new_pass">
        <br>Повторите новый пароль:<br><input type="text" name="new_pass2">
        <br><input type="submit" name="edit" value="Изменить">
        </form>
        <a class="link" href="?menu=settings"><img src="/design/imgs/arr_b.png" align="center"> Настройки</a>
        <a class="link" href="index.php"><img src="/design/imgs/arr_b.png" align="center"> Кабинет</a>';
    break;
    case 'login':
        $error = false;
        $errort = '';
        if (isset($_POST['edit'])) {
            $login = filter($_POST['new_login']);
            if (mysql_num_rows(mysql_query("SELECT `id` FROM `users` WHERE `login` = '". $login ."' LIMIT 1")) == 1) {
                $error = true;
                $errort .= '<div class="err">Такой логин уже используется.</div>';
            }
            if (strlen($login) < 4) {
                $error = true;
                $errort .= '<div class="err">Длина логина должна быть не менее 4-х символов.</div>';
            } elseif (strlen($login) > 15) {
                $error = true;
                $errort .= '<div class="err">Длина логина должна быть не более 15-и символов.</div>';
            } elseif(!preg_match("#^([A-z0-9_])+$#ui", $login)) {
                $error = true;
                $errort .= '<div class="err">В логине присутствуют запрещенные символы.</div>';
            }
            if (!$error) {
                if ($user['bonus'] < 100) {
                    $error = true;
                    $errort .= '<div class="err">Извините, но у вас на счету менее 100 бонусов.</div>';
                } else {
                    mysql_query("UPDATE `users` SET `login` = '". $login ."', `bonus` = '". ($user['bonus']-100) ."' WHERE `id` = '". $user['id'] ."'");
                    header('Location: ?menu=login');
                    exit;
                }
            }
        }
        $title = 'Кабинет/Изменение логина';
        include '../../system/head.php';
        echo '<div class="title"><a href="index.php">Кабинет</a> / Изменение логина</div>';
        echo $errort;
        echo '<div class="info">С вашего счёта будет снято 100 бонусов (у вас '. $user['bonus'] .' бон.)</div>
        <form method="post">
        Введите новый логин (текущий <b>'. $user['login'] .'</b>):<br>
        <input type="text" name="new_login">
        <br><input type="submit" name="edit" value="Изменить">
        </form>
        <a class="link" href="index.php?menu=settings"><img src="/design/imgs/arr_b.png" align="center"> Настройки</a>
        <a class="link" href="index.php"><img src="/design/imgs/arr_b.png" align="center"> Кабинет</a>';
    break;
    default:
        $error = false;
        $errort = '';
        if (isset($_POST['edit'])) {
            $status = filter($_POST['status']);
            $length_status = str_replace(' ', '', $status);
            if (string($length_status) > 100) {
                $error = true;
                $errort .= '<div class="err">Длина статуса должна быть не более 100-а символов.</div>';
            }
            if (!$error) {
                mysql_query("UPDATE `users` SET `status` = '". $status ."' WHERE `id` = '". $user['id'] ."'");
                header('Location: index.php');
                exit;
            }
        }
        $title = 'Кабинет';
        include '../../system/head.php';
        echo '<div class="title">Кабинет</div>';
        echo $errort;
        $n = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `notifications` WHERE `user_id` = '". $user['id'] ."'"), 0);
        $n_n = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `notifications` WHERE `user_id` = '". $user['id'] ."' AND `read` = '0'"), 0);
        $m = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `mail_msg` WHERE `user_2` = '". $user['id'] ."'"), 0);
        $m_n = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `mail_msg` WHERE `user_2` = '". $user['id'] ."'  AND `chit` = '0'"), 0);
        $d = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `diaries` WHERE `id_user` = '". $user['id'] ."'"), 0);
        $d_n = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `diaries` WHERE `id_user` = '". $user['id'] ."' AND `time` > '". (time()-86400) ."'"), 0);
        if ($n_n == 0) { $n_n = NULL; } else { $n_n = '<span class="new">+'. $n_n .'</span>'; }
        if ($m_n == 0) { $m_n = NULL; } else { $m_n = '<span class="new">+'. $m_n .'</span>'; }
        if ($d_n == 0) { $d_n = NULL; } else { $d_n = '<span class="new">+'. $d_n .'</span>'; }
        echo '<form method="post">
        Статус:<br>
        <input type="text" name="status" value="'. $user['status'] .'"> <input type="submit" name="edit" value="Изменить">
        </form>';
        echo '<div class="post">';
        avatar($user['id'], 'a');
        if ($user['status'] != NULL) echo '<br><img src="/design/imgs/star.png"> <span class="status">'. $user['status'] .'</span>';
        echo '<br><img src="/design/imgs/users.png"> '. p(time()) .' <b>'. $user['login'] .'</b>!<br>
        <img src="/design/imgs/calendar.png"> <b>Сегодня</b>: '. day(time()) .' '. date('d', time()) .', '. mounth(time()) .'.<br>
        <img src="/design/imgs/time.png"> <b>Время</b>: '. date('H:i', time()) .'</div>
        <a class="link" href="/pages/avatar/"><img src="/design/imgs/ava.png"> Аватар</a>
        <a class="link" href="/pages/users/user.php?name='. $user['login'] .'"><img src="/design/imgs/ank_view.png"> Анкета</a>
        <a class="link" href="/pages/users/user.php?menu=edit"><img src="/design/imgs/ank_edit.png"> Редактировать анкету</a>
        <a class="link" href="/pages/mail/"><img src="/design/imgs/mail.png"> <b>Сообщения</b><br>
        Входящие: '. $m .' '. $m_n .'</a>
        <a class="link" href="/pages/notifications/"><img src="/design/imgs/notifications.png"> <b>Уведомления</b><br>
        Уведомлений: '. $n .' '. $n_n .'</a>
        <a class="link" href="/pages/diaries/?menu=diary&id='. $user['id'] .'"><img src="/design/imgs/diary.png"> <b>Дневники</b><br>
        Записей: '. $d .' '. $d_n .'</a>
        <a class="link" href="?menu=settings"><img src="/design/imgs/settings.png"> Настройки</a>
        <a class="link" href="/pages/help.php"><img src="/design/imgs/help.png"> Помощь</a>';
        if ($user['position'] == 'admin') echo '<a class="link" href="/pages/panel/"><img src="/design/imgs/panel.png"> Админ-панель</a>';
        echo '<div class="post">Чтобы не вводить при каждом входе логин и пароль, Вы можете создать закладку для автовхода:<br>
        <hr><b>http://'. $_SERVER['SERVER_NAME'] .'/?login='. $user['login'] .'&pass=Ваш_пароль</b></div>';
    break;
}
include '../../system/foot.php';
?>