<?php
$title = 'Панель управления сайтом - Управление рекламой';
require_once($_SERVER['DOCUMENT_ROOT'].'/Sys/head.php');
reg();
level(2);
switch($act) {
default:
echo '<div class="block">Управление рекламой</div>';
echo '<div class="l1">
<a href="?act=sites">Площадки</a><br />
<a href="?act=add">Добавить площадку</a><br />
<a href="?act=settings">Настройки</a></div>';
break;
case 'add':
$colors = array('A43236' => 'Стандартный цвет', '3366FF' => 'Синий', '9ACD32' => 'Зеленый', 'FFD700' => 'Оранжевый', 'FF0000' => 'Красный', 'A020F0' => 'Фиолетовый');
$set = $mysqli->query("SELECT * FROM `ads_settings`")->fetch_assoc();
$cnt = $mysqli->query("SELECT COUNT(`id`) AS `cnt` FROM `ads` WHERE `pay` = '1' AND `date` >= NOW() OR `total` > 0")->fetch_assoc();
if($cnt['cnt'] >= $set['links']) {
echo '<div class="l1">В данный момент все рекламные места заняты</div>';
include $_SERVER['DOCUMENT_ROOT'].'/Sys/foot.php';
exit();
}
if(isset($_POST['submit'])) {
$error = NULL;
if(!filter_var($_POST['url'], FILTER_VALIDATE_URL)) $error .= 'URL не валиден<br />';
if(substr_count($_POST['name'], '|') > 3 || empty($_POST['name'])) $error .= 'Название ссылки не валидно<br />';
if(!isset($_POST['type']) || !in_array($_POST['type'], array(1,2))) $error .= 'Не выбран тип рекламы<br />';
if(!array_key_exists($_POST['color'], $colors)) $error .= 'Цвет не валиден<br />';
if($_POST['type'] == 2 && (int) $_POST['days'] < 1) $error .= 'Вы не указали длительность заказа рекламы<br />';
if($_POST['type'] == 1 && (int) $_POST['total'] < 1000) $error .= 'Заказ возможен от 1000 переходов';
if(!$error) {
$url = $mysqli->real_escape_string($_POST['url']);
$name = $mysqli->real_escape_string($_POST['name']);
$type = (int) $_POST['type'];
$onlymob = (int) $_POST['onlymob'];
$bold = (int) $_POST['bold'];
$color = $mysqli->real_escape_string(strtolower($_POST['color']));
$days = (int) $_POST['days'];
$total = (int) $_POST['total'];
$date = 'NOW()';
if($type == 1) $sum = (($_POST['total'] / 1000) * $set['price']);
if($type == 2) {
$sum = $_POST['days'] * $set['day'];
$date = 'DATE_ADD(NOW(), INTERVAL '.$days.' DAY)';
}
if($bold == 1) $sum = $sum + $set['bold'];
if($color != 0) $sum = $sum + $set['color'];
$sum = round($sum);
$h = strtoupper(md5(time()));
$mysqli->query("INSERT INTO `ads` SET `hash` = '$h', `url` = '$url', `name` = '$name', `type` = '$type', `onlymob` = '$onlymob', `bold` = '$bold', `color` = '$color', `total` = '$total', `sum` = '$sum', `pay` = '1', `date` = $date");
echo '<div class="l1">
Площадка '.htmlspecialchars($_POST['url']).' успешно добавлена в ротацию<br />';
include $_SERVER['DOCUMENT_ROOT'].'/Sys/foot.php';
exit();
}
else echo '<div class="l1"><span style="color: red">'.$error.'</div>';
}
if(isset($_GET['type']) && in_array($_GET['type'], array(1,2))) {
$type = (int) $_GET['type'];
echo '<div class="l1">
<form action="" method="post">
Рекламируемый URL:<br />
<input type="text" name="url" value="http://" /><br />
Название ссылок:<br />
<input type="text" name="name" /><br />
<small>можно использовать до 3-х названий, разделив их символом |</small><br />
<input type="hidden" name="type" value="'.$type.'" />';
if($type == 1) echo '
Кол-во переходов: ('.$set['price'].'р за 1000) <br />
<input type="text" name="total" /><br />
<input type="checkbox" name="onlymob" value="1" /> считать только мобильные устройства<br />';
else echo 'Кол-во суток рекламы: ('.$set['day'].'р за сутки)<br /><input type="text" name="days" /> <br />';
echo '<input type="checkbox" name="bold" value="1" /> выделить жирным (+'.$set['bold'].'р) <br />
Выделить цветом: (+'.$set['color'].'р)<br />
<select name="color">';
foreach($colors as $key => $val)
echo '<option value="'.$key.'">'.$val.'</option>';
echo '</select><br />
<input type="submit" name="submit" value="Добавить" />
</form></div>';
} else {
echo '<div class="l1">
<b><a href="http://firetop.su/controlPanel/adsa?act=add&type=1">Реклама по кликам</a><br />
<a href="http://firetop.su/controlPanel/adsa?act=add&type=2">Реклама по дням<br /></a></b>
</div>';
}
break;
case 'settings':
if(isset($_POST['submit'])) {
$links = (int) $_POST['links'];
$day = (int) $_POST['day'];
$price = (int) $_POST['price'];
$bold = (int) $_POST['bold'];
$color = (int) $_POST['color'];
$wmr = $mysqli->real_escape_string($_POST['wmr']);
$key = $mysqli->real_escape_string($_POST['key']);
$mysqli->query("UPDATE `ads_settings` SET `links` = '$links', `day` = '$day', `price` = '$price', `bold` = '$bold', `color` = '$color', `wmr` = '$wmr', `key` = '$key'");
header("Location: ?act=settings");
exit();
}
$row = $mysqli->query("SELECT * FROM `ads_settings`")->fetch_assoc();
$links = (int) $row['links'];
$day = (int) $row['day'];
$price = (int) $row['price'];
$bold = (int) $row['bold'];
$color = (int) $row['color'];
$wmr = htmlspecialchars($row['wmr']);
$key = htmlspecialchars($row['key']);
echo '<div class="block">Настройки</div>';
echo '<div class="l1">
<form action="" method="POST">
Кол-во рекламных мест:<br />
<input type="text" name="links" value="'.$links.'" /><br />
Цена за сутки: <br />
<input type="text" name="day" value="'.$day.'" /><br />
Цена за 1000 переходов:<br />
<input type="text" name="price" value="'.$price.'" /><br />
Цена за жирность:<br />
<input type="text" name="bold" value="'.$bold.'" /><br />
Цена цвет:<br />
<input type="text" name="color" value="'.$color.'" /><br />
</div><div class="block">Настройка Merchant</div>
<div class="l1">
WMR:<br />
<input type="text" name="wmr" value="'.$wmr.'" /><br />
Secret key:<br />
<input type="text" name="key" value="'.$key.'" /><br />
<input type="submit" name="submit" value="Редактировать" />
</form></div>';
break;
case 'sites':
if(isset($_GET['delete'])) {
$id = (int) $_GET['delete'];
$mysqli->query("DELETE FROM `ads` WHERE `id` = '$id'");
header("Location: /controlPanel/adsa?act=sites");
exit();
}
echo '<div class="block">Список площадок</div>';
$q = $mysqli->query("SELECT * FROM `ads` WHERE `date` >= NOW() AND `pay` = '1' OR `total` > 0 AND `pay` = '1'");
while($row = $q->fetch_assoc()) {
echo '<div class="l1">
<a href="'.htmlspecialchars($row['url']).'">'.htmlspecialchars($row['url']).'</a><br />
[<a href="/ads_stat.php?code='.$row['hash'].'">стат</a>]
[<a href="/controlPanel/adsa?act=edit&id='.(int) $row['id'].'">ред</a>]
[<a href="/controlPanel/adsa?act=sites&delete='.(int) $row['id'].'">удал</a>]<br />';
if($row['type'] == 1) echo 'Осталось переходов: '.($row['total'] < 0 ? 0 : $row['total']).'';
else echo 'Оплачена до: '.date('Y.d.m H:i', strtotime($row['date'])).'';
echo '</div>';
}
echo '<div class="bb"><a href="/adm_panel/ads.php">Назад</a></div>';
break;
case 'edit':
$id = (int) $_GET['id'];
$colors = array('A43236' => 'Стандартный цвет', '3366FF' => 'Синий', '9ACD32' => 'Зеленый', 'FFD700' => 'Оранжевый', 'FF0000' => 'Красный', 'A020F0' => 'Фиолетовый');
if(isset($_POST['submit'])) {
$error = NULL;
if(!filter_var($_POST['url'], FILTER_VALIDATE_URL)) $error .= 'URL не валиден<br />';
if(substr_count($_POST['name'], '|') > 3 || empty($_POST['name'])) $error .= 'Название ссылки не валидно<br />';
if(!isset($_POST['type']) || !in_array($_POST['type'], array(1,2))) $error .= 'Не выбран тип рекламы<br />';
if(!array_key_exists($_POST['color'], $colors)) $error .= 'Цвет не валиден<br />';
if($_POST['type'] == 2 && (int) $_POST['days'] < 1) $error .= 'Вы не указали длительность заказа рекламы<br />';
if($_POST['type'] == 1 && (int) $_POST['total'] < 1000) $error .= 'Заказ возможен от 1000 переходов';
if(!$error) {
$url = $mysqli->real_escape_string($_POST['url']);
$name = $mysqli->real_escape_string($_POST['name']);
$type = (int) $_POST['type'];
$onlymob = (int) $_POST['onlymob'];
$bold = (int) $_POST['bold'];
$color = $mysqli->real_escape_string(strtolower($_POST['color']));
$days = (int) $_POST['days'];
$total = (int) $_POST['total'];
//$date = 'NOW()';
if($type == 1) {
$date = 'NOW()';
$sum = (($_POST['total'] / 1000) * $set['price']);
}
if($type == 2) {
$sum = $_POST['days'] * $set['day'];
$date = 'DATE_ADD(NOW(), INTERVAL '.$days.' DAY)';
}
if($bold == 1) $sum = $sum + $set['bold'];
if($color != 0) $sum = $sum + $set['color'];
$sum = round($sum);
$mysqli->query("UPDATE `ads` SET `url` = '$url', `name` = '$name', `type` = '$type', `onlymob` = '$onlymob', `bold` = '$bold', `color` = '$color', `total` = '$total', `sum` = '$sum', `pay` = '1', `date` = $date WHERE `id` = '$id'");
echo '<div class="l1">
Площадка '.htmlspecialchars($_POST['url']).' успешно отредактирована<br />';
echo '<a href="http://'.$_SERVER['HTTP_HOST'].'/controlPanel/adsa">Реклама</a><br/>';
echo '<a href="http://'.$_SERVER['HTTP_HOST'].'/controlPanel/adsa?act=sites">Список площадок</a><br/>';
include $_SERVER['DOCUMENT_ROOT'].'/Sys/foot.php';
exit();
}
else echo '<div class="l1"><span style="color: red">'.$error.'</div>';
}
$r = $mysqli->query("SELECT * FROM `ads` WHERE `id` = '$id'")->fetch_assoc();
$type = (int) $r['type'];
echo '<div class="l1">
<form action="" method="post">
Рекламируемый URL:<br />
<input type="text" name="url" value="'.$r['url'].'" /><br />
Название ссылок:<br />
<input type="text" name="name" value="'.$r['name'].'" /><br />
<small>можно использовать до 3-х названий, разделив их символом |</small><br />
<input type="hidden" name="type" value="'.$type.'" />';
if($type == 1) echo '
Кол-во переходов: <br />
<input type="text" name="total" value="'.$r['total'].'" /><br />
<input type="checkbox" name="onlymob" value="1" /> считать только мобильные устройства<br />';
else echo 'Дата окончания рекламы<br /><input type="text" name="days" value="'.$r['date'].'" /> <br />';
echo '<input type="checkbox" name="bold" value="1" /> выделить жирным <br />
Выделить цветом: <br />
<select name="color">';
foreach($colors as $key => $val)
echo '<option value="'.$key.'">'.$val.'</option>';
echo '</select><br />
<input type="submit" name="submit" value="Редактировать" />
</form></div>';
break;
}
echo '<div class="li">';
echo '<a href="http://'.$_SERVER['HTTP_HOST'].'/controlPanel/adsa">Реклама</a><br/>';
echo '<a href="http://'.$_SERVER['HTTP_HOST'].'/controlPanel">В Админку</a><br/>';
echo '</div>';
?>