Размер файла: 8.45Kb
<?php
// by mides, wmclub.mobi
$title = 'Личный кабинет';
require('../config.php');
require('../includes/sys.php');
require('../includes/start.php');
require('../includes/auth_u.php');
require('../includes/header.php');
switch($_GET['act']){
###############################################################################
## Главная страница кабинета ##
###############################################################################
default:
tp('Личный кабинет');
echo '<a href="profile.php?u='.$u['id'].'">Мой профиль</a><br/>';
echo '<a href="?act=profile">Изменить профиль</a><br/>';
$private = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `private` WHERE `id_user` = '$u[id]'"), 0);
echo '<a href="private.php">Мои сообщения</a> ('.$private.')<br/>';
echo '<a href="private.php?act=send">Отправить письмо</a><br/>';
$friends = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `friends` WHERE `is_friend_for` = '$u[id]'"), 0);
echo '<a href="friends.php">Контакт-лист</a> ('.$friends .')<br/>';
$foes = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `foes` WHERE `is_foe_for` = '$u[id]'"), 0);
echo '<a href="foes.php">Игнор-лист</a> ('.$foes.')<br/>';
echo '<a href="?act=settings">Мои настройки</a><br/>';
//echo '<a href="?act=pm">Пароль и e-mail</a><br/>';
echo '<a href="exit.php">Завершение сеанса</a>';
nav_main();
break;
###############################################################################
## Форма редактирования профиля ##
###############################################################################
case 'profile':
$profile = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '$u[id]'"));
tp('Изменить профиль');
echo '<form action="office.php?act=profile_do" method="post" name="form">
Имя:<br/><input name="name" type="text" maxlength="25" value="'.$profile['profile_name'].'" /><br />
Страна:<br/><input name="country" type="text" maxlength="25" value="'.$profile['profile_country'].'" /><br />
Откуда:<br/><input name="from" type="text" maxlength="25" value="'.$profile['profile_from'].'" /><br />
ICQ:<br/><input name="icq" type="text" maxlength="10" value="'.$profile['profile_icq'].'" /><br />
Сайт(без http://):<br/><input name="site" type="text" maxlength="25" value="'.$profile['profile_site'].'" /><br />
Дата рождения(дд.мм.гггг):<br/><input name="birthday" type="text" maxlength="10" value="'.$profile['profile_birthday'].'" /><br />
Пол:<br />';
if($profile['profile_sex'] == 1){
echo 'Муж<input name="sex" type="radio" value="1" checked /> <input name="sex" type="radio" value="2" />Жен<br/>';
}elseif($profile['profile_sex'] == 2){
echo 'Муж<input name="sex" type="radio" value="1"/> <input name="sex" type="radio" value="2" checked />Жен<br/>';
}else{
echo 'Муж<input name="sex" type="radio" value="1"/> <input name="sex" type="radio" value="2" />Жен<br/>';
}
echo 'О себе(max150):<br/><textarea name="about" rows="3">'.$profile['profile_about'].'</textarea><br />
<input name="submit" type="submit" value="Сохранить" /></form>';
nav2('?', 'Назад в кабинет');
break;
###############################################################################
## Редактирование профиля ##
###############################################################################
case 'profile_do':
if(strlen($_POST['about']) <= 150){
$name = check($_POST['name']);
$country = check($_POST['country']);
$from = check($_POST['from']);
$icq = check($_POST['icq']);
$site = check($_POST['site']);
$birthday = check($_POST['birthday']);
$sex = check($_POST['sex']);
$about = check($_POST['about']);
mysql_query("UPDATE `users` SET `profile_name` = '$name', `profile_country` = '$country', `profile_from` = '$from', `profile_icq` = '$icq', `profile_site` = '$site', `profile_birthday` = '$birthday', `profile_sex` = '$sex', `profile_about` = '$about' WHERE `id` = '$u[id]'");
info('Профиль успешно сохранен!');
nav2('?', 'Назад в кабинет');
}else{
error('Слишком длинное поле "О себе"!');
nav('office.php?act=profile');
}
break;
###############################################################################
## Форма редактирования настроек ##
###############################################################################
case 'settings':
tp('Настройки');
echo '<form action="?act=settings_do" method="post" name="form">
Стиль сайта:<br /><select name="style">
<option value="'.$config['style'].'">'.$config['style'].'</option>';
foreach (glob("../styles/*") as $styles){
if (basename($styles) != $config['style']){
echo '<option value="'.basename($styles).'">'.basename($styles).'</option>';
}
}
echo '</select><br />
Элементов на страницу:<br/><input name="onpage" type="text" value="'.$config['onpage'].'" maxlength="2" /><br />
<input name="submit" type="submit" value="Сохранить" /></form>';
nav2('office.php', 'Назад в кабинет');
break;
###############################################################################
## Редактирование настроек ##
###############################################################################
case 'settings_do':
if(!empty($_POST['style']) && !empty($_POST['onpage'])){
$style = check($_POST['style']);
$onpage = intval($_POST['onpage']);
mysql_query("UPDATE `users` SET `set_style` = '$style', `set_onpage` = '$onpage' WHERE `id` = '$u[id]'");
info('Настройки успешно сохранены!');
nav('?');
}else{
error('Вы не заполнили поля!');
nav('office.php?act=settings');
}
break;
###############################################################################
## Форма редактирования пароля и e-mail'a ##
###############################################################################
case 'pm':
$user = mysql_fetch_assoc(mysql_query("SELECT `user_mail` FROM `users` WHERE `id` = '".$_SESSION['user_id']."'"));
echo '<div class="s1">Пароль и e-mail</div><div class="s2">';
echo '<form action="?act=pm_do" method="post" name="form">';
echo 'Ваш e-mail: <u>'.$user['user_mail'].'</u><br/>';
echo 'Новый пароль:<br/><input name="pass_new" type="text" maxlength="20" /><br/>';
echo 'Старый пароль:<br/><input name="pass" type="text" maxlength="20" /><br/>';
echo '<input name="submit" type="submit" value="Сохранить" /></form>';
echo '</div>';
nav2('office.php', 'назад в кабинет');
break;
###############################################################################
## Редактирования пароля и e-mail'a ##
###############################################################################
case 'pm_do':
if(!empty($_POST['pass_new']) && !empty($_POST['pass'])){
$pass_new = sec($_POST['pass_new']);
$pass = sec($_POST['pass']);
if(!preg_match('|^[a-z0-9\-]+$|i', $pass_new) or !preg_match('|^[a-z0-9\-]+$|i', $pass)){
error('Недопустимые символы. Разрешены знаки латинского алфавита, цифры и дефис!');
nav2('?act=pm', 'назад');
break;
}
$user = mysql_fetch_assoc(mysql_query("SELECT `user_pass` FROM `users` WHERE `id` = '".$_SESSION['user_id']."'"));
if($user['user_pass'] != md5($pass)){
error('Старый пароль введен неверно!');
nav2('?act=pm', 'назад');
break;
}
mysql_query("UPDATE `users` SET `user_pass` = '".md5($pass_new)."' WHERE `id` = '".$_SESSION['user_id']."'");
info('Пароль успешно сохранен!');
nav2('?act=', 'назад в кабинет');
}else{
error('Вы не заполнили поля!');
nav2('?act=pm', 'назад');
}
break;
}
require("../includes/tail.php");
?>