View file testim.wmzo.ru/AdmPanel/adsa.php

File size: 11.5Kb
<?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>';
?>