<?php
#---------------------------------------------#
# ********* RotorCMS ********* #
# Author : Vantuz #
# Email : [email protected] #
# Site : http://visavi.net #
# ICQ : 36-44-66 #
# Skype : vantuzilla #
#---------------------------------------------#
require_once ('../includes/start.php');
require_once ('../includes/functions.php');
require_once ('../includes/header.php');
include_once ('../themes/header.php');
if (isset($_GET['act'])) {
$act = check($_GET['act']);
} else {
$act = 'index';
}
if (isset($_GET['start'])) {
$start = abs(intval($_GET['start']));
} else {
$start = 0;
}
show_title('Реклама на сайте');
if (!empty($config['rekusershow'])) {
switch ($act):
############################################################################################
## Главная страница ##
############################################################################################
case 'index':
if (is_user()) {
if ($udata['users_point'] >= 50) {
$total = DB::run() -> querySingle("SELECT COUNT(*) FROM `rekuser` WHERE `rek_time`>?;", array(SITETIME));
if ($total < $config['rekusertotal']) {
$rekuser = DB::run() -> querySingle("SELECT `rek_id` FROM `rekuser` WHERE `rek_user`=? AND `rek_time`>? LIMIT 1;", array($log, SITETIME));
if (empty($rekuser)) {
echo 'У вас в наличии: <b>'.moneys($udata['users_money']).'</b><br /><br />';
echo '<div class="form">';
echo '<form method="post" action="reklama.php?act=add&uid='.$_SESSION['token'].'">';
echo 'Адрес сайта:<br />';
echo '<input name="site" type="text" value="http://" maxlength="50" /><br />';
echo 'Название ссылки:<br />';
echo '<input name="name" type="text" maxlength="35" /><br />';
echo 'Код цвета:';
if (file_exists(BASEDIR.'/services/colors.php')) {
echo ' <a href="/services/colors.php">(?)</a>';
}
echo '<br />';
echo '<input name="color" type="text" maxlength="7" /><br />';
echo 'Жирность: ';
echo '<input name="bold" type="checkbox" value="1" /><br />';
echo '<br /><input value="Купить" type="submit" /></form></div><br />';
echo 'Стоимость размещения ссылки '.moneys($config['rekuserprice']).' за '.$config['rekusertime'].' часов<br />';
echo 'Цвет и жирность опционально, стоимость каждой опции '.moneys($config['rekuseroptprice']).'<br />';
echo 'Ссылка прокручивается на всех страницах сайта с другими ссылками пользователей<br />';
echo 'В названии ссылки запрещено использовать любые ненормативные и матные слова<br />';
echo 'Адрес ссылки не должен направлять на прямое скачивание какого-либо контента<br />';
echo 'Запрещены ссылки на сайты с алярмами и порно<br />';
echo 'За нарушение правил предусмотрено наказание в виде строгого бана<br /><br />';
} else {
show_error('Ошибка! Вы уже разместили рекламу, запрещено добавлять несколько сайтов подряд!');
}
} else {
show_error('В данный момент нет свободных мест для размещения рекламы!');
}
} else {
show_error('Ошибка! Для покупки рекламы вам необходимо набрать '.points(50).'!');
}
} else {
show_login('Вы не авторизованы, для покупки рекламы, необходимо');
}
echo '<img src="/images/img/history.gif" alt="image" /> <a href="reklama.php?act=all">Полный список</a><br />';
break;
############################################################################################
## Действие при оплате ##
############################################################################################
case 'add':
$config['newtitle'] = 'Оплата рекламы';
if (is_user()) {
if ($udata['users_point'] >= 50) {
$uid = check($_GET['uid']);
$site = check($_POST['site']);
$name = check($_POST['name']);
$color = check($_POST['color']);
$bold = (empty($_POST['bold'])) ? 0 : 1;
if ($uid == $_SESSION['token']) {
if (preg_match('|^http://([а-яa-z0-9_\-\.])+(\.([а-яa-z0-9\/\-?_=#])+)+$|iu', $site)) {
if (utf_strlen($site) >= 10 && utf_strlen($site) <= 50) {
if (utf_strlen($name) >= 5 && utf_strlen($name) <= 50) {
if (preg_match('|^#+[A-f0-9]{6}$|', $color) || empty($color)) {
DB::run() -> query("DELETE FROM `rekuser` WHERE `rek_time`<?;", array(SITETIME));
$total = DB::run() -> querySingle("SELECT COUNT(*) FROM `rekuser` WHERE `rek_time`>?;", array(SITETIME));
if ($total < $config['rekusertotal']) {
$rekuser = DB::run() -> querySingle("SELECT `rek_id` FROM `rekuser` WHERE `rek_user`=? LIMIT 1;", array($log));
if (empty($rekuser)) {
$price = $config['rekuserprice'];
if (!empty($color)) {
$price = $price + $config['rekuseroptprice'];
}
if (!empty($bold)) {
$price = $price + $config['rekuseroptprice'];
}
if ($udata['users_money'] >= $price) {
DB::run() -> query("INSERT INTO `rekuser` (`rek_site`, `rek_name`, `rek_color`, `rek_bold`, `rek_user`, `rek_time`) VALUES (?, ?, ?, ?, ?, ?);", array($site, $name, $color, $bold, $log, SITETIME + ($config['rekusertime'] * 3600)));
DB::run() -> query("UPDATE `users` SET `users_money`=`users_money`-? WHERE `users_login`=?;", array($price, $log));
save_advertuser();
$_SESSION['note'] = 'Рекламная ссылка успешно размещена (Cписано: '.moneys($price).')';
redirect("reklama.php?act=all");
} else {
show_error('Ошибка! Для покупки рекламы у вас недостаточно денег!');
}
} else {
show_error('Ошибка! Вы уже разместили рекламу, запрещено добавлять несколько сайтов подряд!');
}
} else {
show_error('Ошибка! В данный момент нет свободных мест для размещения рекламы!');
}
} else {
show_error('Ошибка! Недопустимый формат цвета ссылки! (пример #ff0000)');
}
} else {
show_error('Ошибка! Слишком длинное или короткое название ссылки! (от 5 до 35 символов)');
}
} else {
show_error('Ошибка! Слишком длинный или короткий адрес ссылки! (от 5 до 50 символов)');
}
} else {
show_error('Ошибка! Недопустимый адрес сайта!');
}
} else {
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!!');
}
} else {
show_error('Ошибка! Для покупки рекламы вам необходимо набрать '.points(50).'!');
}
} else {
show_login('Вы не авторизованы, для покупки рекламы, необходимо');
}
echo '<img src="/images/img/back.gif" alt="image" /> <a href="reklama.php">Вернуться</a><br />';
break;
############################################################################################
## Просмотр всех ссылок ##
############################################################################################
case 'all':
$config['newtitle'] = 'Список всех ссылок';
$total = DB::run() -> querySingle("SELECT count(*) FROM `rekuser` WHERE `rek_time`>?;", array(SITETIME));
if ($total > 0) {
if ($start >= $total) {
$start = 0;
}
$queryrek = DB::run() -> query("SELECT * FROM `rekuser` WHERE `rek_time`>? ORDER BY `rek_time` DESC LIMIT ".$start.", ".$config['rekuserpost'].";", array(SITETIME));
while ($data = $queryrek -> fetch()) {
echo '<div class="b">';
echo '<img src="http://www.google.com/s2/favicons?domain='.$data['rek_site'].'" alt="image" /> ';
if (!empty($data['rek_bold'])) { if (!empty($data['rek_color'])) { echo ' <a href="'.$data['rek_site'].'"> <span style="color:'.$data['rek_color'].'"><b> '.$data['rek_name'].'</b></a> ('.profile($data['rek_user']).')</span>'; }} else { echo ' <a href="'.$data['rek_site'].'"> '.$data['rek_name'].'</a> ('.profile($data['rek_user']).')'; }
echo' </div>';
echo 'Истекает: '.date_fixed($data['rek_time']).'<br />';
}
page_strnavigation('reklama.php?act=all&', $config['rekuserpost'], $start, $total);
echo 'Всего ссылок: <b>'.$total.'</b><br /><br />';
} else {
show_error('В данный момент рекламных ссылок еще нет!');
}
echo '<img src="/images/img/money.gif" alt="image" /> <a href="reklama.php">Купить рекламу</a><br />';
break;
default:
redirect("reklama.php");
endswitch;
} else {
show_error('Показ и размещение рекламы запрещено администрацией сайта!');
}
include_once ('../themes/footer.php');
?>