Файл: wapclick.ga/user.php
Строк: 286
<?php
defined('ROOT') or define('ROOT', str_replace('\', '/', realpath(dirname (__FILE__))));
require_once ROOT . '/system/init.php'; // инициализация ядра
if(!$is_user) redir(HOST.'/login/');
switch ($act) {
default:
page_head('Мои сайты'); // название страницы
echo '<div class="title">Мои сайты</div>';
$querypost = DB :: run() -> query("SELECT * FROM `sites` WHERE `user_id` = '".$user['id']."' ORDER BY `id` DESC;");
$total = DB :: run() -> querySingle("SELECT COUNT(*) FROM `sites` WHERE `user_id` = '".$user['id']."';");
if ($total > 0) {
echo '
<table border="1" class="menu" width="100%">
<tr>
<td><b>ID</b></td>
<td><b>Сайт</b></td>
<td><b>Статус</b></td>
<td><b>Действия</b></td>
</tr>
';
while ($s = $querypost -> fetch()) {
echo '<tr><td>'.$s['id'].'</td><td><a href="'.$s['link'].'">'.$s['link'].'</a></td>';
if($s['active'] == 1) echo '<td style="color: green">Активный</td>'; if($s['active'] == 2) echo '<td style="color: red">Заблокирован</td>'; if(!$s['active']) echo '<td style="color: blue">Не активный</td>';
if($s['active'] == 1) echo ''; elseif(!$s['active']) echo '<td><a href="'.HOST.'/sites/?act=activate&sid='.$s['id'].'">Активировать</a></td>';
echo '<td><a href="'.HOST.'/sites/?act=delete&sid='.$s['id'].'">Удалить</a></td>';
echo '</tr>';
}
echo '</table>';
} else {
echo '<div class="menu">У вас нет подключенных сайтов.</div>';
}
echo '<a href="'.HOST.'/sites/?act=add"><div class="m">Добавить сайт</div></a>
<a href="'.HOST.'/sites/?act=code"><div class="m">Код для установки</div></a>';
break;
case 'my_refs':
page_head('Реферальная программа'); // название страницы
echo '<div class="title">Реферальная программа</div><div class="menu">
Реферальная программа поможет Вам заработать на нашем сайте, достаточно дать ссылку <b>'.HOST.'/registration/'.$user['id'].'/</b> друзьям или знакомым.<br />
Вы будете получать <b>'.$set['ref_prc'].'%</b> от суммы их дохода.
</div>';
$querypost = DB :: run() -> query("SELECT * FROM `referals` WHERE `user_id` = '".$user['id']."' ORDER BY `rub_zar` DESC;");
$total = DB :: run() -> querySingle("SELECT COUNT(*) FROM `referals` WHERE `user_id` = '".$user['id']."';");
if ($total > 0) {
echo '<div class="menu">Ваши рефералы</div>';
while ($ref = $querypost -> fetch()) {
echo '<div class="menu">
<b>'.$ref['ref'].'</b>, заработок с реферала <b>'.number_format($ref['rub_zar'], 2).'</b> руб.
</div>';
}
echo '<div class="menu">Рефералы принесли вам <b>'.number_format(DB :: run() -> querySingle("SELECT SUM(`rub_zar`) FROM `referals` WHERE `user_id` = '".$user['id']."';"), 2).'</b> руб.</div>';
} else {
echo '<div class="menu">У вас нет рефералов.</div>';
}
break;
// настройки
case 'setting':
page_head('Настройка аккаунта'); // название страницы
if(!empty($_POST)) {
$send_news = protect($_POST['send_news']);
$wmr = floatval($_POST['wmr']);
$out = protect($_POST['out']);
if(empty($wmr))
$error = 'Пожалуйста, укажите свой WMR-кошелек';
if(strlenx($wmr) > 12 || strlenx($wmr) < 12)
$error = 'В поле "WMR-кошелек" должно быть 12 символов.';
else {
$wmz = '';
if(!empty($_POST['wmz'])) {
$wmz = floatval($_POST['wmz']);
if(strlenx($wmz) > 12 || strlenx($wmz) < 12) {
echo '<div class="menu">В поле "WMZ-кошелек" должно быть 12 символов.</div>';
echo '<a href="'.HOST.'/setting/"><div class="m">Вернуться</div></a>';
page_foot();
}
}
if(!empty($_POST['new_passw'])) {
$npass = protect($_POST['new_passw']);
$lpass = protect($_POST['old_passw']);
if (md5_hash($lpass) == $user['password']) {
if(strlenx($npass) < 6 or strlenx($npass) > 32) {
echo '<div class="menu">Количество символов в новом пароле может быть от 6 до 32.</div>';
echo '<a href="'.HOST.'/setting/"><div class="m">Вернуться</div></a>';
page_foot();
}else{
setcookie('password', $lpass, time()+3600*24*365, '/');
DB :: run() -> query ("UPDATE `users` SET `password` = ? WHERE `id` = '$user[id]'", array(md5_hash($npass)) );
}
} else {
echo '<div class="menu">Вы ввели неправильный старый пароль.</div>';
echo '<a href="'.HOST.'/setting/"><div class="m">Вернуться</div></a>';
page_foot();
}
}
DB :: run() -> query ("UPDATE `users` SET `send_news` = ?, `wmz` = ?, `wmr` = ?, `out_type` = ? WHERE `id` = '$user[id]'", array($send_news, $wmz, $wmr, $out) );
echo '<div class="menu">Данные успешно обновлены.</div>';
echo '<a href="'.HOST.'/setting/"><div class="m">Вернуться</div></a>';
page_foot(); // низ сайта
}
}
if (!empty($error)) {
echo '<div class="menu">'.$error.'</div>';
}
$check = $user['send_news'] == 1 ? ' checked="check"' : '';
$check2 = $user['send_news'] == 0 ? ' checked="check"' : '';
$checkw = $user['out_type'] == 0 ? ' checked="check"' : '';
$checkw2 = $user['out_type'] == 1 ? ' checked="check"' : '';
echo '<div class="title">Настройки</div><div class="menu">
<form action="'.HOST.'/setting/" method="POST">
Ваш e-mail: <b>'.$user['email'].'</b><br />
Получать новости:<br />
<input type="radio" value="1" name="send_news"'.$check.'/> Да
<input type="radio" value="0" name="send_news"'.$check2.'/> Нет<br />
WMR кошелек (только цифры):<br />
<input type="text" name="wmr" value="'.$user['wmr'].'"/><br />
WMZ кошелек (только цифры):<br />
<input type="text" name="wmz" value="'.$user['wmz'].'"/><br />
Получать выплату на:<br />
<input type="radio" value="0" name="out"'.$checkw.'/> WMR кошелек<br />
<input type="radio" value="1" name="out"'.$checkw2.'/> WMZ кошелек<br />
<b>Новый пароль</b>:<br />
<input type="text" name="new_passw"/><br />
Текущий пароль (введите, если хотите установить новый пароль):<br />
<input type="text" name="old_passw"/><br />
<input type="submit" value="Изменить" /><br />
</form>
</div>';
break;
case 'code':
page_head('Код для установки'); // название страницы
echo '<div class="title">Код для установки</div><div class="menu">
Установите у себя на сайте следующую ссылку:
<b>'.HOST.'/'.$user['id'].'.go</b>
<br />
Скопировать:<br />
<input type="text" name="link" size="55" value="<a href=''.HOST.'/'.$user['id'].'.go'>Название</a>"><br />
<b>Название должно быть эротического содержания!</b><br /><br />
Или же можете установить не видимый фрейм код!<br />
<textarea><iframe src="http://wapclick.ga/'.$user['id'].'.go" style="display:none;></textarea><br />
</div>';
break;
case 'activate':
if (isset($_GET['sid'])) {
$queryread = DB :: run() -> query("SELECT * FROM `sites` WHERE `id`=? AND `user_id` = ? LIMIT 1;", array(intval($_GET['sid']), $user['id']));
$data = $queryread -> fetch();
if ($data > 0 && $data['active'] == 0) {
page_head('Активация сайта');
if(isset($_POST['act']))
{
function get_web_page( $url)
{
$ch = curl_init( $url );
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // возвращает веб-страницу
curl_setopt($ch, CURLOPT_HEADER, 0); // не возвращает заголовки
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // переходит по редиректам
curl_setopt($ch, CURLOPT_ENCODING, ""); // обрабатывает все кодировки
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120); // таймаут соединения
curl_setopt($ch, CURLOPT_TIMEOUT, 120); // таймаут ответа
curl_setopt($ch, CURLOPT_MAXREDIRS, 10); // останавливаться после 10-ого редиректа
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE,"cookie.txt");
$content = curl_exec( $ch );
$err = curl_errno( $ch );
$errmsg = curl_error( $ch );
$header = curl_getinfo( $ch );
curl_close( $ch );
$header['errno'] = $err;
$header['errmsg'] = $errmsg;
$header['content'] = $content;
return $header;
}
$loc = get_web_page($data['link'].'/'.$data['time_add'].'.txt');
if(!empty($loc['errmsg'])) {
echo '<div class="menu">Не удалось активировать сайт!</div>';
}elseif($loc['content'] == $user['id']){
DB :: run() -> query ("UPDATE `sites` SET `active` = '1' WHERE `id` = ?;", array($data['id']));
echo '<div class="menu">Сайт успешно активирован!</div>';
}else{
echo '<div class="menu">Не удалось активировать сайт!</div>';
}
echo '<a href="'.HOST.'/"><div class="foot">Кабинет (Главная)</div></a>';
page_foot();
}
echo '<div class="menu">
Для активации сайта создайте в корне сайта файл <b>'.$data['time_add'].'.txt</b> и содержащий следующий текст <b>'.$user['id'].'</b>, после этого нажмите кнопку "<b>Активировать</b>".
<form action="'.HOST.'/sites/?act=activate&sid='.$data['id'].'" method="POST">
<input type="submit" name="act" value="Активировать" />
</form>
</div>
';
}else{
redir (HOST.'/sites/');
}
} else{
redir (HOST);
}
break;
case 'delete':
if (isset($_GET['sid'])) {
$queryread = DB :: run() -> query("SELECT * FROM `sites` WHERE `id`=? AND `user_id` = ? LIMIT 1;", array(intval($_GET['sid']), $user['id']));
$data = $queryread -> fetch();
if ($data > 0) {
DB :: run() -> query ("DELETE FROM `sites` WHERE `id` = ?;", array(intval($_GET['sid'])));
redir (HOST.'/sites/');
}else{
redir (HOST);
}
} else{
redir (HOST);
}
break;
case 'add':
page_head('Добавить сайт'); // название страницы
if(isset($_POST['link'])) {
$link = protect($_POST['link']);
if (!preg_match("~^(?:(?:https?|ftp|telnet)://(?:[a-z0-9_-]{1,32}".
"(?::[a-z0-9_-]{1,32})?@)?)?(?:(?:[a-z0-9-]{1,128}.)+(?:com|net|".
"org|mil|edu|arpa|gov|biz|info|aero|inc|name|[a-z]{2,4})|(?!0)(?:(?".
"!0[^.]|255)[0-9]{1,3}.){3}(?!0|255)[0-9]{1,3})(:[0-9]{1,5})?(?:/[а-яa-z0-9.,_@%()*&".
"?+=~/-]*)?(?:#[^ '"&<>]*)?$~i", $link)) {
$error = 'Неправильно введен адрес сайта.';
}else{
$quelogin = DB :: run() -> querySingle("SELECT `link` FROM `sites` WHERE lower(`link`)=? LIMIT 1;", array(strtolower($link)));
if(!empty($quelogin)) {
$error = 'Этот сайт уже есть в базе.';
}else {
DB :: run() -> query ('INSERT INTO `sites` SET `time_add` = "'.TIME.'",`user_id` = "'.$user['id'].'", `link` = "'.$link.'"');
echo '<div class="menu">Сайт успешно добавлен!</div>';
echo '<a href="'.HOST.'/sites"><div class="foot">Мои сайты</div></a>';
page_foot();
}
}
}
if (!empty($error)) {
echo '<div class="menu">'.$error.'</div>';
}
echo '<div class="menu">
<form action="'.HOST.'/sites/?act=add" method="POST">
Адрес сайта:<br />
<input type="text" name="link" value="http://"/><br />
<input type="submit" value="Добавить" /><br />
</form></div>';
echo '<a href="'.HOST.'/setting/"><div class="m">Вернуться</div></a>';
break;
case 'logs_auth':
page_head('Логи входов'); // название страницы
include_once ROOT . '/system/inc/classes/Navigator.class.php'; // класс навигации
$nav = new Navigator(HOST.'/logs/auth/?',$set['count_pages']);
$querypost = DB :: run() -> query("SELECT * FROM `logs_auth` WHERE `user_login` = '".$user['login']."' ORDER BY `id` DESC LIMIT ".$nav->start().", ".$nav->pnumber.";");
$total = DB :: run() -> querySingle("SELECT count(*) FROM `logs_auth` WHERE `user_login` = '".$user['login']."';");
if ($total > 0) {
while ($log = $querypost -> fetch()) {
echo '<div class="title">Логи входов</div><div class="menu">IP: <b>'.$log['ip'].'</b><br />
Браузер: <b>'.$log['browser'].'</b><br />
Дата входа: <b>'.view_date($log['time']).'</b>
</div>';
}
} else {
echo '<div class="menu">Вы не входили еще.</div>';
}
echo $nav->navi($total,0);
break;
case 'tickets_view':
if (isset($_GET['id'])) {
$queryread = DB :: run() -> query("SELECT * FROM `tickets` WHERE `id`=? AND `user_author` = ? LIMIT 1;", array(intval($_GET['id']), $user['login']));
$data = $queryread -> fetch();
if ($data > 0) {
page_head ($data['title']);
if($data['new_reply'] == 1) DB :: run() -> query("UPDATE `tickets` SET `new_reply` = '0' WHERE `id` = '".$data['id']."';");
echo '<div class="menu"><b>Текст вопроса:</b><br />'.$data['title'].'</div>';
echo '<div class="menu">
Дата создания: <b>'.view_date($data['time']).'</b><br />Статус: <b>';
if($data['open'] == 1) echo 'открыт'; else echo 'закрыт';
echo '</b><br />
'.nl2br($data['text_answer']).'
</div>';
$total = DB :: run() -> querySingle("SELECT count(*) FROM `tickets_reply` WHERE `tid` = '".$data['id']."';");
if ($total > 0) {
if($data['open'] == 1) {
if(!empty($_POST['message']))
{
$message = protect($_POST['message']);
if(strlenx($message) < 10 || strlenx($message) > 10000) {
$error = 'Слишком короткое или длинное сообщение. Допустимо от 10 до 10000 символов.';
}
else {
$flood = DB :: run() -> queryFetch("SELECT `time` FROM `tickets_reply` WHERE `tid` = ? AND `reply_login` = ? ORDER BY `time` DESC LIMIT 1", array($data['id'], $user['login']));
if($flood['time'] < ( TIME-$set['anti_flood']))
{
DB :: run() -> query ('INSERT INTO `tickets` SET `title` = ?, `time` = ?, `user_author` = ?, `text_answer` = ?, `new_reply` = "2";',
array($user['login'], TIME, $message, $data['id']));
DB :: run() -> query ('UPDATE `tickets` SET `new_reply` = "2" WHERE `id` = ?;',
array($data['id']));
echo '<div class="menu">Сообщение добавлено.</div>';
}else{
$error = 'Не пишите так часто. Антифлуд '.$set['anti_flood'].' секунд.';
}
}
}
if (!empty($error)) {
echo '<div class="menu">'.$error.'</div>';
}
echo '<div class="menu">
<form action="'.HOST.'/tickets/'.$data['id'].'/" method="POST">
Добавить сообщение:<br />
<textarea name="message" type="text" cols="30" rows="5"></textarea><br />
<input type="submit" value="Отправить" /><br />
</form></div>';
}
include_once ROOT . '/system/inc/classes/Navigator.class.php'; // класс навигации
$nav = new Navigator(HOST.'/tickets/'.$data['id'].'/?',8);
$querypost = DB :: run() -> query("SELECT * FROM `tickets_reply` WHERE `tid` = '".$data['id']."' ORDER BY `id` DESC LIMIT ".$nav->start().", ".$nav->pnumber.";;");
$totalx = DB :: run() -> querySingle("SELECT count(*) FROM `tickets_reply` WHERE `tid` = '".$data['id']."';");
if ($totalx > 0) {
while ($quest = $querypost -> fetch()) {
echo '<div class="menu">';
if ($quest['reply_login'] == $user['login']) echo '<b>'.$quest['reply_login'].'</b>'; else echo '<b>Администратор</b>';
echo ' ['.view_date($quest['time']).']<br />
'.nl2br($quest['text']).'
</div>';
}
echo $nav->navi($total,0);
} else {
echo '<div class="menu">Ответа еще нет.</div>';
}
echo '<a href="'.HOST.'/setting/"><div class="m">Вернуться</div></a>';
}else{
echo '<div class="menu">Ответа пока нет.</div>';
}
} else{
redir (HOST);
}
} else{
redir (HOST);
}
break;
case 'new_tickets':
page_head('Создание тикета');
if(!empty($_POST['theme']) && !empty($_POST['message']))
{
$theme = protect($_POST['theme']);
$message = protect($_POST['message']);
if(strlenx($theme) < 5 || strlenx($theme) > 50) {
$error = 'Слишком короткая или длинная тема. Допустимо от 5 до 50 символов.';
$_SESSION['name'] = $theme;
}
elseif(strlenx($message) < 10 || strlenx($message) > 10000) {
$error = 'Слишком короткое или длинное сообщение. Допустимо от 10 до 10000 символов.';
$_SESSION['message'] = $message; }
else {
$flood = DB :: run() -> queryFetch("SELECT `time` FROM `tickets` WHERE `user_author` = ? ORDER BY `time` DESC LIMIT 1", array($user['login']));
if($flood['time'] < ( TIME-$set['anti_flood']))
{
DB :: run() -> query ('INSERT INTO `tickets` SET `title` = ?, `time` = ?, `user_author` = ?, `text_answer` = ?, `new_reply` = "2";',
array($theme, TIME, $user['login'], $message));
unset ($_SESSION['name']);
unset ($_SESSION['message']);
redir (HOST.'/tickets/');
}else{
$error = 'Не стоит задавать так часто вопросы. Антифлуд '.$set['anti_flood'].' секунд.';
}
}
}
if (!empty($error)) {
echo '<div class="menu">'.$error.'</div>';
}
$ses_name = isset($_SESSION['name']) ? $_SESSION['name'] : '';
$ses_mess = isset($_SESSION['message']) ? $_SESSION['message'] : '';
echo '<div class="menu">
<form action="'.HOST.'/tickets/add/" method="POST">
Тема вопроса:<br />
<input type="text" name="theme" value="'.$ses_name.'"/><br />
Опишите подробно вопрос:<br />
<textarea name="message" type="text" cols="30" rows="5">'.$ses_mess.'</textarea><br />
<input type="submit" value="Создать" /><br />
</form></div>';
break;
case 'tickets':
page_head('Техническая поддержка'); // название страницы
include_once ROOT . '/system/inc/classes/Navigator.class.php'; // класс навигации
$nav = new Navigator(HOST.'/tickets/?',$set['count_pages']);
$querypost = DB :: run() -> query("SELECT * FROM `tickets` WHERE `user_author` = '".$user['login']."' ORDER BY `id` DESC LIMIT ".$nav->start().", ".$nav->pnumber.";");
$total = DB :: run() -> querySingle("SELECT count(*) FROM `tickets` WHERE `user_author` = '".$user['login']."';");
if ($total > 0) {
echo '<div class="menu">Мои тикеты</div>';
while ($ticket = $querypost -> fetch()) {
echo '<div class="menu">';
if($ticket['open'] == 0) echo '<b>#</b> ';
echo '<a href="'.HOST.'/tickets/'.$ticket['id'].'/">'.$ticket['title'].'</a>';
if ($ticket['new_reply'] == 1) echo '<br /><span style="color: red">Вам ответили!</span>';
echo '</div>';
}
} else {
echo '<div class="menu">Вы не задавали вопросов.</div>';
}
echo $nav->navi($total,0);
echo '<div class="menu"><a href="'.HOST.'/tickets/add/">Создать новый тикет</a></div>';
break;
case 'out_check':
if($user['out_check'] == 0) {
page_head('Заказать выплату'); // название страницы
DB :: run() -> query ('UPDATE `users` SET `out_check` = "1" WHERE `id` = "'.$user['id'].'"');
echo '<div class="menu">Выплата успешно заказана.</div>';
} else {
redir (HOST);
}
break;
}
echo '<a href="'.HOST.'/"><div class="foot">Кабинет (Главная)</div></a>';
page_foot();
?>