<?php
    session_start();
    require_once(__DIR__."/../conf.php");

    if (!request('from')) {
        die(T('Отутствует поле from'));
    }

    $res = is_open('invest');
    if ($res['error']) {
        flash_err($res['message'], 'invest');
    }

    if (!auth_is_user()) {
        flash_err('Авторизуйтесь', 'invest');
    }

    if (!request('system')) {
        flash_err(T('Вы не передали идентификатор платежной системы'), 'invest');
    }


    $data = [];
    $login = session('login');
    $summa = (float)str_replace(',', '.', request('summa'));
    $transaction = trim(request('transaction'));
    $date = time();
    $user = get_row_by_field('users', 'login', $login);
    $refer = $user['refer'];
    $exch_rate = 1;

    if (request("system") === 'Qiwi' && !login_get_wallet($login, 'Qiwi')) {
        flash_err(T("Введите Ваш номер Qiwi в настройках кошельков"), "invest");
    }

    /* Проверим, что платёжная система доступна для пополнений */
    $_system = request("system");
    $system_type = get_row_by_field('payment_system', 'name', $_system);
    $list_invest = [];
    foreach(get_payment_system('invest') as $item) {
        $list_invest [] = $item['value'];
    }
    if (!in_array($_system, $list_invest)) {
        flash_err('Платёжная система не включена, либо не поддерживается', "invest");
    }
    $system = $_system;


    /* получаем валюту системы */
    $currency = $system_type["currency"];


    /* Получим id плана */
    $plan_id = 0;
    if ($settings_define_show_get_plans) {
        $where_plans = "";
        if (post('plan')) {
            $plan = (int)post('plan');
            $where_plans = " AND `id` = ".escape_db($plan);
        }
        $sql = "SELECT `id` FROM `plans` WHERE `status` = ".escape_db(1)." AND `delete` = ".escape_db(1).$where_plans;
        $plan_id = get_value($sql);
        if(!$plan_id) {
            flash_err(T("Нет подходящего плана"), "invest");
        }
    }


    /* обработчик ручных платежей. просто обновляем транзакцию TODO */
    if (post('set_transaction')) {
        $invest = session("invest");
        $system_manual = post('system');

        $ps_conf = [
            'BitCoin' => [
                'regex'   => "/^[\dA-Za-z]{32,}$/",
                'example' => 'd76bcaa2b1501f20ad4d5efecb2dbf6477da7d32fc01450b9ce52931f5909cef',
                'unique' => true,
            ],
            'Payeer' => [
                'regex'   => "/^[\d]{6,20}$/",
                'example' => '121724913',
                'unique' => true,
            ],
            'PerfectMoney' => [
                'regex'   => "/^[\d]{5,}$/",
                'example' => '121724913',
                'unique' => true,
            ],
            'AdvCash' => [
                'regex'   => "/^[\w]{8}[-]{1}[\w]{4}[-]{1}[\w]{4}[-]{1}[\w]{4}[-]{1}[\w]{12}/",
                'example' => '25322dfa-ec2b-4f76-8bff-d8c202134bf5',
                'unique' => true,
            ],
            'Qiwi' => [
                'regex'   => "/^[\d]{6,20}$/",
                'example' => '999999900495650520',
                'unique' => true,
            ],
            'OkPay' => [
                'regex'   => "/^[\d]{7,9}$/",
                'example' => '1401265',
                'unique' => true,
            ],
            'YandexMoney' => [
                'regex'   => "/^41001[0-9]{7,10}$/",
                'example' => '1401265',
                'unique' => true,
            ],
            'NixMoney' => [
                'regex'   => "/^[\d]{2,9}$/",
                'example' => '632935',
                'unique' => true,
            ],
            'Card' => [
                'regex'   => "/^[\d]{15,16}$/",
                'example' => '5469345678901234',
                'unique' => false,
            ],
            'Ethereum' => [
                'regex'   => "/^0x([A-Fa-f0-9]{64})$/",
                'example' => '0x7afb1fac9f7247f291287237b375791851569a62cc4a1483f8bfc4dec37c298f',
                'unique' => true,
            ],
            'BitcoinCash' => [
                'regex'   => "/^[\dA-Za-z]{32,}$/",
                'example' => '8694c321c41edcfaea3c3c1261deb6305b8b4eb43e03ef6e0dd0aa6b8ca1eb65',
                'unique' => true,
            ],
            'Zcash' => [
                'regex'   => "/^[\dA-Za-z]{32,}$/",
                'example' => '828e64fffe96336ca2f9412f687c7b3e481e0b726a9c21514dbb384b2cec9af5',
                'unique' => true,
            ],
            'Dash' => [
                'regex'   => "/^[\dA-Za-z]{32,}$/",
                'example' => 'cd5eef5753a0bf1dc2e0e07fa02b7460c09971522422bf656253214655d2c42b',
                'unique' => true,
            ],
            'LiteCoin' => [
                'regex'   => "/^[\dA-Za-z]{32,}$/",
                'example' => 'eb90b43effda79b2fd1e28ff3356ef0668a072736d135eec75623c2bb33b561e',
                'unique' => true,
            ],
            'DogeCoin' => [
                'regex'   => "/^[\dA-Za-z]{32,}$/",
                'example' => '8694c321c41edcfaea3c3c1261deb6305b8b4eb43e03ef6e0dd0aa6b8ca1eb65',
                'unique' => true,
            ],
        ];

        /* валидация данных по системе */
        foreach ($ps_conf as $name => $data) {
            if (strtolower($system_manual) === strtolower($name) && !preg_match($data['regex'], $transaction)) {
                flash_err("Введите корректный номер транзакции {$name}! Например: {$data['example']}", "invest");
            }
        }

        $row = get_row_by_field('invest', 'transaction', $transaction);
        if ($ps_conf[$system_manual]['unique'] && $row) {
            if ($row['delete'] == '1') {
                flash_err("Транзакция уже использована!", "invest");
            }
        }

        if ($system_manual === 'Qiwi' && $system_type['access'] === 'hyiponline24') {
            $res = hyiponline24_check_qiwi_by_transaction($transaction, $invest);
            if ($res['error']) {
                flash_err($res['message'], "invest");
            }
            flash_ok($res['message'], "invest");
        }

        $sql = "UPDATE `invest` SET `transaction` = ".escape_db($transaction)." WHERE `id` = ".escape_db($invest["id"]);
        $mysqli->query($sql);
        flash_ok("Транзакция отправлена на обработку, ожидайте!", "invest");
    }


    /* Если включено разделение по валютам  */
    if ($settings_define_separation_of_currency) {
        $val = $currency;
    }


    /* Проверка на минимальную / максимальную сумму проекта */
    if ($summa < $d_min || $summa > $d_max) {
        $d_min = format_currency($d_min, $val);
        $d_max = format_currency($d_max, $val);
        flash_err("Введите корректное значение платежа! От $d_min до $d_max $val.", "invest");
    }

    /* Проверка на минимальную / максимальную сумму системы */
    $range = get_range_invest_amount_by_system($system, $val);

    if ($range['min'] > $summa) {
        flash_err("Ошибка. Минимальная сумма для пополнения с ".escape($system).": ".format_currency($range['min'], $val).' '.escape($val), 'invest');
    }
    if ($range['max'] < $summa) {
        flash_err("Ошибка. Максимальная сумма для пополнения с ".escape($system).": ".format_currency($range['max'], $val).' '.escape($val), 'invest');
    }


    /* подбираем план по сумме, если нет подходящего, тогда ничего не выбираем */
    /* если план передается тогда дописываем его в запрос */
    $where_plans = "";
    if (post('plan')) {
        $plan = (int)post('plan');
        $where_plans = " AND `id` = ".escape_db($plan);
    }
    $sql = "SELECT * FROM `plans` WHERE `min` <= ".escape_db($summa)." AND `max` >= ".escape_db($summa).$where_plans;
    $plan_id = get_value($sql);
    if (!$plan_id) {
        flash_err("Нет подходящего плана", "invest");
    }
    if (!is_plan_work($plan_id)) {
        flash_err("Нет подходящего плана", "invest");
    }

    if ($settings_define_max_active_deposit_per_user && $settings_define_max_active_deposit_per_user < (float)(login_activ_depozit($login) + $summa)) {
        flash_err('Сумма активных депозитов не более '.format_currency($settings_define_max_active_deposit_per_user, $val).' '.escape($val), 'invest');
    }

    /* определение курса конвертации */
    $exch_rate = bm_convert($val, $currency, 1);


    $sql = "INSERT INTO `invest` SET ";
    $sql .= " login = ".escape_db($login);
    $sql .= ", summa = ".escape_db($summa);
    $sql .= ", date = ".escape_db($date);
    $sql .= ", refer = ".escape_db($refer);
    $sql .= ", system = ".escape_db($_system);
    $sql .= ", plan_id = ".escape_db($plan_id);
    $sql .= ", currency = ".escape_db($val);
    $sql .= ", ip = ".escape_db(ip_get());
    $sql .= ", transaction = ".escape_db($transaction);
    $sql .= ", exch_rate = ".escape_db($exch_rate);
    $mysqli->query($sql);

    $invest = get_row_by_id("invest", $mysqli->insert_id);

    if (!$invest) {
        flash_err("Ошибка записи предплатежа", "invest");
    }


    $invest_tmp = $invest;
    $invest['currency'] = $currency;
    $invest['summa'] = $summa;


    //если разделение по валютам не включено - конвертируем
    if (!$settings_define_separation_of_currency) {
        $invest['summa'] = $summa * $exch_rate;
    }


    //если киви через блитц-кассу, добавляем номер
    if ($_system === 'Qiwi') {
        $invest['phone'] = login_get_wallet($login, 'Qiwi');
    }


    $description = T('Пополнение счета через ').escape($system).T(' пользователем ').escape($login).T(' на ').format_currency($summa, $val)." ".$val;
    $res = sci_get_data($invest, $description);


    $invest = $invest_tmp;

    if (isset($res["error"]) && $res["error"]) {
        log_write('Результат запроса при формирование платежа (/pay/index.php)', 'invest => ', $invest, 'description =>', $description, 'ответ =>', $res);
        flash_err('Ошибка выполнения платежа', "invest");
    }
    $_SESSION['invest'] = $invest;

    ?>

    <!DOCTYPE html>
    <html lang="en">

    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <!--meta name="viewport" content="width=device-width, initial-scale=1"-->
        <title><?php echo T("ПОДТВЕРЖДЕНИЕ ПЛАТЕЖА"); ?> | <?php echo escape($name_project); ?></title>

        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
        <script src="//netdna.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>

        <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
        <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
        <!--[if lt IE 9]>
        <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
        <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
        <![endif]-->



        <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
        <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap-theme.min.css">
        <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
        <style>
            .container {
                width: 1300px !important;
            }
            body {
                background: rgba(24, 117, 106, 1);
            }
            .panel__head {
                border-bottom: 1px solid rgba(0,0,0,0.2);
                padding-bottom: 15px;
                width: 100%;
                margin-bottom: 25px;
            }

            .panel__head_title {
                font-size: 20px;
            }

            .panel__head_title div {
                font-size: 15px;
            }

            .panel {
                margin-top: 150px;
                border: 0px;
                border-radius: 5px;
                height: auto;
                background: rgba(0, 0, 0, 0.25);
                padding: 15px 20px;
                color: white;
            }

            .wrapper {
                background: rgba(0, 0, 0, 0.25);
            }

            .panel_item__wrapper {
                width: 24%;
                margin-right: 1.3%;
                float: left;
                padding-top: 0px;
            }

            .panel_item__wrapper:last-of-type {
                margin-right: 0px;
            }

            .panel_item {
                height: 100px;
                border: 1px solid black;
                border-radius: 5px;
                background: rgba(255,255,255,0.15);
                border: 0;
                padding: 10px;
                text-align: center;
                padding-top: 20px;
            }


            .panel_item__title {

            }


            .panel_item__sum {
                font-size: 20px;
                font-weight: 700;
            }

            .panel_item__cur {
                font-size: 15px;
            }

            .panel_item__description {
                font-size: 14px;
            }


            .acc_inp_but {
                width: 100%;
                padding: 10px 0;
                color: #ffffff;
                background: #02906F;
                -moz-border-radius: 5px;
                -webkit-border-radius: 5px;
                border-radius: 5px;
                margin-top: 10px;
                text-decoration: none;
                -webkit-transition: background 0.3s ease-out;
                -moz-transition: background 0.3s ease-out;
                -o-transition: background 0.3s ease-out;
                transition: background 0.3s ease-out;
                font-size: 14px;
                text-align: center;
                text-transform: uppercase;
                cursor: pointer;
                border: 0px;
                outline: none;
                margin-top: 20px;
            }

            .acc_inp_but:hover {
                background: #01aa83;
            }

            a {
                color: #2cbf12;
                text-decoration: none;
            }

        </style>
    </head>

    <body>
    <a href="<?php echo request('from'); ?>" title="Вернуться в кабинет">
        <i class="fa fa-undo" aria-hidden="true" style="position: absolute;width: 45px;height: 45px;font-size: 48px;color: white;top: 30px; left: 30px;"></i>
    </a>
    <div class="container" style="width: 100%; height: 100%;">
        <div class="row">
            <div class="col-xs-8 col-xs-offset-2 ">
                <div class="panel">
                    <div class="panel__head">
                        <i class="fa fa-check-circle-o" aria-hidden="true" style="float: left;width: 55px;height: 45px;font-size: 48px;"></i>
                        <div class="panel__head_title">
                            <?php echo T("ПОДТВЕРЖДЕНИЕ ПЛАТЕЖА"); ?>
                            <div><?php echo T("Пожалуйста, подтвердите введенные данные"); ?></div>
                            <?php if ($system === "Qiwi" && ($system_type['type_invest'] === 'auto')) echo T("Важно:<br> не меняйте комментарий платежа, иначе платеж не будет зачислен!"); ?>
                        </div>
                    </div>
                    <div class="panel__body">
                        <div class="panel_item__wrapper">
                            <div class="panel_item">
                                    <span class="panel_item__sum">
                                        <?php echo format_currency($summa, $val); ?>
                                    </span>
                                <span class="panel_item__cur"><?php echo $valu; ?></span>
                                <div class="panel_item__description"><?php echo T("сумма"); ?></div>
                            </div>
                        </div>
                        <div class="panel_item__wrapper">
                            <div class="panel_item">
                                <span class="panel_item__sum"><?php echo escape($system); ?></span>
                                <div class="panel_item__description"><?php echo T("платежная система"); ?></div>
                            </div>
                        </div>
                        <div class="panel_item__wrapper">
                            <div class="panel_item">
                                <span class="panel_item__sum">#<?php echo escape($invest["id"]); ?></span>
                                <div class="panel_item__description"><?php echo T("номер счета"); ?></div>
                            </div>
                        </div>
                        <div class="panel_item__wrapper" style="margin-right:0px;">
                            <div class="panel_item">
                                    <span class="panel_item__sum">
                                    <?php
                                    $fix_currency = strtolower($val);
                                    if ($val !== $currency) {
                                        $fix_currency = strtolower($currency);
                                    }
                                    $fix_summa = $summa * $exch_rate;

                                    echo format_currency($fix_summa, strtoupper($fix_currency));
                                    ?>
                                    </span>
                                <span class="panel_item__cur"> <!-- Код выводит значок валюты по данным выше -->
                                    <i class="fa fa-<?php echo escape($fix_currency); ?>"></i>
                                </span>
                                <div class="panel_item__description"><?php echo T("пополнение на сумму"); ?></div>
                            </div>
                        </div>
                        <?php if ($system_type['type_invest'] === 'manual' || $system_type['access'] === 'manual' || ($system_type['access'] === 'hyiponline24')) { ?>
                            <form action="" method="POST">
                                <?php echo form_init(); ?>
                                <input type="hidden" name="from" value="<?php echo $settings_define_pay_url_success; ?>">
                                <input type="hidden" name="system" value="<?php echo escape($system); ?>">
                                <input type="hidden" name="plan" value="<?php echo escape($plan_id); ?>">
                                <div class="panel_item__wrapper" style="margin-top:30px;width:100%;">
                                    <div class="panel_item" style="height:auto;">
                                            <span class="panel_item__sum">
                                                <?php echo T("Инструкция"); ?><br>
                                            </span>
                                        <span class="panel_item__cur"></span>
                                        <div class="panel_item__description">
                                            <?php $data_arr = [ //массив внешних данных
                                                "invest_id" => $invest["id"],
                                                "summa" => $fix_summa,
                                                "currency" => $fix_currency
                                            ]; ?>
                                            <?php echo show_template("manual_system/".strtolower($_system), $data_arr, 'template', 'data'); ?>
                                        </div>
                                    </div>
                                </div>
                                <div class="panel_item__wrapper" style="margin-top:30px;width:100%;">
                                    <div class="panel_item" style="height: 120px;">
                                        <span class="panel_item__sum">
                                        <?php if (strtolower($system)==='card') { ?>
                                            <?php echo T("Введите свой номер карты"); ?>
                                        <?php } else { ?>
                                            <?php echo T("Введите номер транзакции"); ?>
                                        <?php }  ?>
                                        </span>
                                        <span class="panel_item__cur"></span>
                                        <div class="panel_item__description">
                                            <input name="transaction" style="border-radius: 5px;border-color: #fff;margin-top: 10px;font-size: 30px;width: 350px;color: #000;" class="">
                                        </div>
                                    </div>
                                </div>
                                <input name="set_transaction" value="<?php echo T("Пополнить"); ?>" class="acc_inp_but" type="submit">
                            </form>
                        <?php } else { ?>
                            <form id="form" action="<?php echo $res["url"]; ?>" method="<?php echo $res["method"]; ?>" <?php /*if (!$settings_skip_green_screen) { echo 'target="_blank"'; } */?>>
                                <?php foreach ($res["params"] as $key => $val) { ?>
                                    <input type="hidden" name="<?php echo $key; ?>" value="<?php echo $val; ?>">
                                <?php } ?>
                                <input name="add_btn" value="<?php echo T("Пополнить"); ?>" class="acc_inp_but" type="submit">
                            </form>
                        <?php } ?>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <?php if ($settings_skip_green_screen && $system_type['type_invest'] !== 'manual') { ?>

        <style type="text/css">#hellopreloader > p {
                display: none;
            }

            #hellopreloader_preload {
                display: block;
                position: fixed;
                z-index: 99999;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                min-width: 1000px;
                background: #90C695 url(http://hello-site.ru//main/images/preloads/oval.svg) center center no-repeat;
                background-size: 41px;
            }
        </style>

        <div id="hellopreloader">
            <div id="hellopreloader_preload"></div>
        </div>

        <script>
            $(function () {
                $("#form").submit();
            });
        </script>

    <?php } ?>

    </body>



    </html>
