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

Размер файла: 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>
			&raquo; <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&amp;id='.$row['id'].'">E</a>] [<a href="'.ROOT.'/admin.php?act=del_cat&amp;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=Логин&amp;pass=Пароль"/><div class="line"></div>
			
			&raquo; <a href="'.ROOT.'/guest.php">Отзывы</a> ['.mysql_result($db->query("select count(`id`) from `".prefix."guest` limit 1"), 0).']<br/>
			&raquo; <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/>
			&raquo; <a href="'.PATH.'?act=payments">Ввод средств</a><br/>
			&raquo; <a href="'.PATH.'?act=profile">Личные данные</a><br/>
			&raquo; <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&amp;', $k_page, $page);
				}
			}
			
			$fun->__footer('<a href="'.PATH.'">Кабинет</a> &rsaquo; Мои покупки');
		
		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> &rsaquo; Ввод средств');
		
		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> &rsaquo; Личные данные');
		
		break;
			
		case 'exit':
			$fun->_unset(header('Location: '.ROOT));
		break;
		
	}

} else {
	header('Location: '.ROOT);
}
?>