<?php
    $auto_depozit = true;
    //session_start();

    include_once(__DIR__."/../../conf.php");

    //$yandexmoney_secret = $yandexmoney_secretkey;

    //notification_type&operation_id&amount&currency&datetime&sender&codepro&notification_secret&label

    if (post("unaccepted") === "true") {
        header("HTTP/1.0 404 Not Found");
        die('ERROR');
    }

    if (post("codepro") !== "false") {
        header("HTTP/1.0 404 Not Found");
        die('ERROR');
    }

    if (post("notification_type") === 'p2p-incoming') {
        $system = 'YandexMoney';
        $secret = $yandexmoney_secret;
    }
    if (post("notification_type") === 'card-incoming') {
        $system = 'Card';
        $secret = $card_secret_key;
    }

    if ($secret === '*****************') {
        die('ERROR');
    }

    $string = post("notification_type")."&".post("operation_id")."&".post("amount")."&".post("currency")."&".post("datetime")."&".post("sender");
    $string .= "&".post("codepro")."&".$secret."&".post("label");

    $hash = hash("sha1", $string);

    if($hash === post('sha1_hash')) {
        $invest = get_row_by_id('invest', post('label'));
        $exch_rate = $invest["exch_rate"];
        $summa_check = $invest["summa"];
        $transaction = post("operation_id");

        if ($invest["status"]) {
            log_write($res);
            header("HTTP/1.0 404 Not Found");
            die('ERROR');
        }

        if ($invest["delete"] == 0) {
            log_write($res);
            header("HTTP/1.0 404 Not Found");
            die('ERROR');
        }

        //исправление безопасности
        if ($invest["system"] !== $system) {
           log_write(['Подмена системы', $_POST, $_GET, $_SESSION, $_SERVER]);
           die('Подмена системы');
        }

        //если USD тогда высчитываем сумму пополнения в рублях и сравниваем.
        $summa_check = $summa_check * $exch_rate;

        //log_write(post("withdraw_amount"), post("amount"));

        //разъясняем - withdraw_amount - сумма c включенной коммиссией [совпадает с набранной пользователем]
        //             amount - сумма без включения коммиссии [по факту - именно эта сумма приходит на баланс]

        if (format_money(post("withdraw_amount")) !== format_money($summa_check)) {
            log_write($res);
            header("HTTP/1.0 404 Not Found");
            die('ERROR');
        }

        $sql = "UPDATE `invest` SET `status` = '1', `transaction` = ".escape_db($transaction)." WHERE `id` = ".escape_db($invest['id'])." LIMIT 1;";
        $mysqli->query($sql);

        $invest = get_row_by_id('invest', post('label'));

        $login = $invest['login'];//получаем логин
        $invest_id = $invest['id'];//получаем id пополнения
        $summa = $invest['summa'];//сумма пополнения

        $res = active_invest($invest_id);
        if ($res['error']) {
            log_write("ERROR: Пополнение на {$system}; MESSAGE: {$res['message']}", $res['data']);
        }
        $mysqli->query("UPDATE `cache` SET balans_invest = balans_invest + '$summa'");

        exit(0);
    } else {
        log_write(["Ошибка соли", $_POST, ]);
        header("HTTP/1.0 404 Not Found");
        die('ERROR');
    }
