View file pages/office.php

File size: 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 />&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 />
	 <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");
?>