Просмотр файла pages/office.php

Размер файла: 8.61Kb
<?php 
// by mides, icq: 529-899-6, mail: [email protected]

$title = 'Мой кабинет';
require("../config.php");
require("../includes/start.php");
if(empty($_SESSION['login'])){header("location: ../");}
require("../includes/functions.php");

tp('Мой кабинет');

switch($_GET['act']){

###############################################################################
##                      Главная страница кабинета                            ##
###############################################################################
default:

echo '<div class="s1">Меню</div><div class="s2">';
echo '<a href="profile.php?id='.$_SESSION['user_id'].'">Мой профиль</a><br/>';
echo '<a href="?act=profile">Изменить профиль</a><br/>';
echo '<a href="?act=settings">Мои настройки</a><br/>';
echo '<a href="?act=pm">Пароль и e-mail</a><br/>';
echo '<a href="?act=exit">Завершение сеанса</a></div>';
nav();

break;

###############################################################################
##                Форма редактирования профиля                               ##
###############################################################################
case 'profile':

$profile = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '".$_SESSION['user_id']."'"));

echo '<div class="s1">Изменить профиль</div><div class="s2">';
echo '<form action="office.php?act=profile_do" method="post" name="form">';
echo 'Имя:<br/><input name="name" type="text" maxlength="25" value="'.$profile['profile_name'].'" /><br/>';
echo 'Страна:<br/><input name="country" type="text" maxlength="25" value="'.$profile['profile_country'].'" /><br/>';
echo 'Откуда:<br/><input name="from" type="text" maxlength="25" value="'.$profile['profile_from'].'" /><br/>';
echo 'ICQ:<br/><input name="icq" type="text" maxlength="10" value="'.$profile['profile_icq'].'" /><br/>';
echo 'Сайт:<br/><input name="site" type="text" maxlength="25" value="'.$profile['profile_site'].'" /><br/>';
echo 'Дата рождения(дд.мм.гггг):<br/><input name="birthday" type="text" maxlength="10" value="'.$profile['profile_birthday'].'" /><br/>';
echo 'Пол:<br/>';
if($profile['profile_sex'] == 1){
 echo 'Муж<input name="sex" type="radio" value="1" checked />&nbsp;&nbsp;<input name="sex" type="radio" value="2" />Жен<br/>';
}elseif($profile['profile_sex'] == 2){
 echo 'Муж<input name="sex" type="radio" value="1"/>&nbsp;&nbsp;<input name="sex" type="radio" value="2" checked />Жен<br/>';
}else{
 echo 'Муж<input name="sex" type="radio" value="1"/>&nbsp;&nbsp;<input name="sex" type="radio" value="2" />Жен<br/>';
}
echo 'О себе(max150):<br/><textarea name="about" rows="3">'.$profile['profile_about'].'</textarea><br/>';
echo '<input name="submit" type="submit" value="Сохранить" /></form></div>';

nav2('office.php', 'назад в кабинет');
break;

###############################################################################
##                      Редактирование профиля                               ##
###############################################################################
case 'profile_do':

if(strlen($_POST['about']) <= 150){
	$name = sec($_POST['name']);
	$country = sec($_POST['country']);
	$from = sec($_POST['from']);
	$icq = sec($_POST['icq']);
	$site = sec($_POST['site']);
	$birthday = sec($_POST['birthday']);
	$sex = sec($_POST['sex']);
	$about = sec($_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` = '".$_SESSION['user_id']."'");
	info('Профиль успешно сохранен!');
	nav2('office.php', 'назад в кабинет');
}else{
	error('Слишком длинное поле "О себе"!');
	nav2('office.php?act=profile', 'назад');
}

break;

###############################################################################
##                    Форма редактирования настроек                          ##
###############################################################################
case 'settings':

echo '<div class="s1">Настройки</div><div class="s2">';

echo '<form action="?act=settings_do" method="post" name="form">';

echo 'Стиль сайта:<br/><select name="style">';
echo '<option value="'.$config['style'].'">'.$config['style'].'</option>';
foreach (glob("../styles/*.css") as $styles){
	if (basename($styles) != $config['style']){
		echo '<option value="'.basename($styles).'">'.basename($styles).'</option>';
	}
}
echo '</select><br />';

echo 'Элементов на страницу:<br/><input name="onpage" type="text" value="'.$config['onpage'].'" maxlength="2" /><br/>';
echo '<input name="submit" type="submit" value="Сохранить" /></form>';
echo '</div>';

nav2('office.php', 'назад в кабинет');

break;


###############################################################################
##                       Редактирование настроек                             ##
###############################################################################
case 'settings_do':

if(!empty($_POST['style']) && !empty($_POST['onpage'])){
	$style = sec($_POST['style']);
	$onpage = num($_POST['onpage']);
	
	mysql_query("UPDATE `users` SET `set_style` = '$style', `set_onpage` = '$onpage' WHERE `id` = '".$_SESSION['user_id']."'");
	info('Настройки успешно сохранены!');
	nav2('office.php', 'назад в кабинет');
}else{
	error('Вы не заполнили поля!');
	nav2('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;

###############################################################################
##                        Выход, завершение сеанса                           ##
###############################################################################
case 'exit':

unset($_SESSION['user_id']);
unset($_SESSION['login']);
unset($_SESSION['access']);
info('Вы успешно завершили сеанс');
nav();

break;

}

require("../includes/tail.php");
?>