Просмотр файла profile.php

Размер файла: 5.05Kb
<?php
// coding by Felis
require_once('sys/kernel.php');
require_once('temp/cap.php');

$user_info = $db->query("SELECT * FROM `users` WHERE `id`=$u LIMIT 1");
switch($mode)
{
default:
if($user_info->num_rows > 0)
{
	$ui = $user_info->fetch_assoc();
	echo $fnc->head('Профиль '.$ui['login']);
	echo $fnc->cont2('<b><span class="online">'.($ui['ontime'] >= $time - $conf['online'] ? 'В сети' : 'Не в сети').'</span></b>');
	echo $fnc->cont('<b>Дата регистрации:</b><br />'.date('d.m.Y', $ui['regdate']));
	echo $fnc->cont('<b>Последний визит:</b><br />'.date('d '.$fnc->rm(date('m')).', H:i', $ui['lastdate']));
	echo $fnc->head('Личная информация');
	echo !empty($ui['rname']) ? $fnc->cont('<b>Настоящее имя:</b><br />'.$ui['rname']) : NULL;
	echo !empty($ui['birth']) ? $fnc->cont2('<b>День рождения:</b><br />'.$ui['birth']) : NULL;
	echo !empty($ui['from']) ? $fnc->cont('<b>Откуда:</b><br />'.$ui['from']) : NULL;
	echo !empty($ui['ints']) ? $fnc->cont2('<b>Интересы:</b><br />'.$ui['ints']) : NULL;
	echo !empty($ui['site']) ? $fnc->cont('<b>Сайт:</b><br /><a href="http://'.$ui['site'].'">'.$ui['site'].'</a>') : NULL;
	echo ($op == true and ($uid == $u || $adm == true)) ? $fnc->cont('<b>Изменить:</b><br />- <a href="'.CFILE.'?mode=edit&u='.$u.'">личные данные</a><br />- <a href="'.CFILE.'?mode=passwd&u='.$u.'">пароль</a><br />- <a href="enter.php?mode=logout">выход</a><br />') : NULL;
	echo $fnc->cont2('<a href="main.php">На главную</a>');
}
else
{
	echo $fnc->alert('Ошибка!', 'Данного пользователя не существует..');
}
break;

case 'edit':
if($op == true and ($uid == $u || $adm == true))
{
	if(!$_POST)
	{
		$ui = $user_info->fetch_assoc();
		echo $fnc->alert('Личные данные', '<form action="'.CFILE.'?mode=edit&u='.$u.'" method="post">
		Настоящее имя:<br />
		<input type="text" name="rname" value="'.$ui['rname'].'" maxlength="22" /><br />
		День рождения:<br />
		<input type="text" name="birth" value="'.$ui['birth'].'" maxlength="10" /><br />
		Откуда:<br />
		<input type="text" name="from" value="'.$ui['from'].'" /><br />
		Интересы:<br />
		<input type="text" name="ints" value="'.$ui['ints'].'" /><br />
		Сайт <span class="sim">(без http://)</span>:<br />
		<input type="text" name="site" value="'.$ui['site'].'" /><br />
		Элементов на стр. <span class="sim">(от 5 до 50)</span>:<br />
		<input type="text" name="onpage" value="'.$ui['onpage'].'" /><br />
		Автообновление <span class="sim">(от 5 до 60)</span>:<br />
		<input type="text" name="auto_refresh" value="'.$ui['auto_refresh'].'" /><br />
		<input type="submit" value="Сохранить" />
		</form>');
		echo $fnc->cont2('<a href="profile.php?u='.$u.'">В профиль</a>');
	}
	else
	{
		$prp = $db->prepare("UPDATE `users` SET `rname`=?, `birth`=?, `from`=?, `ints`=?, `site`=?, `onpage`=?, `auto_refresh`=? WHERE `id`=".$u);
		$prp->bind_param('sssssii', $rname, $birth, $from, $ints, $site, $onpage, $auto_refresh);
		
		$rname = $fnc->out($_POST['rname'], 1);
		$birth = $fnc->out($_POST['birth'], 1);
		$from = $fnc->out($_POST['from'], 1);
		$ints = $fnc->out($_POST['ints'], 1);
		$site = $fnc->out($_POST['site'], 1);
		$onpage = abs((int)$_POST['onpage']); if($onpage < 5 || $onpage > 50) $onpage = 7;
		$auto_refresh = abs((int)$_POST['auto_refresh']); if($auto_refresh < 5 || $auto_refresh > 60) $auto_refresh = 20;
		
		if($prp->execute())
		{
			$prp->close();
			header('Location: profile.php?u='.$u);
		}
	}
}
else
{
	echo $fnc->alert('Ошибка!', _AUTH_ERROR);
}
break;

case 'passwd':
if($op == true and ($uid == $u || $adm == true))
{
	if(!$_POST)
	{
		$ui = $user_info->fetch_assoc();
		echo $fnc->alert('Личные данные', '<form action="'.CFILE.'?mode=passwd&u='.$u.'" method="post">
		Текущий пароль:<br />
		<input type="text" name="passwd" /><br />
		Новый пароль:<br />
		<input type="text" name="new_passwd" /><br />
		<input type="submit" value="Сохранить" />
		</form>');
		echo $fnc->cont2('<a href="profile.php?u='.$u.'">В профиль</a>');
	}
	else
	{
		$passwd = $fnc->out($_POST['passwd'], 1);
		$new_passwd = $fnc->out($_POST['new_passwd'], 1);
		
		$c_pass = $db->query("SELECT `passwd` FROM `users` WHERE `id`=".$u)->fetch_assoc();
		
		if($fnc->encode($passwd) == $c_pass['passwd'])
		{
			$prp = $db->prepare("UPDATE `users` SET `passwd`=? WHERE `id`=".$u);
			$prp->bind_param('s', $password);
			
			$password = $fnc->encode($new_passwd);
			
			if($prp->execute())
			{
				$prp->close();
				header('Location: profile.php?u='.$u);
			}
		}
		else
		{
			echo $fnc->alert('Ошибка!', 'Пароль не совпадает..');
		}
	}
}
else
{
	echo $fnc->alert('Ошибка!', _AUTH_ERROR);
}
break;
}

require_once('temp/foot.php');

// конец файла ./profile.php