Файл: InstantSocial/uploud/admin/components/reklama/backend.php
Строк: 476
<?php
if(!defined('VALID_CMS_ADMIN')) { die('ACCESS DENIED'); }
/*********************************************************************************************/
// //
// InstantCMS v1.7 (c) 2010 FREEWARE //
// http://www.instantcms.ru/, info@instantcms.ru //
// //
// written by Vladimir E. Obukhov, 2007-2010 //
// //
/*********************************************************************************************/
$inCore = cmsCore::getInstance();
$inDB = cmsDatabase::getInstance();
cpAddPathway('Реклама', '?view=components&do=config&id='.$_REQUEST['id']);
echo '<h3>Реклама</h3>';
if (isset($_REQUEST['opt'])) { $opt = $_REQUEST['opt']; } else { $opt = 'list'; }
$msg = '';
function getUser($user_id){
$inDB = cmsDatabase::getInstance();
$sql = "SELECT * FROM cms_users WHERE id = $user_id LIMIT 1";
$result = $inDB->query($sql);
if ($inDB->num_rows($result)){
$item = $inDB->fetch_assoc($result);
}
$link = '<a target="_blank" href="http://'.$_SERVER['HTTP_HOST'].'/users/'.$item['login'].'">'.$item['login'].'</a>';
return $link;
}
function getConfig(){
$inDB = cmsDatabase::getInstance();
$sql = "SELECT * FROM cms_reklama_config";
$result = $inDB->query($sql);
$conf = $inDB->fetch_assoc($result);
return $conf;
}
$toolmenu = array();
if($opt=='list'){
$toolmenu[40]['icon'] = 'config.gif';
$toolmenu[40]['title'] = 'Настройки';
$toolmenu[40]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=config';
$toolmenu[41]['icon'] = 'saveprices.gif';
$toolmenu[41]['title'] = 'Статистика баланса системы';
$toolmenu[41]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=statbalans';
$toolmenu[42]['icon'] = 'usergroup.gif';
$toolmenu[42]['title'] = 'Управление балансами пользователя';
$toolmenu[42]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=userbalans';
}
if ($opt=='list'){
$toolmenu[15]['icon'] = 'cancel.gif';
$toolmenu[15]['title'] = 'Отмена';
$toolmenu[15]['link'] = '?view=components';
} else {
$toolmenu[21]['icon'] = 'cancel.gif';
$toolmenu[21]['title'] = 'Отмена';
$toolmenu[21]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=list';
}
cpToolMenu($toolmenu);
if ($opt == 'list'){
$sql = "SELECT * FROM cms_reklama ORDER BY id";
$result = $inDB->query($sql);
if ($inDB->num_rows($result) !==0){
while($item = $inDB->fetch_assoc($result)){
$items[] = $item;
}
}
$config = getConfig();
echo '<div style="margin: 0 auto;">';
if ($items){
foreach($items as $item){
echo '<div class="reklama">
<div class="upravlenie'.$item['id'].'" style="margin:0 auto; width:70px; display:none;">
<a href="?view=components&do=config&id='.$_REQUEST['id'].'&opt=stat&item_id='.$item['id'].'">
<img title="Статистика" src="images/reklama/stat.png" width="15" height="15" alt="" style="border:none;">
</a>
<a title="Редактировать" href="?view=components&do=config&id='.$_REQUEST['id'].'&opt=edit&item_id='.$item['id'].'">
<img src="images/reklama/edit.png" width="15" height="15" alt="" style="border:none;">
</a>';
if($item['blocking']){
echo '<a href="#" title="Разблокировать" onclick="jsmsg('Разблокировать рекламное обьявление?','?view=components&do=config&id='.$_REQUEST['id'].'&opt=unblocking&item_id='.$item['id'].'')">
<img src="images/reklama/unblocking.png" width="15" height="15" alt="Разблокировать" style="border:none;">
</a>';
}else{
echo '<a href="#" title="Заблокировать" onclick="jsmsg('Заблокировать рекламное обьявление?','?view=components&do=config&id='.$_REQUEST['id'].'&opt=blocking&item_id='.$item['id'].'')">
<img src="images/reklama/blocking.png" width="15" height="15" alt="" style="border:none;">
</a>';
}
echo '<a href="#" title="Удалить" onclick="jsmsg('Удалить рекламное обьявление?','?view=components&do=config&id='.$_REQUEST['id'].'&opt=delete&item_id='.$item['id'].'')">
<img src="images/reklama/delete.png" width="15" height="15" alt="" style="border:none;">
</a>
</div>
<a href="#" class="upravl" id="vis'.$item['id'].'">';
if($item['blocking']){
echo '<span title="'.str_replace("<br>"," ",$item['text']).'" style="background-color:red; background-image:url('../images/tizers/small120/'.$item['img'].'');"></span>
'.$item['text'].'';
}else{
echo '<span title="'.str_replace("<br>"," ",$item['text']).'" style="background-image:url('../images/tizers/small120/'.$item['img'].'');"></span>
'.$item['text'].'';
}
echo '</a>
</div>';
echo '<script type="text/javascript">
$("#vis'.$item['id'].'").click(function () {
$(".upravlenie'.$item['id'].'").slideToggle(300);
return false;
});
</script>';
}
}else{
echo '<div>Нет обьявлений!</div>';
}
echo '</div>';
}
if ($opt == 'delete'){
if($_REQUEST['item_id']){
$id = $_REQUEST['item_id'];
$inDB->query("DELETE FROM cms_reklama WHERE id = {$id}");
$inDB->query("DELETE FROM cms_reklama_hits WHERE reklama_id = {$id}");
$inCore->redirect('?view=components&do=config&id='.$_REQUEST['id'].'&opt=list');
}
}
if ($opt == 'blocking'){
if($_REQUEST['item_id']){
$id = $_REQUEST['item_id'];
$inDB->query("UPDATE cms_reklama SET blocking = 1 WHERE id = {$id}");
$inCore->redirect('?view=components&do=config&id='.$_REQUEST['id'].'&opt=list');
}
}
if ($opt == 'unblocking'){
if($_REQUEST['item_id']){
$id = $_REQUEST['item_id'];
$inDB->query("UPDATE cms_reklama SET blocking = 0 WHERE id = {$id}");
$inCore->redirect('?view=components&do=config&id='.$_REQUEST['id'].'&opt=list');
}
}
if ($opt == 'add' || $opt == 'edit'){
cpAddPathway('Редактирование рекламного обьявления', '?view=components&do=config&id='.$_REQUEST['id'].'&opt=stat');
echo '<h3>Редактирование рекламного обьявления</h3>';
if ($_POST){
$msg = '';
$msggood = '';
if (!empty($_REQUEST['text'])) { $text = $_REQUEST['text']; } else { $msg .= 'Укажите текст обьявления!<br>'; }
$gourl = $_REQUEST['gourl'];
$text1 = $_REQUEST['text1'];
$max = $_REQUEST['max'];
$day = $_REQUEST['day'];
$bannertext = $text.'<br>'.$text1;
if ($msg == ''){
$sql = "UPDATE cms_reklama SET
max='{$max}',
day='{$day}',
text='{$bannertext}',
gourl='{$gourl}' WHERE id={$_REQUEST['item_id']} LIMIT 1";
$inDB->query($sql);
$msggood = 'Обьявление отредактировано!';
}
}
$sql = "SELECT * FROM cms_reklama WHERE id = {$_REQUEST['item_id']} LIMIT 1";
$result = $inDB->query($sql);
if ($inDB->num_rows($result)){
$item = $inDB->fetch_assoc($result);
}
$texts = explode("<br>", $item['text']);
echo'<table width="100%" cellpadding="1" cellspacing="1">
<tr>
<td class="rec_add_right">';
if ($msg != ''){
echo '<p style="color:red">'.$msg.'</p>';
}
if ($msggood != ''){
echo '<p style="color:green">'.$msggood.'</p>';
}
echo'<div class="reklama" style="height:130px;">
<span style="background-image:url('/images/tizers/small120/'.$item['img'].'');"></span>
<label id="exText"></label><br><label id="exText1"></label>
</div>
<div style="clear:both"></div>
<form action="" method="POST" enctype="multipart/form-data">
<div><strong>URL ссылки</strong></div>
<div><input type="text" name="gourl" value="'.$item['gourl'].'" class="rec_url" style="width: 500px;"></div>
<div><small style="color:red;">Не забывайте "http://", параметр обязателен!</small></div>
<div><small>На этот адрес будет осуществляться переход по клику на объявление</small></div>
<br>
<div><strong>Текст объявления, максимум 23 символов в строке</strong></div>
<div>1-я строка: <input type="text" maxlength="23" id="text" value="'.$texts[0].'" name="text"></div>
<div>2-я строка: <input type="text" maxlength="23" id="text1" value="'.$texts[1].'" name="text1"></div>
<br>
<div><strong>Ограничение показов</strong></div>
<div>Максимальное число показов: <input type="text" value="'.$item['max'].'" name="max" style="width:50px;"></div>
<div>в день не более: <input type="text" name="day" value="'.$item['day'].'" style="width:50px;"> ("0" — без ограничений)</div>
<br>
<div><input type="submit" value="Сохранить"></div>
</form>
</td>
</tr>
</table>';
}
if ($opt == 'stat'){
cpAddPathway('Статистика обьявления', '?view=components&do=config&id='.$_REQUEST['id'].'&opt=stat');
echo '<h3>Статистика обьявления</h3>';
$id = $_REQUEST['item_id'];
include_once '../graph/open_flash_chart_object.php';
$baseURL = "http://".$_SERVER['HTTP_HOST'].'/graph/';
open_flash_chart_object( 800, 500, $baseURL.'chart-data.php?id='.$id, false, $baseURL );
}
if ($opt == 'statbalans'){
cpAddPathway('Статистика по балансам пользователя', '?view=components&do=config&id='.$_REQUEST['id'].'&opt=statbalans');
echo '<h3>Статистика по балансам пользователя</h3>';
if ($_POST['delete']){
$id = $_POST['itemid'];
$inDB->query("DELETE FROM cms_reklama_psys_stat WHERE id = $id");
}
$sql = "SELECT * FROM cms_reklama_config";
$result = $inDB->query($sql);
$conf = $inDB->fetch_assoc($result);
$sql = "SELECT * FROM cms_reklama_psys_stat ORDER BY pubdate DESC";
$result = $inDB->query($sql);
if ($inDB->num_rows($result) !==0){
while($item = $inDB->fetch_assoc($result)){
$items[] = $item;
}
}
echo '<div style="margin:10px; padding:20px; border:1px dotted #999;">
<table width="100%">
<tr>
<td width="50" height="20" style="border-bottom:1px solid #999;"><b>Номер</b></td>
<td width="150" height="20" style="border-bottom:1px solid #999;"><b>Пользователь</b></td>
<td width="150" height="20" style="border-bottom:1px solid #999;"><b>Платежная система</b></td>
<td width="100" height="20" style="border-bottom:1px solid #999;"><b>Дата</b></td>
<td width="200" height="20" style="border-bottom:1px solid #999;"><b>Доход</b></td>
<td width="50"</td>
<td></td>
</tr>';
$price = 0;
if ($items){
foreach($items as $key=>$item){
$key = $key +1;
echo '<tr>';
echo '<td style="border-bottom:1px solid #ccc;">'.$key.'</td>';
echo '<td style="border-bottom:1px solid #ccc;">'.getUser($item['user_id']).'</td>';
echo '<td style="border-bottom:1px solid #ccc;">'.$item['pay_sys'].'</td>';
echo '<td style="border-bottom:1px solid #ccc;">'.$item['pubdate'].'</td>';
if($item['pay_sys'] == 'Webmoney R'){
$item['wmr'] = $item['price'];
$item['wmr_to_rub'] = $item['price']*$conf['wm_kurs_r'];
$item['price'] = round($item['wmr_to_rub'], 2);
echo '<td style="border-bottom:1px solid #ccc;">'.$item['wmr'].'WMR -> '.$item['price'].' руб.</td>';
}elseif($item['pay_sys'] == 'Webmoney Z'){
$item['wmz'] = $item['price'];
$item['wmz_to_rub'] = $item['price']*$conf['wm_kurs_z'];
$item['price'] = round($item['wmz_to_rub'], 2);
echo '<td style="border-bottom:1px solid #ccc;">'.$item['wmz'].'WMZ -> '.$item['price'].' руб.</td>';
}elseif($item['pay_sys'] == 'Webmoney U'){
$item['wmu'] = $item['price'];
$item['wmu_to_rub'] = $item['price']*$conf['wm_kurs_u'];
$item['price'] = round($item['wmu_to_rub'], 2);
echo '<td style="border-bottom:1px solid #ccc;">'.$item['wmu'].'WMU -> '.$item['price'].' руб.</td>';
}else{
echo '<td style="border-bottom:1px solid #ccc;">'.$item['price'].' руб.</td>';
}
echo '<td><form action="" method="POST"><input type="hidden" name="itemid" value="'.$item['id'].'"><input type="submit" name="delete" value="Удалить"></form></td>';
echo '<td></td>';
echo '</tr>';
$price += $item['price'];
}
}
echo '<tr>';
echo '<td></td>';
echo '<td></td>';
echo '<td></td>';
echo '<td style="text-align:right;"><b>Всего:</b></td>';
echo '<td>'.$price.' руб.</td>';
echo '<td></td>';
echo '<td></td>';
echo '</tr>';
echo '</table></div>';
}
if ($opt == 'config'){
$GLOBALS['cp_page_head'][] = '<script type="text/javascript" src="/includes/jquery/tabs/jquery.ui.min.js"></script>';
$GLOBALS['cp_page_head'][] = '<link href="/includes/jquery/tabs/tabs.css" rel="stylesheet" type="text/css" />';
cpAddPathway('Настройка', '?view=components&do=config&id='.$_REQUEST['id'].'&opt=config');
echo '<h3>Настройка</h3>';
if ($_POST){
$msg = '';
if (!empty($_REQUEST['price'])) { $price = $_REQUEST['price']; } else { $msg .= 'Укажите цену за тысячу показов!<br>'; }
if (!empty($_REQUEST['width'])) { $width = $_REQUEST['width']; } else { $width = 120; }
if (!empty($_REQUEST['poochrenie'])) { $poochrenie = $_REQUEST['poochrenie']; } else { $poochrenie = 0; }
$mon_login = $_REQUEST['mon_login'];
$mon_pwd1 = $_REQUEST['mon_pwd1'];
$mon_pwd2 = $_REQUEST['mon_pwd2'];
$mon_desc = $_REQUEST['mon_desc'];
$mon_url = $_REQUEST['mon_url'];
$wmr = $_REQUEST['wmr'];
$wmu = $_REQUEST['wmu'];
$wmz = $_REQUEST['wmz'];
$secret_key = $_REQUEST['secret_key'];
$sim_mode = $_REQUEST['sim_mode'];
$url_pay = $_REQUEST['url_pay'];
$wm_kurs_z = $_REQUEST['wm_kurs_z'];
$wm_kurs_u = $_REQUEST['wm_kurs_u'];
$wm_kurs_r = $_REQUEST['wm_kurs_r'];
$is_robokassa = $_REQUEST['is_robokassa'];
$is_billing = $_REQUEST['is_billing'];
$is_webmoney = $_REQUEST['is_webmoney'];
$img_w = $_REQUEST['img_w'];
$img_h = $_REQUEST['img_h'];
$img_sqr = $_REQUEST['img_sqr'];
$simbols = $_REQUEST['simbols'];
if($msg == ''){
$inDB->query("UPDATE cms_reklama_config SET
countitem = '{$count}',
price = '{$price}',
width = '{$width}',
poochrenie = '{$poochrenie}',
mon_login = '{$mon_login}',
mon_pwd1 = '{$mon_pwd1}',
mon_pwd2 = '{$mon_pwd2}',
mon_desc = '{$mon_desc}',
mon_url = '{$mon_url}',
wmr = '{$wmr}',
wmu = '{$wmu}',
wmz = '{$wmz}',
secret_key = '{$secret_key}',
sim_mode = '{$sim_mode}',
url_pay = '{$url_pay}',
wm_kurs_z = '{$wm_kurs_z}',
wm_kurs_u = '{$wm_kurs_u}',
wm_kurs_r = '{$wm_kurs_r}',
is_robokassa = '{$is_robokassa}',
is_billing = '{$is_billing}',
is_webmoney = '{$is_webmoney}',
img_w = '{$img_w}',
img_h = '{$img_h}',
img_sqr = '{$img_sqr}',
simbols = '{$simbols}'
");
}else{
echo '<div style="color:red;">'.$msg.'</div>';
}
}
$sql = "SELECT * FROM cms_reklama_config";
$result = $inDB->query($sql);
$conf = $inDB->fetch_assoc($result);
echo '
<form action="" method="POST" id="addform">
<div id="config_tabs" style="margin-top:12px;">
<ul id="tabs">
<li><a href="#general"><span>Общие настройки</span></a></li>
<li><a href="#images"><span>Изображения</span></a></li>
<li><a href="#roborakassa"><span>Robokassa</span></a></li>
<li><a href="#webmoney"><span>Webmoney</span></a></li>
<li><a href="#billing"><span>Billing</span></a></li>
</ul>
<div id="general">
<p><b>Общие настройки системы</b></p>
<p>Цена за тысячу показов:</p>
<p><input type="text" name="price" value="'.$conf['price'].'"> руб.</p>
';
echo'
<p>Количество вводимых символов объявления:</p>
<p><input type="text" name="simbols" value="'.$conf['simbols'].'"></p>
<p>Количество начисляемых пользователю показов для поощрения:</p>
<p><input type="text" name="poochrenie" value="'.$conf['poochrenie'].'"></p>
</div>
<div id="roborakassa">
<p><b>Настройки для RoboKassa</b></p>';
if($conf['is_robokassa']){
echo '<p>RoboKassa включена: <input type="checkbox" name="is_robokassa" value="1" checked></p>';
}else{
echo '<p>RoboKassa включена: <input type="checkbox" name="is_robokassa" value="1"></p>';
}
echo '<p>Логин:</p>
<p><input type="text" name="mon_login" style="width:350px;" value="'.$conf['mon_login'].'"></p>
<p>Пароль №1:</p>
<p><input type="text" name="mon_pwd1" style="width:350px;" value="'.$conf['mon_pwd1'].'"></p>
<p>Пароль №2:</p>
<p><input type="text" name="mon_pwd2" style="width:350px;" value="'.$conf['mon_pwd2'].'"></p>
<p>Url:</p>
<p><input type="text" name="mon_url" style="width:350px;" value="'.$conf['mon_url'].'"></p>
<p>Описание для платежей:</p>
<p><input type="text" name="mon_desc" style="width:350px;" value="'.$conf['mon_desc'].'"></p>';
echo '<div style="margin:20px; border:1px dotted #999; padding:10px;"><p><b>Данные для настройки RoboKassa</b></p>';
echo '<p>Result URL: <b>http://'.$_SERVER['HTTP_HOST'].'/reklama/result-robokasa.html</b></p>';
echo '<p>Success URL: <b>http://'.$_SERVER['HTTP_HOST'].'/reklama/pay_success.html</b></p>';
echo '<p>Fail URL: <b>http://'.$_SERVER['HTTP_HOST'].'/reklama/pay_fail.html</b></p>';
echo '<p>Метод отсылки данных: <b>POST</b></p></div>';
echo '</div>';
echo '
</div>
<div id="images">
<table width="" border="0" cellpadding="5" cellspacing="0" class="proptable" style="border:none">
<tr>
<td width="260">Задаем ширину своих изображений (Изображение обрезается в квадрат):</td>
<td>
<input name="img_w" type="text" id="img_w" size="5" value="'.$conf['img_w'].'" style="text-align:center"/> пикс.
</td>
</tr>
';
echo'
</table>
</div>
<div id="webmoney">
<table width="100%">
<tr>
<td width="400" valign="top">
<p><b>Настройка webmoney</b></p>';
if($conf['is_webmoney']){
echo '<p>Прием Webmoney включен: <input type="checkbox" name="is_webmoney" value="1" checked></p>';
}else{
echo '<p>Прием Webmoney включен: <input type="checkbox" name="is_webmoney" value="1" ></p>';
}
echo '<p>WMR кошелек:</p>
<p><input type="text" name="wmr" style="width:350px;" value="'.$conf['wmr'].'"></p>
<p>WMZ кошелек:</p>
<p><input type="text" name="wmz" style="width:350px;" value="'.$conf['wmz'].'"></p>
<p>WMU кошелек:</p>
<p><input type="text" name="wmu" style="width:350px;" value="'.$conf['wmu'].'"></p>
<p>Секретный ключ:</p>
<p><input type="text" name="secret_key" style="width:350px;" value="'.$conf['secret_key'].'"></p>
<p>Режим тестирования:</p>
<p><input type="text" name="sim_mode" style="width:350px;" value="'.$conf['sim_mode'].'"></p>
<p>URL для отправки платежа:</p>
<p><input type="text" name="url_pay" style="width:350px;" value="'.$conf['url_pay'].'"></p>
</td>
<td valign="top">
<p><b>Курсы webmoney</b></p>
<p>1 WMR:</p>
<p><input type="text" name="wm_kurs_r" style="width:150px;" value="'.$conf['wm_kurs_r'].'"> руб.</p>
<p>1 WMZ:</p>
<p><input type="text" name="wm_kurs_z" style="width:150px;" value="'.$conf['wm_kurs_z'].'"> руб.</p>
<p>1 WMU:</p>
<p><input type="text" name="wm_kurs_u" style="width:150px;" value="'.$conf['wm_kurs_u'].'"> руб.</p>
</td>
</tr>
</table>
</div>
<div id="billing">
<p><b>Настройка Billing</b></p>';
if($conf['is_billing']){
echo '<p>Billing включен: <input type="checkbox" name="is_billing" value="1" checked></p>';
}else{
echo '<p>Billing включен: <input type="checkbox" name="is_billing" value="1"></p>';
}
echo'</div>
<p><input type="submit" value="Сохранить"></p>
</form>
<script type="text/javascript">$("#config_tabs > ul#tabs").tabs();</script>
';
}
if($opt == 'userbalans'){
cpAddPathway('Управление балансами пользователей', '?view=components&do=config&id='.$_REQUEST['id'].'&opt=userbalans');
echo '<h3>Управление балансами пользователей</h3>';
if($_POST['addbalans']){
$id = $_POST['itemid'];
$msg = '';
if (!empty($_REQUEST['count'])) { $count = $_REQUEST['count']; } else { $msg .= 'Укажите количество добаляемых показов!<br>'; }
if($msg == ''){
$inDB->query("UPDATE cms_reklama_balans SET balans = balans + {$count} WHERE id = $id");
}else{
echo '<div style="color:red;">'.$msg.'</div> ';
}
}
$sql = "SELECT * FROM cms_reklama_balans ORDER BY id";
$result = $inDB->query($sql);
if ($inDB->num_rows($result) !==0){
while($item = $inDB->fetch_assoc($result)){
$items[] = $item;
}
}
echo '<div style="margin:10px; padding:20px; border:1px dotted #999;">
<table width="100%">
<tr>
<td width="50" height="20" style="border-bottom:1px solid #999;"><b>Номер</b></td>
<td width="150" height="20" style="border-bottom:1px solid #999;"><b>Пользователь</b></td>
<td width="150" height="20" style="border-bottom:1px solid #999;"><b>Баланс показов</b></td>
<td width="350">Пополнение баланса показов</td>
<td></td>
</tr>';
$price = 0;
foreach($items as $key=>$item){
$key = $key +1;
echo '<tr>';
echo '<td style="border-bottom:1px solid #ccc;">'.$key.'</td>';
echo '<td style="border-bottom:1px solid #ccc;">'.getUser($item['user_id']).'</td>';
echo '<td style="border-bottom:1px solid #ccc;">'.$item['balans'].'</td>';
echo '<td><form action="" method="POST"><input type="hidden" name="itemid" value="'.$item['id'].'"><input type="text" name="count" value=""><input type="submit" name="addbalans" value="Добавить"></form></td>';
echo '<td></td>';
echo '</tr>';
$balans += $item['balans'];
}
echo '<tr>';
echo '<td></td>';
echo '<td style="text-align:right;"><b>Всего куплено показов:</b></td>';
echo '<td>'.$balans.'</td>';
echo '<td></td>';
echo '<td></td>';
echo '</tr>';
echo '</table></div>';
}
?>