Файл: moduls/platform.php
Строк: 232
<?php
$title = 'Площадки';
require ('../core/sys.php');
require ('../core/head.php');
require ('../core/ya.class.php');
if(!isset($user)){
header('Location: /');
exit;
}
switch($_GET['act']){
default;
$mode = array('1'=>'<span class="label label-success">Активен</span>','0'=>'<span class="label label-info">Тестовый</span>','2' => '<span class="label label-danger">Заблокирован</span>','3' => '<span class="label label-danger">Модерация</span>');
?><div class="col-md-6 mt-4">
<h4><?=$title?></h4>
</div>
<?
$k_platform = $db->prepare('SELECT * FROM `platform` WHERE `user` = ?');
$k_platform -> execute([$user['id']]);
$k_platform = $k_platform -> rowCount();
if($k_platform == 0){
?><div class="box"><center>Нет активных площадок</center></div><?
}else{
$max = 10;
$k_page = k_page($k_platform,$max);
$page = page($k_page);
$start = $max*$page-$max;
$all = $db->prepare("SELECT * FROM `platform` WHERE `user` = ? ORDER BY `id` DESC LIMIT $start, $max");
$all -> execute([$user['id']]);
$all = $all -> fetchAll();
foreach($all as $row){
$o_day = $db->prepare("SELECT SUM(`summa`) FROM `pay` where `status` = 'yes' AND `platform` = ?");
$o_day -> execute([$row['id']]);
$o_day = $o_day->fetch(PDO::FETCH_NUM);
$o_day = $o_day[0];
if(empty($o_day)) $o_day = '0.00';
$yes_day = $db->prepare('SELECT * FROM `pay` WHERE `status` = ? AND `platform` = ?');
$yes_day -> execute(['yes',$row['id']]);
$yes_day = $yes_day -> rowCount();
$yes_c = $db->prepare('SELECT * FROM `pay` WHERE `platform` = ?');
$yes_c -> execute([$row['id']]);
$yes_c = $yes_c -> rowCount();
?>
<div class="col-md-16 mt-4">
<div class="card">
<div class="card-body">
<b>ID площадки:</b> <?=$row['id'];?></br>
<b>URL:</b> <?=$row['url'];?></br>
<b>Баланс:</b> <?=$row['money'];?> руб.</br>
<b>Режим оплаты:</b> <?=$mode[$row['type']];?><br />
<b>Количество заявок на оплату/оплачено/сумма:</b> [<?=$yes_c?> / <?=$yes_day?> / <?=$o_day?> руб.]<br/>
<br />
<?
if($row['type'] != 2) echo '
<button type="button" data-toggle="dropdown" class="btn btn-success my-2 my-sm-0" >Управление</button>
<ul class="dropdown-menu">
<li><a href="/platform/money/'.$row['id'].'.aspx">Вывести</a> </li>
<li><a href="/platform/edit/'.$row['id'].'.aspx">Редактировать</a></li>
<li><a href="/platform/profit/'.$row['id'].'.aspx">Оборот</a></li>
<li><a href="/platform/stat/'.$row['id'].'.aspx">Статистика</a></li>
</ul>
';
echo '</div></div></div>';
}
}
if($k_page >1){
echo str('/platform/my.aspx',$k_page,$page);
}
break;
case 'add':
?><div class="top"> Добавление новой площадки</div>
<div id="alert"></div>
<script>
$(document).ready(function(){
$('#add_sites').click(function(){
var url = $('#url').val();
var success = $('#success').val();
var error = $('#error').val();
var key = $('#key').val();
$.ajax({
url: "/ajax/add_sites.php",
type: "post",
data: {
"url": url,
"success": success,
"error": error,
"key": key,
} ,
success:
function(count) {
$('#alert').html(count);
}
});
});
});
</script>
<div class="box">
<h3> URL <span style="color: red;">*</span>: </h3><br/>
<input id="url" type="url" name="url" placeholder="Введите ссылку https://<?=$_SERVER['HTTP_HOST']?>"></br>
</br><input id="add_sites" type="submit" value="Добавить">
</div>
<?
break;
case 'money':
$id = abs(intval($_GET['id']));
$pl = $db->prepare('SELECT * FROM `platform` WHERE `id` = ?');
$pl -> execute([$id]);
$pl = $pl -> fetch(PDO :: FETCH_ASSOC);
if(!isset($pl['id']) || $pl['user'] != $user['id']){
header('Location: /platform/my.aspx');
exit;
}
if($pl['type'] == 2){
echo '<div id="error" class="message" style="text-align:center;"><b>Данная площадка была заблокирована из-за нарушения правил сервиса.</b></div>';
break;
}
?>
<div id="alert"></div>
<script>
$(document).ready(function(){
$('#money_sites').click(function(){
var id = $('#id').val();
var money = $('#money').val();
$.ajax({
url: "/ajax/money_sites.php",
type: "post",
data: {
"id": id,
"money": money,
} ,
success:
function(count) {
$('#alert').html(count);
}
});
});
});
</script>
<div class="top"> Вывод средств с площадки</div>
<div class="box">
<i style='color: #7867a7;width: 18px;height: 18px;' class='fa fa-rub'> </i> Баланс площадки: <?=$pl['money']?>руб.
<h3> Сумма: <span style="color: red;">*</span>: </h3><br/>
<input id="id" type="hidden" name="id" value="<?=$pl['id']?>">
<input id="money" type="number" name="money" value="<?=$pl['money']?>">
<br/>
</br><input id="money_sites" type="submit" value="Вывести"></div>
<?
#exit;
break;
case 'edit':
$id = abs(intval($_GET['id']));
$pl = $db->prepare('SELECT * FROM `platform` WHERE `id` = ?');
$pl -> execute([$id]);
$pl = $pl -> fetch(PDO :: FETCH_ASSOC);
if($user['id'] > 1){
if(!isset($pl['id']) || $pl['user'] != $user['id']){
header('Location: /platform/my.aspx');
exit;
}
}
if($pl['type'] == 2){
echo '<div id="error" class="message" style="text-align:center;"><b>Данная площадка была заблокирована из-за нарушения правил сервиса.</b></div>';
break;
}
?>
<div class="col-md-6 mt-4"><h3>Управление площадкой</h3></div>
<div class="row">
<div class="col-md-6 mt-4">
<?
if(isset($_POST['url'])){
$url = htmlspecialchars($_POST['url']);
$result = htmlspecialchars($_POST['result']);
$success = htmlspecialchars($_POST['success']);
$error = htmlspecialchars($_POST['error']);
$type = htmlspecialchars($_POST['type']);
$key = htmlspecialchars($_POST['key']);
if(empty($url)){
$_SESSION['message'] = 'Введите адрес сайта';
header('Location: /platform/add.aspx');
exit;
}
if(empty($url)){
$_SESSION['message'] = 'Введите адрес сайта';
header('Location: /platform/add.aspx');
exit;
}
if(empty($success)){
$_SESSION['message'] = 'Введи ссылку на обработчик запросов';
header('Location: /platform/add.aspx');
exit;
}
if(empty($error)){
$_SESSION['message'] = 'Введите ссылку на страницу ошибки';
header('Location: /platform/add.aspx');
exit;
}
if(mb_strlen($key) < 5 || mb_strlen($key) > 20){
$_SESSION['message'] = 'Защитный ключ должен быть длиной от 5 до 20 символов';
header('Location: /platform/add.aspx');
exit;
}
$edit = $db->prepare('UPDATE `platform` SET `kassa` = ?,`url` = ?, `result` = ?, `success` = ?, `error` = ?, `type` = ?,`key` = ?,`hash_md` = ? WHERE `id` = ?');
$edit -> execute([$str,$url,$result,$success,$error,$type,$key,md5($key),$pl['id']]);
$_SESSION['message'] = 'Площадка успешно отредактирована';
header('Location: /platform/my.aspx');
exit;
}
if(isset($_POST['pls'])){
/*Start*/
$pl1 = intval($_POST['pl1']);
$pl2 = intval($_POST['pl2']);
$pl3 = intval($_POST['pl3']);
$pl4 = intval($_POST['pl4']);
$pl5 = intval($_POST['pl5']);
$pl6 = intval($_POST['pl6']);
$pl7 = intval($_POST['pl7']);
$pl8 = intval($_POST['pl8']);
$pl9 = intval($_POST['pl9']);
$pl10 = intval($_POST['pl10']);
/*end*/
$edit = $db->prepare('UPDATE `platform` SET `pl1` = ?,`pl2` = ?,`pl3` = ?,`pl4` = ?,`pl5` = ?,`pl6` = ?,`pl7` = ?,`pl8` = ?,`pl9` = ?,`pl10` = ? WHERE `id` = ?');
$edit -> execute([$pl1,$pl2,$pl3,$pl4,$pl5,$pl6,$pl7,$pl8,$pl9,$pl10,$pl['id']]);
$_SESSION['message'] = 'Площадка успешно отредактирована';
header('Location: /platform/my.aspx');
exit;
}
?>
<script>
function PasGen() {
var chars = "123456789ABCDEFGHJKMNPQRSTUVWXYZabcdefghjkmnopqrstuvwxyz";
var length = 16;
var res = "";
var r;
var i;
for (i = 1; i <= length; i++) {
r = Math.floor(Math.random() * chars.length);
res = res + chars.substring(r, r + 1);
}
document.getElementById('key').value = res;
}
</script>
<div class="card">
<div class="card-body">
<form action="" method="post">
<h3> URL <span style="color: red;">*</span>: </h3><br/>
<input type="url" name="url" value="<?=$pl['url'];?>"></br>
<h3> URL Success <span style="color: red;">*</span>: </h3><br/>
<input type="url" name="result" value="<?=$pl['result'];?>">
</br>
<h3> URL Result <span style="color: red;">*</span>: </h3><br/>
<input type="url" name="success" value="<?=$pl['success'];?>">
</br>
<h3> URL Error <span style="color: red;">*</span>: </h3><br/>
<input type="url" name="error" value="<?=$pl['error'];?>">
</br>
<h3 style=""> Секретный код <span style="color: red;">*</span>: <span onclick="PasGen()">[сгенерировать]</span></h3>
<br/>
<input type="text" id="key" name="key" value="<?=$pl['key']?>">
<?php
if($pl['type'] != 3){
?><h3> Режим работы <span style="color: red;">*</span>: </h3><br/>
<select name="type"><option value="1">Рабочий</option><option value="0">Тестовый</option></select><br />
<? } ?>
<input type="submit" value="Изменить">
</form></div>
</div></div>
<?php
if($pl['type'] != 3){
?>
<div class="col-md-6 mt-4">
<div class="card">
<div class="card-body">
<form action="" method="post">
<style>
input[type="checkbox"] {
display:inline-block;
width:19px;
height:19px;
margin:-1px 4px 0 0;
vertical-align:middle;
background:url(/design/check.png) left top no-repeat;
cursor:pointer;
}
input[type="checkbox"]:checked{
background:url(/design/check.png) -19px top no-repeat;
}
</style>
<?
$categorys = array('1' => 'WordPay','8' => 'WebMoney','2' => 'Payeer','3' => 'QIWI','4' => 'Yandex Money','5' => 'Visa/MasterCart/Maestro/Мир','6' => 'Оплата с мобильного','7' => 'WorldKassa','9' => 'Free-Kassa','10' => 'InterKassa');
$info = array(
'1' => 'Оплата с баланса WordPay',
'2' => 'Электронные платёжные системы. Мобильные платежи. Банковские карты. Салоны связи.',
'3' => 'Qiwi-кошелек и банковские карты',
'4' => 'Yandex деньги оплата с баланса',
'5' => 'Банковские карты',
'6' => 'Оплата с мобильного Билайн,Теле2,Мтс',
'7' => 'Оплата с баланса WorldKassa',
'8' => 'Пополнение через WebMoney x18',
'9' => 'Электронные платёжные системы. Мобильные платежи. Банковские переводы. Системы денежных переводов. Оплата наличными. Обменные пункты.',
'10' => 'Электронные платёжные системы. Мобильные платежи. Банковские переводы. Системы денежных переводов. Оплата наличными. Обменные пункты.',
);
foreach($categorys as $a=>$key){
if($pl["pl$a"] != 0) $check = 'checked';
else $check = '';
echo "<div class='checkbox'> <h3>{$key} <input type='checkbox' name='pl$a' value='1' {$check}/></input></h3>
<br/>{$info[$a]}<br/>
</label></div><br />";
}
?>
<br />
<input type="submit" name="pls" value="Изменить"></form>
</div>
</div></div>
</div>
<? }
break;
case 'profit';
$id = abs(intval($_GET['id']));
$pl = $db->prepare('SELECT * FROM `platform` WHERE `id` = ?');
$pl -> execute([$id]);
$pl = $pl -> fetch(PDO :: FETCH_ASSOC);
if(!isset($pl['id']) || $pl['user'] != $user['id']){
header('Location: /platform/my.aspx');
exit;
}
/*Вывод за день*/
$date_day = date("Y-m").'-'.(date("d")).' 00:00:00';
$o_day = $db->prepare("SELECT SUM(`summa`) FROM `pay` where `status` = 'yes' AND `platform` = ? AND `date` > ?");
$o_day -> execute([$pl['id'],$date_day]);
$o_day = $o_day->fetch(PDO::FETCH_NUM);
$o_day = $o_day[0];
if(empty($o_day)) $o_day = '0.00';
/*Вчера*/
$datse_day = date("Y-m").'-'.(date("d") - 1).' 00:00:00';
$on_day = $db->prepare("SELECT SUM(`summa`) FROM `pay` where `status` = 'yes' AND `platform` = ? AND `date` > ? AND `date` < ?");
$on_day -> execute([$pl['id'],$datse_day,$date_day]);
$on_day = $on_day->fetch(PDO::FETCH_NUM);
$on_day = $on_day[0];
if(empty($on_day)) $on_day = '0.00';
$datsee_day = date("Y-m").'-'.(date("d") - 2).' 00:00:00';
$one_day = $db->prepare("SELECT SUM(`summa`) FROM `pay` where `status` = 'yes' AND `platform` = ? AND `date` > ? AND `date` < ?");
$one_day -> execute([$pl['id'],$datsee_day,$datse_day]);
$one_day = $one_day->fetch(PDO::FETCH_NUM);
$one_day = $one_day[0];
if(empty($one_day)) $one_day = '0.00';
$datsees_day = date("Y-m").'-'.(date("d") - 3).' 00:00:00';
$ones_day = $db->prepare("SELECT SUM(`summa`) FROM `pay` where `status` = 'yes' AND `platform` = ? AND `date` > ? AND `date` < ?");
$ones_day -> execute([$pl['id'],$datsees_day,$datsee_day]);
$ones_day = $ones_day->fetch(PDO::FETCH_NUM);
$ones_day = $ones_day[0];
if(empty($ones_day)) $ones_day = '0.00';
$datsees_days = date("Y-m").'-'.(date("d") - 4).' 00:00:00';
$ones_days = $db->prepare("SELECT SUM(`summa`) FROM `pay` where `status` = 'yes' AND `platform` = ? AND `date` > ? AND `date` < ?");
$ones_days -> execute([$pl['id'],$datsees_days,$datsees_day]);
$ones_days = $ones_days->fetch(PDO::FETCH_NUM);
$ones_days = $ones_days[0];
if(empty($ones_days)) $ones_days = '0.00';
$datsees_daysw = date("Y-m").'-'.(date("d") - 5).' 00:00:00';
$ones_daysw = $db->prepare("SELECT SUM(`summa`) FROM `pay` where `status` = 'yes' AND `platform` = ? AND `date` > ? AND `date` < ?");
$ones_daysw -> execute([$pl['id'],$datsees_daysw,$datsees_days]);
$ones_daysw = $ones_daysw->fetch(PDO::FETCH_NUM);
$ones_daysw = $ones_daysw[0];
if(empty($ones_daysw)) $ones_daysw = '0.00';
/*END*/
$date_m = date("Y-m").'-'.(date("d") - 7).' 00:00:00';
$m_day = $db->prepare("SELECT SUM(`summa`) FROM `pay` where `status` = 'yes' AND `platform` = ? AND `date` > ?");
$m_day -> execute([$pl['id'],$date_m]);
$m_day = $m_day->fetch(PDO::FETCH_NUM);
$m_day = $m_day[0];
if(empty($m_day)) $m_day = '0.00';
/*END неделя*/
$date_m_m = date("Y-m").'-'.(date("d") - 7).' 00:00:00';
$m_m = $db->prepare("SELECT SUM(`summa`) FROM `pay` where `status` = 'yes' AND `platform` = ? AND `date` > ?");
$m_m -> execute([$pl['id'],$date_m_m]);
$m_m = $m_m->fetch(PDO::FETCH_NUM);
$m_m = $m_m[0];
if(empty($m_m)) $m_m = '0.00';
/*END Месяц*/
$m_year = $db->prepare("SELECT SUM(`summa`) FROM `pay` where `status` = 'yes' AND `platform` = ? AND `time` > ?");
$m_year -> execute([$pl['id'],(time()-(86400 * 365))]);
$m_year = $m_year->fetch(PDO::FETCH_NUM);
$m_year = $m_year[0];
if(empty($m_year)) $m_year = '0.00';
/*END Год*/
$m_ot = $db->prepare("SELECT SUM(`summa`) FROM `pay` where `status` = 'yes' AND `platform` = ?");
$m_ot -> execute([$pl['id']]);
$m_ot = $m_ot->fetch(PDO::FETCH_NUM);
$m_ot = $m_ot[0];
if(empty($m_ot)) $m_ot = '0.00';
/*END За все время*/
echo '<div class="col-md-6 mt-4">
<h4> Оборот средств на площадке #'.$pl['id'].'</h4>
</div>
<div class="row">';
echo '
<div class="col-md-9 mt-4">
<div class="card">
<div class="card-body">
<script src="https://www.google.com/jsapi"></script> <script>
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
["Дата", "Рублей"],
["'.date("d.m.y", strtotime("-5 day")).'", '.$ones_daysw.'],
["'.date("d.m.y", strtotime("-4 day")).'", '.$ones_days.'],
["'.date("d.m.y", strtotime("-3 day")).'", '.$ones_day.'],
["'.date("d.m.y", strtotime("-2 day")).'", '.$one_day.'],
["'.date("d.m.y", strtotime("-1 day")).'", '.$on_day.'],
["'.date('d.m.y').'", '.$o_day.'],
]);
var options = {
title: "",
hAxis: {title: "Дата, Рублей"},
};
var chart = new google.visualization.ColumnChart(document.getElementById("oil"));
chart.draw(data, options);
}
</script> <div id="oil" style="width: 100%; height: 200px;"></div>
</div></div></div>
<div class="col-md-3 mt-4">
<div class="card">
<div class="card-body">';
echo "
<i style='color: #7867a7;width: 18px;height: 18px;' class='fa fa-clock-o'> </i>За Сегодня: <b>$o_day</b> руб.<br />
<i style='color: #7867a7;width: 18px;height: 18px;' class='fa fa-clock-o'></i> За Неделю: <b>$m_day</b> руб.<br />
<i style='color: #7867a7;width: 18px;height: 18px;' class='fa fa-clock-o'></i> За Месяц: <b>$m_m</b> руб.<br />
<i style='color: #7867a7;width: 18px;height: 18px;' class='fa fa-clock-o'></i> За Год: <b>$m_year</b> руб.<br />
<i style='color: #7867a7;width: 18px;height: 18px;' class='fa fa-clock-o'></i> Всего: <b>$m_ot</b> руб.<br />
</div></div></div></div>
";
echo '
';
break;
}
require ('../core/foot.php');
?>