File size: 10.04Kb
<?php
require_once ('_incfiles/config.php');
define('PATH', ROOT.'/cpanel.php');
if (isset($active)) {
$act = isset($_GET['act']) ? trim($_GET['act']) : '';
switch($act) {
default:
$fun->__header('Личный кабинет');
$news = $db->assoc($db->query("select (`date`) from `".prefix."news` order by `id` desc limit 1"));
if ($user['admin']) {
echo '<div class="menu"><a href="'.ROOT.'/admin.php"><b>Админ панель</b></a></div>';
}
echo '<div class="menu">
Привет, <b>'.$fun->utf($user['login']).'</b>!<div class="line"></div>
- <b>Ваш ID:</b> '.$user['id'].'<br/>
- <b>Баланс:</b> '.$user['money'].' руб.<div class="line"></div>
» <a href="'.ROOT.'/news.php">Новости</a> '.(empty($news['date']) ? null : '['.date('d.m', $news['date']).']').'
</div>';
$sql = $db->query("select * from `".prefix."category` order by `id`");
if (mysql_num_rows($sql)) {
echo '<div class="title">Категории:</div>
<div class="menu">';
while ($row = $db->assoc($sql)) {
echo '<a href="'.ROOT.'/catalog.php?id='.$row['id'].'">'.$fun->utf($row['name']).'</a> ['.mysql_result($db->query("select count(`id`) from `".prefix."files` where `ref`='".$row['id']."' limit 1"), 0).'] '.(isset($active) && $user['admin'] ? '[<a href="'.ROOT.'/admin.php?act=edit_cat&id='.$row['id'].'">E</a>] [<a href="'.ROOT.'/admin.php?act=del_cat&id='.$row['id'].'">D</a>]' : '').'<br/>';
}
echo '</div>
<div class="title">Всего товаров: '.mysql_result($db->query("select count(`id`) from `".prefix."files` limit 1"), 0).'</div>';
}
echo '<div class="menu">
<b>Ваш автологин:</b><br/>
<input type="text" value="'.ROOT.'/auth.php?login=Логин&pass=Пароль"/><div class="line"></div>
» <a href="'.ROOT.'/guest.php">Отзывы</a> ['.mysql_result($db->query("select count(`id`) from `".prefix."guest` limit 1"), 0).']<br/>
» <a href="'.PATH.'?act=my">Мои покупки</a> ['.mysql_result($db->query("select count(`id`) from `".prefix."buy` where `user`='".$fun->escape($user['login'])."' limit 1"), 0).']<br/>
» <a href="'.PATH.'?act=payments">Ввод средств</a><br/>
» <a href="'.PATH.'?act=profile">Личные данные</a><br/>
» <a href="'.PATH.'?act=exit">Выход</a> ['.$fun->utf($user['login']).']
</div>';
$fun->__footer('<center>OnLine: (<b>'.mysql_result($db->query("select count(`id`) from `".prefix."online` where `time`>'".(time() - 120)."' limit 1"), 0).'</b>)</center>');
break;
case 'my':
$fun->__header('Мои покупки');
$k_post = mysql_result($db->query("select count(*) from `".prefix."buy` where `user`='".$fun->escape($user['login'])."' limit 1"), 0);
$k_page = $fun->k_page($k_post, $set['files']);
$page = $fun->page($k_page);
$sql = $db->query("select * from `".prefix."buy` where `user`='".$fun->escape($user['login'])."' limit ".($set['files'] * $page - $set['files']).", ".$set['files']);
if (mysql_num_rows($sql) == 0) {
echo '<div class="menu">Покупок нет!</div>';
} else {
while ($row = $db->assoc($sql)) {
echo '<div class="menu">
<b>- Куплен:</b> '.date('d,m i:s', $row['date']).'<br/>
<b>- Товар:</b> '.$fun->utf($row['name']).'<br/>
<b>- Полученные данные:</b> '.$fun->utf(base64_decode($row['access'])).'</div>';
}
if ($k_page > 1) {
$fun->navigation(PATH.'?act=my&', $k_page, $page);
}
}
$fun->__footer('<a href="'.PATH.'">Кабинет</a> › Мои покупки');
break;
case 'payments':
$fun->__header('Ввод средств');
if (isset($_POST['money']) && !empty($_POST['money'])) {
if (isset($_SESSION['payments']) && $_SESSION['payments'] > time() - 120) {
echo '<div class="error">Нельзя так часто пополнять баланс!<br/>
Лимит 2 минуты, вам осталось ждать '.($_SESSION['payments'] - (time() - 120)).' сек!</div>';
} elseif ($db->query("insert into `".prefix."payments` set `user`='".$fun->escape($user['login'])."', `date`='".time()."', `money`='".intval($_POST['money'])."'")) {
$_SESSION['payments'] = time();
echo '<div class="menu">
1. На кошелек R171453294074 сделайте перевод на сумму '.abs($_POST['money']).' руб.<br/>
2. В примечании укажите: <b>Payments: '.$fun->utf($user['login']).'</b>
</div>
<div class="error">
Внимание! Перевод должен быть без протекции!
</div>';
} else {
echo '<div class="error">Ошибка при пополнении баланса!<br/>'.$db->SQLerror().'</div>';
}
} else {
if (isset($_SESSION['payments']) && $_SESSION['payments'] > time() - 120) {
echo '<div class="error">Нельзя так часто пополнять баланс!<br/>
Лимит 2 минуты, вам осталось ждать '.($_SESSION['payments'] - (time() - 120)).' сек!</div>';
} else {
echo '<div class="menu">
<form action="" method="post">
Введите сумму:<br/><input type="text" name="money"/><br/>
<input type="submit" value="Начислить"/>
</form></div>';
}
}
$fun->__footer('<a href="'.PATH.'">Кабинет</a> › Ввод средств');
break;
case 'profile':
$fun->__header('Личные данные');
$error = '';
if (isset($_POST['edit'])) {
if (empty($_POST['wmr'])) {
$error .= 'WMR кошелек не должен быть пустым!<br/>';
} elseif (!preg_match('#R[0-9]{12}#', $_POST['wmr'])) {
$error .= 'Не верно введен кошелек!<br/>';
} elseif (mysql_num_rows($db->query("select (`wmr`) from `".prefix."users` where `wmr`='".$fun->escape($_POST['wmr'])."' and `id`<>'".$user['id']."' limit 1"))) {
$error .= 'Пользователь с таким кошельком уже зарегистрирован!<br/>';
}
if (empty($_POST['mail'])) {
$error .= 'E-mail не должен быть пустым!<br/>';
} elseif (!preg_match('|^([a-z0-9_\.\-]{1,20})@([a-z0-9\.\-]{1,20})\.([a-z]{2,4})$|ius', $_POST['mail'])) {
$error .= 'E-mail введен не верно!<br/>';
} elseif (mysql_num_rows($db->query("select (`mail`) from `".prefix."users` where `mail`='".$fun->escape($_POST['mail'])."' and `id`<>'".$user['id']."' limit 1"))) {
$error .= 'Пользователь с таким E-mail уже зарегистрирован!<br/>';
}
if ($error) {
echo '<div class="error">'.$error.'</div>';
} else {
if ($db->query("update `".prefix."users` set `wmr`='".$fun->escape($_POST['wmr'])."', `mail`='".$fun->escape($_POST['mail'])."' where `id`='".$user['id']."' limit 1")) {
echo '<div class="menu">Данные успешно сохранены!</div>';
header('Refresh: 1');
} else {
echo '<div class="error">Ошибка при изменении данных!<br/>'.$db->SQLerror().'</div>';
}
}
}
echo '<div class="menu">
<form action="" method="post">
WMR:<br/><input type="text" name="wmr" maxlength="13" value="'.$fun->utf($user['wmr']).'"/><br/>
E-mail:<br/><input type="text" name="mail" maxlength="35" value="'.$fun->utf($user['mail']).'"/><br/>
<input type="submit" name="edit" value="Сохранить"/>
</form></div>
<div class="title"><b>Изменить пароль</b></div>';
if (isset($_POST['save'])) {
if (empty($_POST['password'])) {
$error .= 'Старый пароль не должен быть пустым!<br/>';
} elseif (!preg_match('#[a-zA-Z0-9_-]{4,10}#i', $_POST['password'])) {
$error .= 'Старый пароль должен содержать от 4 до 10 символов!<br/>';
} elseif (md5($_POST['password']) != $user['pass']) {
$error .= 'Старый пароль введен не верно!<br/>';
}
if (empty($_POST['pass'])) {
$error .= 'Новый пароль не должен быть пустым!<br/>';
} elseif (!preg_match('#[a-zA-Z0-9_-]{4,10}#i', $_POST['pass'])) {
$error .= 'Новый пароль должен содержать от 4 до 10 символов!<br/>';
}
if (empty($_POST['last'])) {
$error .= 'Проверочный пароль не должен быть пустым!<br/>';
} elseif (!preg_match('#[a-zA-Z0-9_-]{4,10}#i', $_POST['last'])) {
$error .= 'Проверочный пароль должен содержать от 4 до 10 символов!<br/>';
} elseif ($_POST['last'] != $_POST['pass']) {
$error .= 'Проверочный пароль введен не верно!';
}
if ($error) {
echo '<div class="error">'.$error.'</div>';
} else {
if ($db->query("update `".prefix."users` set `pass`='".$fun->escape(md5($_POST['pass']))."' where `id`='".$user['id']."' limit 1")) {
echo '<div class="menu">Пароль успешно изменен!</div>';
setCookie('pass', md5($_POST['pass']));
header('Refresh: 1');
} else {
echo '<div class="error">Ошибка при изменении пароля!<br/>'.$db->SQLerror().'</div>';
}
}
}
echo '<div class="menu">
<form action="" method="post">
Старый пароль:<br/><input type="password" name="password" maxlength="10"/><br/>
Новый пароль:<br/><input type="password" name="pass" maxlength="10"/><br/>
Повторите пароль:<br/><input type="password" name="last" maxlength="10"/><br/>
<input type="submit" name="save" value="Изменить"/>
</form></div>';
$fun->__footer('<a href="'.PATH.'">Кабинет</a> › Личные данные');
break;
case 'exit':
$fun->_unset(header('Location: '.ROOT));
break;
}
} else {
header('Location: '.ROOT);
}
?>