Файл: admin/advert.php
Строк: 181
<?php
$title = 'Реклама на сайте';
require_once($_SERVER["DOCUMENT_ROOT"]."/inc/head.php");
if (($adm_id == 1 || $adm_id == 5 || $adm_id == 6) && $sys['modules']['ads'] == 1) {
if ($adm_id == 1) {
echo '<div class="title">Настройки</div>';
if (isset($_POST['settings'])) {
$error = '';
if (empty($_POST['limit'])) {
$error.= 'Укажите количество рекламных мест!<br/>';
}
if (empty($_POST['cena'])) {
$error.= 'Введите стоимость рекламы!<br/>';
}
elseif ($_POST['cena'] < 0.01) {
$error.= 'Стоимость рекламы не может быть меньше 0.01!<br/>';
}
if ($error) {
echo '<div class="menu">'.$error.'</div>';
} else {
$sys['system']['rek_limit'] = ceil(abs($_POST['limit']));
$sys['system']['rek_cena'] = floatval(abs($_POST['cena']));
$sys['system']['rek_color'] = floatval(abs($_POST['color']));
$sys['system']['rek_comm'] = floatval(abs($_POST['comm']));
$sys['modules']['mod_a'] = intval($_POST['mod_a']);
write_ini_file(FILE_CONFIG, $sys);
header('Location: /adm/advert');
}
}
echo '<div class="menu">
<form action="" method="POST">
Автомодерация рекламы:<br/><select name="mod_a"><option value="1">Вкл.</option><option '.($sys['modules']['mod_a'] == 3 ? 'selected' : '').' value="3">Откл.</option></select><br/>
Количество рекламных мест:<br/><input type="text" name="limit" value="'.$sys['system']['rek_limit'].'"><br/>
Стоимость одного дня размещения:<br/><input type="text" name="cena" value="'.$sys['system']['rek_cena'].'"><br/>
Стоимость добавления комментария к ссылке:<br/><input type="text" name="comm" value="'.$sys['system']['rek_comm'].'"><br/>
Стоимость добавления цвета:<br/><input type="text" name="color" value="'.$sys['system']['rek_color'].'"><br/>
<input type="submit" name="settings" value="Сохранить">
</form></div>';
}
echo '<div class="title">Реклама на сайте ('.$rek . $new_mod_rek.')</div>';
$num_u = $connect->prepare("select count(*) from `rek` where `id` = ?");
$strow = $connect->prepare("select * from `rek` 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/advert');
}
elseif (isset($_POST['red'])) {
$error = '';
if (empty($_POST['url'])) {
$error.= 'Введите URL!<br/>';
}
elseif (mb_strlen($_POST['url']) < 5 || mb_strlen($_POST['url']) > 250) {
$error.= 'URL должен содержать от 5 до 250 символов!<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['comment']) && (mb_strlen($_POST['comment']) < 5 || mb_strlen($_POST['comment']) > 250)) {
$error.= 'Комментарий к ссылке должен содержать от 5 до 250 символов!<br/>';
}
if ($error) {
echo '<div class="menu">'.$error.'</div>';
} else {
$stmt = $connect->prepare("update `rek` set `url` = ?, `name` = ?, `comment` = ?, `color` = ? where `id` = ?");
if ($stmt->execute(array($_POST['url'], $_POST['name'], $_POST['comment'], $_POST['color'], $_GET['edit']))) {
header('location: /adm/advert');
} 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/>
Комментарий к ссылке [5-250]:<br/><input type="text" name="comment" value="'.$row['comment'].'"><br/>
Цвет ссылки:<br/><input type="text" name="color" value="'.$row['color'].'"><br/>
<input type="submit" name="red" value="Сохранить ('.intval($_GET['edit']).')">
<input type="submit" name="cancel" value="Отмена">
</form></div>';
} else {
header('location: /adm/advert');
}
}
elseif (isset($_GET['del'])) {
$num_u->execute(array($_GET['del']));
if ($num_u->fetchColumn()) {
if (isset($_POST['yes'])) {
$del = $connect->prepare("delete from `rek` where `id` = ? limit 1");
if ($del->execute(array($_GET['del']))) {
header('location: /adm/advert');
} else {
echo '<div class="menu">Произошла ошибка!</div>';
}
}
elseif (isset($_POST['no'])) {
header('location: /adm/advert');
}
echo '<div class="menu">
<form action="" method="POST">
<input type="submit" name="yes" value="Удалить ('.intval($_GET['del']).')"/>
<input type="submit" name="no" value="Отмена"/>
</form></div>';
} else {
header('location: /adm/advert');
}
}
elseif (isset($_GET['bs'])) {
$num_u->execute(array($_GET['bs']));
if ($num_u->fetchColumn()) {
$strow->execute(array($_GET['bs']));
$row = $strow->fetch();
if ($row['status'] == 1) {
if (isset($_POST['cancel'])) {
header('location: /adm/advert');
}
elseif (isset($_POST['yes'])) {
$error = '';
$days = intval(abs($_POST['days']));
$last = $row['expire'] > time() ? $row['expire'] : time();
$expire = $last + 3600 * 24 * $days;
if ($row['expire'] < time() && $active_rek + $c_mod_rek >= $sys['system']['rek_limit']) {
$error.= 'Все рекламные места заняты!<br/>';
} else {
if ($days < 1) {
$error.= 'Минимальное количество дней - 1!<br/>';
}
}
if ($error) {
echo '<div class="menu">'.$error.'</div>';
} else {
$stmt = $connect->prepare("update `rek` set `expire` = ?, `days` = `days` + ? where `id` = ?");
if ($stmt->execute(array($expire, $days, $_GET['bs']))) {
header('location: /adm/advert');
} else {
echo '<div class="menu">Произошла ошибка!</div>';
}
}
}
echo '<div class="menu">
<form action="" method="POST">
Количество дней:<br/><input type="text" name="days" value="5"><br/>
<input type="submit" name="yes" value="Продолжить ('.intval($_GET['bs']).')"/>
<input type="submit" name="cancel" value="Отмена"/>
</form></div>';
} else {
header('location: /adm/advert');
}
} else {
header('location: /adm/advert');
}
}
}
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;
$expire = $status == 1 && $row['expire'] == 0 ? time() + 3600 * 24 * $row['days'] : $row['expire'];
$stmt = $connect->prepare("update `rek` set `status` = ?, `expire` = ? where `id` = ?");
if ($stmt->execute(array($status, $expire, $_GET['ban']))) {
notification('Ваша рекламная ссылка (ID: '.$row['id'].') '.($status == 2 ? '[color=red]заблокирована[/color]' : '[color=green]активирована[/color]'), $row['uid']);
header('Location: /adm/advert');
} else {
echo '<div class="menu">Произошла ошибка!</div>';
}
}
elseif (isset($_POST['cancel'])) {
header('Location: /adm/advert');
}
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/advert');
}
}
if ($rek == 0) {
echo '<div class="menu">NONE</div>';
} else {
$page = new Pagination($rek, 10);
$data = $connect->prepare("select * from `rek` order by `status` desc, `expire` desc, `id` desc limit :start, 10");
$data->bindValue(':start', $page->start, PDO::PARAM_INT);
$data->execute();
$sql = $data->fetchAll();
foreach ($sql as $row) {
echo '<div class="menu">
URL: '.bblinks($row['url']).'<br/>
Название: '.$row['name'].'<br/>
'.($row['comment'] ? 'Комментарий к ссылке: '.$row['comment'].'<br/>' : '').
($row['color'] ? 'Цвет ссылки: <font color="'.$row['color'].'">'.$row['color'].'</font><br/>' : '').'
Рекламодатель: '.profileLink($row['uid']).'<br/>
Сумма: '.rub($row['sum']).'<br/>
Общее количество дней: '.$row['days'].
($row['status'] == 3 ? '<div class="information">На модерации!</div>' : ($row['status'] == 2 ? '<div class="danger">Рекламная ссылка заблокирована!</div>' : ($row['expire'] > time() ? '<div class="good">Активна до: '.daytime($row['expire']).'</div>' : '<div class="danger">Просрочена!</div>'))).'
<div class="butt2">
'.($adm_id == 1 ? '<a href="?del='.$row['id'].'">Удалить</a>
<a href="?edit='.$row['id'].'">Редактировать</a>
'.($row['status'] == 1 ? '<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");
?>