Файл: user.php
Строк: 137
<?php
include_once 'inc/bd.php';
include_once 'inc/fun.php';
include_once 'inc/v.php';
switch( isset($_GET['act']) ? $_GET['act'] : false ) {
default:
if(!$profile) {
if(!empty($_POST['login']) && !empty($_POST['pass']) && isset($_SESSION['captcha_keystring']) && isset($_POST['captcha']) && !is_array($_POST['login']) && !is_array($_POST['pass'])) {
$autorize = false;
$sql = mysql_query("select id, login, pass, ban, bantext from `users` where `login`='".mysql_real_escape_string($_POST['login'])."' limit 1;");
if(!mysql_num_rows($sql)) {
if(isset($_SESSION['reg']) && $_SESSION['reg'] > time()) {
$err = true;
echo '<div class="err">Вы уже регистрировались</div>';
} elseif($_SESSION['captcha_keystring'] != $_POST['captcha']) {
$err = true;
echo '<div class="err">Неверно введен код с картинки</div>';
} elseif(mysql_query("insert into `users` set `login`='".mysql_real_escape_string($_POST['login'])."', `pass`='".mysql_real_escape_string($_POST['pass'])."', `regtime`='".time()."', `regip`='".mysql_real_escape_string($_SERVER['REMOTE_ADDR'])."';")) {
$autorize = true;
$_SESSION['reg'] = time() + 30;
}
} else {
$row = mysql_fetch_assoc($sql);
if($row['pass'] == $_POST['pass']) $autorize = true;
}
if($autorize) {
if($row['ban']) {
echo '<div class="err">Вы заблокированы. <br/> '.(!empty($row['bantext']) ? '<u>Причина</u>: '.html($row['bantext']) : '').'</div>';
} else {
$_SESSION['user'] = array('login' => $_POST['login'], 'pass' => $_POST['pass']);
echo '<div class="menu">Вы успешно авторизовались. </div>
<div class="amenu">
» <a href="'.$home.'/">Перейти на сайт</a><br/>
» <a href="'.$_SERVER['PHP_SELF'].'?act=pass">Сменить пароль</a><br/>
» <a href="'.$_SERVER['PHP_SELF'].'?act=setup">Настройки</a><br/>
» <a href="'.$_SERVER['PHP_SELF'].'?logout=1">Выход</a><br/>
</div>';
include_once 'inc/n.php';
exit;
}
} elseif(!isset($err)) {
echo '<div class="err">Ошибка авторизации</div>';
}
} else {
echo '<div class="menu">
Пройдя `Авторизацию`, Вы<br/> сможете навсегда зарезервировать <br/> за собой ник (имя) и обезопасить себя от подделок (:
</div>';
}
echo '
<div class="menu">
<form action="'.$_SERVER['PHP_SELF'].'" method="post">
Ваш логин: <br/><input type="text" name="login" maxlength="14" /><br/>
Ваш пароль: <br/><input type="password" name="pass" maxlength="15" /> <br/>
Текст с картинки <img src="'.$home.'/captcha/index.php" id="image_captcha" alt="Loading..."/>:<br/>
<input type="text" size="3" name="captcha" maxlength="4"/>
<input type="button" onclick="document.images.image_captcha.src='/captcha/index.php?'+Math.random()" name="refresh_code" value="Обновить картинку" /><br /><br />
<input type="submit" value="Вперед" />
</form>
</div>';
} elseif(isset($_GET['logout'])) {
unset($_SESSION['user']);
echo '<div class="menu">Выход выполнен.</div>';
} else {
echo '<div class="amenu">
» <a href="'.$home.'/">Перейти на сайт</a><br/>
» <a href="'.$_SERVER['PHP_SELF'].'?act=pass">Сменить пароль</a><br/>
» <a href="'.$_SERVER['PHP_SELF'].'?act=setup">Настройки</a><br/>
» <a href="'.$_SERVER['PHP_SELF'].'?logout=1">Выход</a><br/>
</div>';
}
break;
case 'pass':
if(!$profile) {
header("Location: ".$_SERVER['PHP_SELF']);
exit;
}
if(!empty($_POST['realpass']) && !empty($_POST['newpass']) && !empty($_POST['newpass2'])) {
if($_POST['realpass'] != $profile['pass']) {
echo '<div class="err">Неверно указан действующий пароль</div>';
} elseif($_POST['newpass'] != $_POST['newpass2']) {
echo '<div class="err">Новые пароли не сходятся</div>';
} elseif(mysql_query("update `users` set `pass`='".mysql_real_escape_string($_POST['newpass'])."' where `id`='".$profile['id']."'")) {
$_SESSION['user']['pass'] = $_POST['newpass'];
echo '<div class="menu">Пароль успешно изменен</div>';
} else {
echo '<div class="err">Произошла ошибка при изменении пароля</div>';
}
}
echo '<div class="menu">
<form action="'.$_SERVER['PHP_SELF'].'?act=pass" method="post">
Действующий пароль: <br/><input type="text" name="realpass" /><br/>
Новый пароль: <br/><input type="text" name="newpass" /> <br/>
Потвердите Новый пароль: <br/><input type="text" name="newpass2" /> <br/>
<input type="submit" value="Изменить" />
</form>
</div>';
break;
case 'setup':
if(!$profile) {
header("Location: ".$_SERVER['PHP_SELF']);
exit;
}
if(!empty($_POST)) {
$sql = '';
# в падлу было красиво составлять (:
if(!empty($_POST['name'])) $sql .= "`name` = '".mysql_real_escape_string($_POST['name'])."', ";
if(!empty($_POST['birdthay'])) $sql .= "`birdthay` = '".mysql_real_escape_string($_POST['birdthay'])."', ";
if(!empty($_POST['sex'])) $sql .= "`sex` = '".mysql_real_escape_string($_POST['sex'])."', ";
if(!empty($_POST['email']) && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) $sql .= "`email` = '".mysql_real_escape_string(strtolower($_POST['email']))."', ";
if(mysql_query("update `users` set ".($sql)." `icq`='".(isset($_POST['icq']) ? intval(substr($_POST['icq'], 0, 9)) : '')."', `site`='".(isset($_POST['site']) ? mysql_real_escape_string($_POST['site']) : '')."' where `id`='".$profile['id']."' limit 1;")) {
echo '<div class="menu">Профиль успешно изменен</div>';
} else echo '<div class="err">Произошла ошибка при изменении профиля</div>';
$profile = $_POST;
}
echo '<div class="menu">
<form action="'.$_SERVER['PHP_SELF'].'?act=setup" method="post">
Реальное имя: <br/><input type="text" maxlength="15" name="name" value="'.html($profile['name']).'"/><br/>
Возраст: <br/><input type="text" name="birdthay" value="'.html($profile['birdthay']).'"/><br/>
Пол: <select name="sex">
<option value="0"'.($profile['sex'] == 0 ? ' selected="selected"' : '').'>Не выбрано</option>
<option value="1"'.($profile['sex'] == 1 ? ' selected="selected"' : '').'>Муж.</option>
<option value="2"'.($profile['sex'] == 2 ? ' selected="selected"' : '').'>Жен.</option>
</select><br/>
Email: <br/><input type="text" name="email" value="'.(empty($profile['email']) ? '@' : html($profile['email'])).'"/><br/>
ICQ(цифрами): <br/><input type="text" name="icq" maxlength="9" value="'.(empty($profile['icq']) ? '' : intval($profile['icq'])).'"/><br/>
Сайт: <br/><input type="text" name="site" value="'.html($profile['site']).'"/><br/>
<input type="submit" value="Изменить" />
</form>
</div>';
break;
case 'profile':
$sql = mysql_query("select * from `users` where `login`='".mysql_real_escape_string($_GET['u'])."' limit 1;");
if(mysql_num_rows($sql)) {
$row = mysql_fetch_assoc($sql);
echo '<div class="menu">
ID: '.$row['id'].'<br/>
Реальное имя: '.(!empty($row['name']) ? html($row['name']): '-').'<br/>
Дата регистрации: '.date('d/m/Y', $row['regtime']).'<br/>
'.((isset($_SESSION['admin'], $_SESSION['pwd']) && ($_SESSION['admin'] == $adminlogin && $_SESSION['pwd'] == $setup['password'])) ? 'Регистрационный IP: '.html($row['regip']).'' : '').'
Пол: '.($row['sex'] == 1 ? 'Муж' : ($row['sex'] == 2 ? 'Жен.' : '-')).'<br/>
Возраст: '.(!empty($row['birdthay']) ? html($row['birdthay']): '-').'<br/>
Email: '.(!empty($row['email']) ? html($row['email']): '-').'<br/>
ICQ: '.(!empty($row['icq']) ? html($row['icq']): '-').'<br/>
Сайт: '.(!empty($row['site']) ? '<a target="_blank" href="'.html($row['site']).'">'.html($row['site']).'</a>' : '-').'<br/>
</div>';
//'Регистрационный IP: '.html($row['regip']).'
} else {
echo '<div class="err">Пользователь ненайден</div>';
}
break;
}
include_once 'inc/n.php';
?>