Файл: pages/personal/index.php
Строк: 269
<?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>';
/* Отправка сообщения */
$titles = 'От '.$_SERVER['HTTP_HOST'];
$body .= "Content-Type: text/plain; charset="utf-8"$EOL";
$msg = 'Здравствуйте '.$login.'!
Вы изменили пароль на сайте '.$_SERVER['HTTP_HOST'].'
Ваш новый пароль
'.filter($_POST['new_pass']);
mail($email, 'Восстановление пароля на '. $_SERVER['HTTP_HOST'], $msg, $body);
}
}
$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';
?>