Файл: profile.php
Строк: 132
<?php
require 'sys/sid.php';
require 'sys/config.php';
include 'sys/user.php';
include 'sys/head.php';
visit(0, 'build');
$q = isset($_GET['q']) ? $_GET['q'] : NULL;
switch($q)
{
default:
$cfg = mysql_fetch_assoc(mysql_query("SELECT online FROM config WHERE id = '1' LIMIT 1"));
echo '<div style="padding: 5px; margin: 2px;">
Твоё имя:
<br/>
<a href="change_name"><u>' . (!empty($user['name']) ? $user['name'] : 'Не заполнено') . '</u></a><br/>
Возраст:
<br/>
<a href="change_age"><u>' . ($user['age'] != 0 ? $user['age'] : 'Не заполнено') . '</u></a><br/>
Пол:
<br/>
<a href="change_sex"><u>' . ($user['sex'] == 0 ? 'Не заполнено' : ($user['sex'] == 1 ? 'Мужской' : 'Женский')) . '</u></a><br/>
Город:
<br/>
<a href="change_city"><u>' . (!empty($user['city']) ? $user['city'] : 'Не заполнено') . '</u></a><br/>
О себе:
<br/>
<a href="change_about"><u>' . (!empty($user['aboutme']) ? $user['aboutme'] : 'Не заполнено') . '</u></a><br/>
Email(не публикуется):
<br/>
<a href="change_mail"><u>' . (!empty($user['email']) ? $user['email'] : 'Не заполнено') . '</u></a><br/>
Пароль:
<br/>
<a href="change_pass"><u>Изменить</u></a>
<br/>
Онлайн -> Кристаллы:
<br/>
' . val($user['on_time']) . '<br/>
<a href="exchange_on"><u>Обменять</u></a> ' . floor($user['on_time'] / 3600) . ' час. на <span style="color:#00AA00;">' . ($cfg['online'] * floor($user['on_time'] / 3600)) . ' кристаллов</span>
</div>';
break;
case pass:
if (isset($_POST['ok']))
{
$old = trim(mysql_real_escape_string(char($_POST['oldpass'], 0)));
$newpass = trim(mysql_real_escape_string(char($_POST['newpass'], 0)));
$verpass = trim(mysql_real_escape_string(char($_POST['verpass'], 0)));
$oldMD5 = md5(sha1($old));
$newpassMD5 = md5(sha1($newpass));
if (empty($old))
{
err('Необходимо указать действующий пароль!');
}
elseif (empty($newpass))
{
err('Необходимо указать новый пароль!');
}
elseif (empty($verpass))
{
err('Необходимо подтвердить новый пароль!');
}
elseif ($user['password'] != $oldMD5)
{
err('Неверно введен действующий пароль!');
}
elseif (!preg_match("!^[a-z0-9]+$!i", $newpass))
{
err('В новом пароле были обнаружены запрещенные символы!');
}
elseif (mb_strlen($newpass, 'UTF-8') < 6)
{
err('Новый пароль не должен быть короче 6-ти символов!');
}
elseif (mb_strlen($newpass, 'UTF-8') > 20)
{
err('Новый пароль не должен быть длиннее 20-ти символов!');
}
elseif ($newpass != $verpass)
{
err('Новые пароли не совпадают!');
}
elseif (is_numeric($newpass))
{
err('Слишком простой пароль, используйте буквы и цифры!');
}
else
{
$_SESSION['ps'] = $newpassMD5;
setcookie('ps', $newpassMD5, $rtime + 604800, '/');
mysql_query("UPDATE users SET password = '$newpassMD5' WHERE id = '$user[id]' LIMIT 1");
msg('Пароль был изменен.');
}
}
echo '<form method="post" action="change_pass">
Действующий пароль:
<br/>
<input type="password" name="oldpass"/>
<br/>
Новый пароль:
<br/>
<input type="password" name="newpass"/>
<br/>
Подтвердите новый пароль:
<br/>
<input type="password" name="verpass"/>
<br/>
<input type="submit" name="ok" value="Изменить"/>
</form>';
break;
case email:
if (isset($_POST['save']))
{
$email = trim(mysql_real_escape_string(char($_POST['email'], 0)));
if (!preg_match('#^[A-z0-9-._]+@[A-z0-9]{2,}.[A-z]{2,4}$#ui', $email))
{
err('Некорректный формат email'а!');
}
else
{
mysql_query("UPDATE users SET email = '$email' WHERE id = '$user[id]' LIMIT 1");
header('location: profile.php');
}
}
echo '<form method="post" action="change_mail">
Изменить email:
<br/>
<input type="text" name="email" value="' . $user['email'] . '"/>
<br/>
<input type="submit" name="save" value="Сохранить"/>
</form>';
break;
case name:
if (isset($_POST['save']))
{
$name = trim(mysql_real_escape_string(char($_POST['name'], 0)));
mysql_query("UPDATE users SET name = '$name' WHERE id = '$user[id]' LIMIT 1");
header('location: profile.php');
}
echo '<form method="post" action="change_name">
Изменить имя:
<br/>
<input type="text" name="name" value="' . $user['name'] . '"/>
<br/>
<input type="submit" name="save" value="Сохранить"/>
</form>';
break;
case age:
if (isset($_POST['save']))
{
$age = number($_POST['age']);
mysql_query("UPDATE users SET age = '$age' WHERE id = '$user[id]' LIMIT 1");
header('location: profile.php');
}
echo '<form method="post" action="change_age">
Изменить возраст:
<br/>
<input type="text" size="2" maxlength="2" name="age" value="' . $user['age'] . '"/>
<br/>
<input type="submit" name="save" value="Сохранить"/>
</form>';
break;
case sex:
if (isset($_POST['save']))
{
$sex = number($_POST['sex']);
mysql_query("UPDATE users SET sex = '$sex' WHERE id = '$user[id]' LIMIT 1");
header('location: profile.php');
}
echo '<form method="post" action="change_sex">
Изменить пол:
<br/>
<input type="radio" ' . ($user['sex'] == 0 ? 'checked' : '') . ' name="sex" value="0"> Не выбрано<br/>
<input type="radio" ' . ($user['sex'] == 1 ? 'checked' : '') . ' name="sex" value="1"> Мужской<br/>
<input type="radio" ' . ($user['sex'] == 2 ? 'checked' : '') . ' name="sex" value="2"> Женский<br/>
<br/>
<input type="submit" name="save" value="Сохранить"/>
</form>';
break;
case city:
if (isset($_POST['save']))
{
$city = trim(mysql_real_escape_string(char($_POST['city'], 0)));
mysql_query("UPDATE users SET city = '$city' WHERE id = '$user[id]' LIMIT 1");
header('location: profile.php');
}
echo '<form method="post" action="change_city">
Изменить город:
<br/>
<input type="text" name="city" value="' . $user['city'] . '"/>
<br/>
<input type="submit" name="save" value="Сохранить"/>
</form>';
break;
case about:
if (isset($_POST['save']))
{
$about = trim(mysql_real_escape_string(char($_POST['about'], 0)));
mysql_query("UPDATE users SET aboutme = '$about' WHERE id = '$user[id]' LIMIT 1");
header('location: profile.php');
}
echo '<form method="post" action="change_about">
Изменить о себе:
<br/>
<textarea name="about" cols="20" rows="4">' . $user['aboutme'] . '</textarea>
<br/>
<input type="submit" name="save" value="Сохранить"/>
</form>';
break;
case exchange:
$cfg = mysql_fetch_assoc(mysql_query("SELECT online FROM config WHERE id = '1' LIMIT 1"));
if (floor($user['on_time'] / 3600) > 0)
{
mysql_query("UPDATE users SET
crystal = crystal + '" . (floor($user['on_time'] / 3600) * $cfg['online']) . "',
on_time = '" . ($user['on_time'] - floor(floor($user['on_time'] / 3600) * 3600)) . "'
WHERE id = '$user[id]' LIMIT 1");
header('location: profile.php');
} else echo 'У тебя пока нет ни одного часа онлайн.<br/>Поиграй немного и возвращайся за наградой!<br/>';
break;
}
if (isset($_GET['q'])) echo '<br/><a href="profile.php">Вернуться</a>';
echo '<br/><a href="index.php">На главную</a>';
include 'sys/foot.php';
?>