Файл: admin/link.php
Строк: 291
<?php
$title = 'Сёрфинг';
require_once($_SERVER["DOCUMENT_ROOT"]."/inc/head.php");
if (($adm_id == 1 || $adm_id == 5 || $adm_id == 6) && $sys['modules']['serf'] == 1) {
if ($adm_id == 1) {
echo '<div class="title">Настройки</div>';
if (isset($_POST['settings'])) {
$error = '';
if (empty($_POST['cena'])) {
$error.= 'Укажите минимальную цену перехода в серфинге!<br/>';
}
elseif ($_POST['cena'] < 0.01) {
$error.= 'Минимальная цена перехода не может быть меньше 0.01!<br/>';
}
if (empty($_POST['ctime'])) {
$error.= 'Укажите время перехода в серфинге!<br/>';
}
if (empty($_POST['serf_ban'])) {
$error.= 'Укажите время бана в серфинге!<br/>';
}
if ($error) {
echo '<div class="menu">'.$error.'</div>';
} else {
$sys['system']['ctime'] = ceil(abs($_POST['ctime']));
$sys['system']['serf_ban'] = ceil(abs($_POST['serf_ban']));
$sys['system']['cena'] = floatval(abs($_POST['cena']));
$sys['modules']['mod_s'] = intval($_POST['mod_s']);
$sys['modules']['captcha_s'] = intval($_POST['captcha_s']);
write_ini_file(FILE_CONFIG, $sys);
header('Location: /adm/link');
}
}
echo '<div class="menu">
<form action="" method="POST">
Автомодерация площадок:<br/><select name="mod_s"><option value="1">Вкл.</option><option '.($sys['modules']['mod_s'] == 3 ? 'selected' : '').' value="3">Откл.</option></select><br/>
Капча перед просмотром сайтов:<br/><select name="captcha_s"><option value="1">Вкл.</option><option '.($sys['modules']['captcha_s'] == 0 ? 'selected' : '').' value="0">Откл.</option></select><br/>
Минимальная цена перехода:<br/><input type="text" name="cena" value="'.$sys['system']['cena'].'"><br/>
Время перехода (sec):<br/><input type="text" name="ctime" value="'.$sys['system']['ctime'].'"><br/>
Время бана (sec):<br/><input type="text" name="serf_ban" value="'.$sys['system']['serf_ban'].'"><br/>
<input type="submit" name="settings" value="Сохранить">
</form></div>';
}
echo '<div class="title">Массовое пополнение баланса площадок</div>';
if (isset($_POST['bs_active'])) {
$col = intval($_POST['col']);
$bs_min = intval(abs($_POST['bs_min']));
$status = isset($_POST['active']) ? 1 : RS_ALL_CHARS;
$bs_num = $connect->prepare("select count(*) from `link` where `status` rlike ? and `click` >= ?");
$bs_num->execute(array($status, $bs_min));
$count_bs = $bs_num->fetchColumn();
$error = '';
if ($count_bs == 0) {
$error.= 'Площадок не найдено!<br/>';
}
elseif (empty($col)) {
$error.= 'Введите количество переходов!<br/>';
}
if ($error) {
echo '<div class="menu">'.$error.'</div>';
} else {
$stmt = $connect->prepare("update `link` set `click` = `click` + ? where `status` rlike ? and `click` >= ?");
if ($stmt->execute(array($col, $status, $bs_min))) {
header('Location: /adm/link');
} else {
echo '<div class="menu">Произошла ошибка!</div>';
}
}
}
echo '<div class="menu">
<form action="" method="POST">
Количество переходов:<br/><input type="text" name="col"><br/>
При условии, что нынешний баланс не меньше:<br/><input type="text" name="bs_min" value="1"><br/>
<input type="submit" name="bs_active" value="Пополнить"/><input type="checkbox" checked name="active" value="1">Только активным
</form></div>';
echo '<div class="title">Площадки ('.$all_links . $new_mod_link.')</div>
<div class="menu">
<form action="" method="GET">
<input type="text" name="search" value="'.$search.'">
<input type="submit" value="Поиск">
</form></div>';
$num_u = $connect->prepare("select count(*) from `link` where `id` = ?");
$strow = $connect->prepare("select * from `link` where `id` = ?");
if ($adm_id == 1) {
if (isset($_GET['edit'])) {
$num_u->execute(array($_GET['edit']));
if ($num_u->fetchColumn()) {
$strow->execute(array($_GET['edit']));
$row = $strow->fetch();
if (isset($_POST['cancel'])) {
header ('location: /adm/link');
}
elseif (isset($_POST['red'])) {
$stmt_num = $connect->prepare("select count(*) from `link` where `url` = ? and `id` != ?");
$stmt_num->execute(array($_POST['url'], $_GET['edit']));
$row_u = user($_POST['login'], 1);
$error = '';
if (empty($_POST['login'])) {
$error.= 'Введите логин пользователя!<br/>';
}
elseif (!$row_u) {
$error.= 'Пользователь с таким логином не найден в системе!<br/>';
}
if (empty($_POST['url'])) {
$error.= 'Введите URL!<br/>';
}
elseif (mb_strlen($_POST['url']) < 5 || mb_strlen($_POST['url']) > 250) {
$error.= 'URL должен содержать от 5 до 250 символов!<br/>';
}
elseif ($stmt_num->fetchColumn()) {
$error.= 'Площадка с данным URL уже есть в системе!<br/>';
}
elseif (!isSiteAvailable($_POST['url'])) {
$error.= 'URL недоступен или введен не правильно!<br/>';
}
if (empty($_POST['name'])) {
$error.= 'Введите название!<br/>';
}
elseif (mb_strlen($_POST['name']) < 5 || mb_strlen($_POST['name']) > 75) {
$error.= 'Название должно содержать от 5 до 75 символов!<br/>';
}
if (empty($_POST['cena'])) {
$error.= 'Введите цену перехода!<br/>';
}
elseif ($_POST['cena'] < $sys['system']['cena']) {
$error.= 'Минимальная цена перехода - '.rub($sys['system']['cena']).'!<br/>';
}
if ($error) {
echo '<div class="menu">'.$error.'</div>';
} else {
$cena = floatval($_POST['cena']);
$stmt = $connect->prepare("update `link` set `url` = ?, `name` = ?, `cena` = ?, `uid` = ? where `id` = ?");
if ($stmt->execute(array($_POST['url'], $_POST['name'], $cena, $row_u['id'], $_GET['edit']))) {
header ('location: /adm/link');
} else {
echo '<div class="menu">Произошла ошибка!</div>';
}
}
}
echo '<div class="menu">
<form action="" method="POST">
URL-адрес [5-250]:<br/><input type="text" name="url" value="'.$row['url'].'"><br/>
Название [5-75]:<br/><input type="text" name="name" value="'.$row['name'].'"><br/>
Цена перехода:<br/><input type="text" name="cena" value="'.$row['cena'].'"><br/>
Пользователь:<br/><input type="text" name="login" value="'.user($row['uid'])['login'].'"><br/>
<input type="submit" name="red" value="Сохранить ('.intval($_GET['edit']).')">
<input type="submit" name="cancel" value="Отмена">
</form></div>';
} else {
header ('location: /adm/link');
}
}
elseif (isset($_GET['del'])) {
$num_u->execute(array($_GET['del']));
if ($num_u->fetchColumn()) {
if (isset($_POST['yes'])) {
$strow->execute(array($_GET['del']));
$row = $strow->fetch();
$del = $connect->prepare("delete from `link` where `id` = ?");
$fb = $connect->prepare("delete from `forbid_browser` where `link` = ?");
if ($del->execute(array($_GET['del'])) && $fb->execute(array($_GET['del']))) {
if (isset($_POST['moneyback']))
pay($row['click'] * $row['cena'], $row['uid']);
header('Location: /adm/link');
} else {
echo '<div class="menu">Произошла ошибка!</div>';
}
}
elseif (isset($_POST['no'])) {
header('Location: /adm/link');
}
echo '<div class="menu">
<form action="" method="POST">
<input type="checkbox" checked name="moneyback" value="1" >С возвратом средств<br/>
<input type="submit" name="yes" value="Удалить ('.intval($_GET['del']).')"/>
<input type="submit" name="no" value="Отмена"/>
</form></div>';
} else {
header('Location: /adm/link');
}
}
elseif (isset($_GET['bs'])) {
$num_u->execute(array($_GET['bs']));
if ($num_u->fetchColumn()) {
$strow->execute(array($_GET['bs']));
$row = $strow->fetch();
if (isset($_POST['yes'])) {
$error = '';
if (empty($_POST['col'])) {
$error.= 'Введите количество переходов!<br/>';
}
elseif (!is_numeric($_POST['col'])) {
$error.= 'Неверное значение!<br/>';
}
if ($error) {
echo '<div class="menu">'.$error.'</div>';
} else {
$col = intval($_POST['col']);
$stmt = $connect->prepare("update `link` set `click` = `click` + ? where `id` = ?");
if ($stmt->execute(array($col, $_GET['bs']))) {
header('Location: /adm/link');
} else {
echo '<div class="menu">Произошла ошибка!</div>';
}
}
}
elseif (isset($_POST['no'])) {
header('Location: /adm/link');
}
echo '<div class="menu">
<form action="" method="POST">
Количество переходов:<br/><input type="text" name="col" value="'.($row['memory'] > 0 ? $row['memory'] : '').'"><br/>
<input type="submit" name="yes" value="Пополнить ('.intval($_GET['bs']).')"/>
<input type="submit" name="no" value="Отмена"/>
</form></div>';
} else {
header('Location: /adm/link');
}
}
}
if (isset($_GET['ban'])) {
$num_u->execute(array($_GET['ban']));
if ($num_u->fetchColumn()) {
$strow->execute(array($_GET['ban']));
$row = $strow->fetch();
if (isset($_POST['done']) || isset($_POST['block'])) {
$status = isset($_POST['block']) ? 2 : 1;
$stmt = $connect->prepare("update `link` set `status` = ? where `id` = ?");
if ($stmt->execute(array($status, $_GET['ban']))) {
notification('Ваша площадка (ID: '.$row['id'].') '.($status == 2 ? '[color=red]заблокирована[/color]' : '[color=green]активирована[/color]'), $row['uid']);
header('Location: /adm/link');
} else {
echo '<div class="menu">Произошла ошибка!</div>';
}
}
elseif (isset($_POST['cancel'])) {
header('Location: /adm/link');
}
echo '<div class="menu">
<form action="" method="POST">
ID: '.intval($_GET['ban']).'<hr/>
'.($row['status'] != 1 ? '<input type="submit" name="done" value="Активировать">' : '').
($row['status'] != 2 ? '<input type="submit" name="block" value="Заблокировать">' : '').'
<input type="submit" name="cancel" value="Отмена"/>
</form></div>';
} else {
header('Location: /adm/link');
}
}
$keywords = $search ? preg_replace("/[s,]+/", "|", $search) : RS_ALL_CHARS;
$stmt_num = $connect->prepare("select count(*) from `link` where `url` rlike :keywords or `name` rlike :keywords or `uid` rlike :keywords");
$stmt_num->bindValue(':keywords', $keywords);
$stmt_num->execute();
$count_res = $stmt_num->fetchColumn();
if ($count_res == 0) {
echo '<div class="menu">NONE</div>';
} else {
$page = new Pagination($count_res, 10);
if ($search) {
$page->setLink('?search=' . $search . '&');
echo '<div class="menu">Найдено по запросу: '.$count_res.'</div>';
}
$data = $connect->prepare("select * from `link` where `url` rlike :keywords or `name` rlike :keywords or `uid` rlike :keywords order by `status` desc, `click` desc, `id` desc limit :start, 10");
$data->bindValue(':keywords', $keywords);
$data->bindValue(':start', $page->start, PDO::PARAM_INT);
$data->execute();
$sql = $data->fetchAll();
foreach ($sql as $row) {
$stmt_cl->execute(array($row['id']));
$click = $stmt_cl->fetchColumn();
echo '<div class="menu">
ID: '.$row['id'].'<br/>
URL: '.bblinks($row['url']).'<br/>
Название: '.$row['name'].'<br/>
Баланс: '.$row['click'].'<br/>
Статус: '.($row['status'] == 1 ? 'Включена' : 'Отключена').'<br/>
Сегодня переходов: '.$click.'<br/>
Дата добавления: '.daytime($row['time']).'<br/>
Пользователь: '.profileLink($row['uid']).'<br/>
<div class="chi">Цена перехода: '.rub($row['cena']).'</div>
'.($row['status'] == 3 ? '<div class="information">На модерации!</div>' : ($row['status'] == 2 ? '<div class="danger">Площадка заблокирована!</div>' : '')).'
<div class="butt2">
'.($adm_id == 1 ? '<a href="?del='.$row['id'].'">Удалить</a>
<a href="?edit='.$row['id'].'">Редактировать</a>
<a href="?bs='.$row['id'].'">Пополнить баланс</a>' : '').'
<a href="?ban='.$row['id'].'">Модерация</a>
</div>
</div>';
}
$page->navigation();
}
} else {
header ('location: /');
}
require($_SERVER["DOCUMENT_ROOT"]."/inc/foot.php");
?>