EngineGP

Форк
0
/
freekassa.php 
112 строк · 3.8 Кб
1
<?php
2
/*
3
 * EngineGP   (https://enginegp.ru or https://enginegp.com)
4
 *
5
 * @copyright Copyright (c) 2018-present Solovev Sergei <inbox@seansolovev.ru>
6
 *
7
 * @link      https://github.com/EngineGPDev/EngineGP for the canonical source repository
8
 *
9
 * @license   https://github.com/EngineGPDev/EngineGP/blob/main/LICENSE MIT License
10
 */
11

12
if (!defined('EGP')) {
13
    exit(header('Refresh: 0; URL=http://' . $_SERVER['HTTP_HOST'] . '/404'));
14
}
15

16
if (!isset($_POST['MERCHANT_ID']) || $_POST['MERCHANT_ID'] != $cfg['freekassa_id']) {
17
    sys::out('bad kassa');
18
}
19

20
$key = md5($_POST['MERCHANT_ID'] . ':' . $_POST['AMOUNT'] . ':' . $cfg['freekassa_key_2'] . ':' . $_POST['MERCHANT_ORDER_ID']);
21

22
if (!isset($_POST['MERCHANT_ID']) || $_POST['SIGN'] != $key) {
23
    sys::out('bad sign');
24
}
25

26
if (!isset($_POST['AMOUNT'])) {
27
    sys::out('bad amount');
28
}
29

30
$sum = round($_POST['AMOUNT'], 2);
31

32
// Оплата по ключу
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');
35
    if (!$sql->num()) {
36
        sys::out('bad key');
37
    }
38

39
    $privilege = $sql->get();
40

41
    $money = round($sum * $cfg['curinrub'], 2);
42

43
    if ($money < $privilege['price']) {
44
        sys::out('bad sum');
45
    }
46

47
    $sql->query('SELECT `user` FROM `servers` WHERE `id`="' . $privilege['server'] . '" LIMIT 1');
48
    if (!$sql->num()) {
49
        sys::out('bad server');
50
    }
51

52
    $server = $sql->get();
53

54
    $sql->query('SELECT `id`, `balance`, `part_money` FROM `users` WHERE `id`="' . $server['user'] . '" LIMIT 1');
55
    if (!$sql->num()) {
56
        sys::out('bad owner');
57
    }
58

59
    $user = $sql->get();
60

61
    if ($cfg['part_money']) {
62
        $sql->query('UPDATE `users` set `part_money`="' . ($user['part_money'] + $money) . '" WHERE `id`="' . $user['id'] . '" LIMIT 1');
63
    } else {
64
        $sql->query('UPDATE `users` set `balance`="' . ($user['balance'] + $money) . '" WHERE `id`="' . $user['id'] . '" LIMIT 1');
65
    }
66

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 . '"');
71

72
    $sql->query('UPDATE `privileges_buy` set `status`="1" WHERE `id`="' . $privilege['id'] . '" LIMIT 1');
73

74
    sys::out('YES');
75
}
76

77
$user = intval($_POST['us_user']);
78

79
$sql->query('SELECT `id`, `balance`, `part` FROM `users` WHERE `id`="' . $user . '" LIMIT 1');
80
if (!$sql->num()) {
81
    sys::out('bad user');
82
}
83

84
$user = $sql->get();
85

86
$money = round($user['balance'] + $sum * $cfg['curinrub'], 2);
87

88
if ($cfg['part']) {
89
    $part_sum = round($sum / 100 * $cfg['part_proc'], 2);
90

91
    $sql->query('SELECT `balance`, `part_money` FROM `users` WHERE `id`="' . $user['part'] . '" LIMIT 1');
92
    if ($sql->num()) {
93
        $part = $sql->get();
94

95
        if ($cfg['part_money']) {
96
            $sql->query('UPDATE `users` set `part_money`="' . ($part['part_money'] + $part_sum) . '" WHERE `id`="' . $user['part'] . '" LIMIT 1');
97
        } else {
98
            $sql->query('UPDATE `users` set `balance`="' . ($part['balance'] + $part_sum) . '" WHERE `id`="' . $user['part'] . '" LIMIT 1');
99
        }
100

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 . '"');
105
    }
106
}
107

108
$sql->query('UPDATE `users` set `balance`="' . $money . '" WHERE `id`="' . $user['id'] . '" LIMIT 1');
109

110
$sql->query('INSERT INTO `logs` set `user`="' . $user['id'] . '", `text`="Пополнение баланса на сумму: ' . $sum . ' ' . $cfg['currency'] . '", `date`="' . $start_point . '", `type`="replenish", `money`="' . $sum . '"');
111

112
sys::out('YES');
113

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.