<?php

session_start();
$get = filter_input_array(INPUT_POST, FILTER_DEFAULT);

if (!empty($get)):
    $set = array_map("strip_tags", $get);
    $post = array_map("trim", $set);

    $cliente_id = $_SESSION['clientelogin']['cliente_id'];
    $cupom = $post['cupom_codigo'];

    require ('../../_app/Config.inc.php');

    $Read = new Read;
    $Read->ExeRead("tp_cupom", "WHERE cupom_data_ini < now() AND cupom_data_fim > now() AND cupom_usos > 0 AND cupom_codigo = :codigo", "codigo={$cupom}");

    if ($Read->getResult()):
        echo 'SUCESSO: Cupom existe e pode ser usado';
        echo '<br>';
        extract($Read->getResult()[0]);
        if ($cupom_valor_total <= $_SESSION['storecart']['total']):
            echo 'SUCESSO: valor do carrinho atingido';
            echo '<br>';
            $Read->ExeRead("tp_cupom_cliente", "WHERE cupom_id = :cupom_id AND cliente_id = :cliente_id", "cupom_id={$cupom_id}&cliente_id={$cliente_id}");
            if ($Read->getRowCount() > 0):
                $usado = $Read->getRowCount();
                echo "Cupom usado {$usado}x";
                echo '<br>';

                if ($cupom_usos_clientes > $usado):
                    echo 'SUCESSO: usar cupom novamente';

                    //SETAR SESSÃO
                    $_SESSION['storecart']['desconto']['cupom_id'] = $cupom_id;
                    $_SESSION['storecart']['desconto']['cupom_tipo'] = $cupom_tipo;
                    $_SESSION['storecart']['desconto']['cupom_desconto'] = $cupom_desconto;
                    $_SESSION['storecart']['desconto']['cupom_codigo'] = $cupom_codigo;
                    $_SESSION['storecart']['desconto']['cupom_frete_gratis'] = $cupom_frete_gratis;

                    if ($cupom_tipo == 'F'):
                        $valor = $cupom_desconto;
                        $total = $cupom_desconto - $_SESSION['storecart']['total'];
                    else:
                        $valor = ($_SESSION['storecart']['total'] / 100 * $cupom_desconto);
                        $total = $_SESSION['storecart']['total'] - $valor;

                        echo 'desconto = ' . $valor;
                        echo 'total = ' . $total;
                    endif;
                    $_SESSION['storecart']['desconto']['valor'] = $valor;
                    $_SESSION['storecart']['desconto']['total'] = $total;
                else:
                    echo 'ERROR: cupom não pode mais ser usado';
                endif;
            else:
                echo 'SUCESSO: Cupom não usado';
                //SETAR SESSÃO
                $_SESSION['storecart']['desconto']['cupom_id'] = $cupom_id;
                $_SESSION['storecart']['desconto']['cupom_tipo'] = $cupom_tipo;
                $_SESSION['storecart']['desconto']['cupom_desconto'] = $cupom_desconto;
                $_SESSION['storecart']['desconto']['cupom_codigo'] = $cupom_codigo;
                $_SESSION['storecart']['desconto']['cupom_frete_gratis'] = $cupom_frete_gratis;

                if ($cupom_tipo == 'F'):
                    $valor = $cupom_desconto;
                    $total = $cupom_desconto - $_SESSION['storecart']['total'];
                else:
                    $valor = ($_SESSION['storecart']['total'] / 100 * $cupom_desconto);
                    $total = $_SESSION['storecart']['total'] - $valor;

                    echo 'desconto = ' . $valor;
                    echo 'total = ' . $total;
                endif;
                $_SESSION['storecart']['desconto']['valor'] = $valor;
                $_SESSION['storecart']['desconto']['total'] = $total;
            endif;
        else:
            echo 'ERROR: valor do carrinho não atingido';
            echo '<br>';
        endif;
    else:
        echo 'ERROR: Cupom não existe ou não pode ser mais usado';
    endif;

    unset($_COOKIE['storecart']); // apagar o cookie caso exista
    setcookie('storecart', serialize($_SESSION['storecart']), time() + 3600); //cria o novo cookie
else:
    if ($_SESSION['storecart']['desconto']):
        
        if ($_SESSION['storecart']['desconto']['cupom_tipo'] == 'F'):
            $valor = $_SESSION['storecart']['desconto']['cupom_desconto'];
            $total = $_SESSION['storecart']['desconto']['cupom_desconto'] - $_SESSION['storecart']['total'];
        else:
            $valor = ($_SESSION['storecart']['total'] / 100 * $_SESSION['storecart']['desconto']['cupom_desconto']);
            $total = $_SESSION['storecart']['total'] - $valor;

        endif;

        $arrDados['desconto'] = 'S';
        $arrDados['total'] = 'R$ ' . number_format($total, 2, ',', '.');
        $arrDados['codigo'] = $_SESSION['storecart']['desconto']['cupom_codigo'];
    else:
        $arrDados['desconto'] = 'N';
        $arrDados['total'] = 'R$ ' . number_format($_SESSION['storecart']['total'], 2, ',', '.');
    endif;

    echo json_encode($arrDados);
endif;