3
* EngineGP (https://enginegp.ru or https://enginegp.com)
5
* @copyright Copyright (c) 2018-present Solovev Sergei <inbox@seansolovev.ru>
7
* @link https://github.com/EngineGPDev/EngineGP for the canonical source repository
9
* @license https://github.com/EngineGPDev/EngineGP/blob/main/LICENSE MIT License
13
exit(header('Refresh: 0; URL=http://' . $_SERVER['HTTP_HOST'] . '/404'));
16
if (!isset($_POST['MERCHANT_ID']) || $_POST['MERCHANT_ID'] != $cfg['freekassa_id']) {
17
sys::out('bad kassa');
20
$key = md5($_POST['MERCHANT_ID'] . ':' . $_POST['AMOUNT'] . ':' . $cfg['freekassa_key_2'] . ':' . $_POST['MERCHANT_ORDER_ID']);
22
if (!isset($_POST['MERCHANT_ID']) || $_POST['SIGN'] != $key) {
26
if (!isset($_POST['AMOUNT'])) {
27
sys::out('bad amount');
30
$sum = round($_POST['AMOUNT'], 2);
33
if (!sys::valid($_POST['us_user'], 'md5')) {
34
$sql->query('SELECT `id`, `server`, `price` FROM `privileges_buy` WHERE `key`="' . $_POST['us_user'] . '" LIMIT 1');
39
$privilege = $sql->get();
41
$money = round($sum * $cfg['curinrub'], 2);
43
if ($money < $privilege['price']) {
47
$sql->query('SELECT `user` FROM `servers` WHERE `id`="' . $privilege['server'] . '" LIMIT 1');
49
sys::out('bad server');
52
$server = $sql->get();
54
$sql->query('SELECT `id`, `balance`, `part_money` FROM `users` WHERE `id`="' . $server['user'] . '" LIMIT 1');
56
sys::out('bad owner');
61
if ($cfg['part_money']) {
62
$sql->query('UPDATE `users` set `part_money`="' . ($user['part_money'] + $money) . '" WHERE `id`="' . $user['id'] . '" LIMIT 1');
64
$sql->query('UPDATE `users` set `balance`="' . ($user['balance'] + $money) . '" WHERE `id`="' . $user['id'] . '" LIMIT 1');
67
$sql->query('INSERT INTO `logs` set `user`="' . $user['id'] . '", `text`="' . sys::updtext(
68
sys::text('logs', 'profit'),
69
['server' => $privilege['server'], 'money' => $money]
70
) . '", `date`="' . $start_point . '", `type`="part", `money`="' . $money . '"');
72
$sql->query('UPDATE `privileges_buy` set `status`="1" WHERE `id`="' . $privilege['id'] . '" LIMIT 1');
77
$user = intval($_POST['us_user']);
79
$sql->query('SELECT `id`, `balance`, `part` FROM `users` WHERE `id`="' . $user . '" LIMIT 1');
86
$money = round($user['balance'] + $sum * $cfg['curinrub'], 2);
89
$part_sum = round($sum / 100 * $cfg['part_proc'], 2);
91
$sql->query('SELECT `balance`, `part_money` FROM `users` WHERE `id`="' . $user['part'] . '" LIMIT 1');
95
if ($cfg['part_money']) {
96
$sql->query('UPDATE `users` set `part_money`="' . ($part['part_money'] + $part_sum) . '" WHERE `id`="' . $user['part'] . '" LIMIT 1');
98
$sql->query('UPDATE `users` set `balance`="' . ($part['balance'] + $part_sum) . '" WHERE `id`="' . $user['part'] . '" LIMIT 1');
101
$sql->query('INSERT INTO `logs` set `user`="' . $user['part'] . '", `text`="' . sys::updtext(
102
sys::text('logs', 'part'),
103
['part' => $uid, 'money' => $part_sum]
104
) . '", `date`="' . $start_point . '", `type`="part", `money`="' . $part_sum . '"');
108
$sql->query('UPDATE `users` set `balance`="' . $money . '" WHERE `id`="' . $user['id'] . '" LIMIT 1');
110
$sql->query('INSERT INTO `logs` set `user`="' . $user['id'] . '", `text`="Пополнение баланса на сумму: ' . $sum . ' ' . $cfg['currency'] . '", `date`="' . $start_point . '", `type`="replenish", `money`="' . $sum . '"');