<?php
ini_set('display_errors', 0);
ini_set('log_errors', 1);
ini_set('error_log', dirname(__FILE__) . '/email_compra.txt');
error_reporting(E_ALL);
// Establecemos en función del lenguaje seleccionado el js con los textos
$sesion_lang = $language->getSessionLang();
$lang        = (isset($sesion_lang) ? $sesion_lang : 'es_ES');


// Compruebo si es móvil para cargar los css
$RUTACSS = 'compras_reservas.css';
$LOCALIZADOR = $localizador;

$tReservaAnulada = 0;
if ($tipo_anulacion == 'compra') {
    $tReservaAnulada = 1;
}

// ENLACE A INFORMACIÓN DEL SERVICIO
$sql_actividad = "SELECT a.nombre, l.servicio_id, l.instalacion_id, l.total, tp.pago
                  FROM localizadores l JOIN servicios s ON l.servicio_id = s.id
                  JOIN actividades a ON s.actividad_id = a.id
                  JOIN tipos_pagos tp ON l.tipo_pago = tp.id
                  AND l.localizador like '" . $localizador . "'";

$result_actividad = $conexion->query($sql_actividad);

if ($result_actividad->rowCount() > 0) {
    $row_actividad = $result_actividad->fetch();

    // TEXTOS SECCIÓN (GENERALES Y DE SERVICIO)
    $section_message   = 'anular_paso_2';
    $servicio_texto    = $row_actividad['servicio_id'];
    $instalacion       = $row_actividad['instalacion_id'];
    $total_localizador = $row_actividad['total'];
    $tipo_pago         = $row_actividad['pago'];
}

// $lang                   = (isset($sesion_lang) ? $sesion_lang : 'es_ES');
// $translated_form_action = $language->getFormActionTranslation('factura/solicitud_factura_finalizada.tpl_volver');
// $form_action            = isset($translated_form_action) ? $translated_form_action : 'anular';


if (strpos(strtoupper($tipo_pago), 'PAYPAL') === false) {
    $sql_total    = "SELECT (SUM(Ds_Amount) / 100) as total FROM Redsys WHERE Ds_TransactionType = 0 AND localizador = '" . $localizador . "'";
    $result_total = $conexion->query($sql_total);

    $total = 0;

    if ($result_total->rowCount() > 0) {

        $row_total     = $result_total->fetch(PDO::FETCH_ASSOC);
        $total         = $row_total['total'];
        $refund_amount = $total;
        // Obtenemos el total reembolsado en la anulación
        $sql_total_reembolso    = "SELECT (SUM(Ds_Amount) / 100) as total_reembolsado FROM Redsys WHERE Ds_TransactionType = 3 AND localizador = '" . $localizador . "'";
        $result_total_reembolso = $conexion->query($sql_total_reembolso);

        $total_reembolsado = 0;

        if ($result_total_reembolso->rowCount() > 0) {

            $row_total_reembolso = $result_total_reembolso->fetch(PDO::FETCH_ASSOC);
            $total_reembolsado   = $row_total_reembolso['total_reembolsado'];

            $refund_amount = ($total - $total_reembolsado) * 100;

        }
        $es_una_baja=1;
        require_once DIRMODULOSCOMP . 'reembolso.php';
    }

} else {

    $sql_total    = "SELECT (SUM(mc_gross)) as total FROM Paypal WHERE estado = 'pagado' AND localizador = '" . $localizador . "'";
    $result_total = $conexion->query($sql_total);

    $total = 0;

    if ($result_total->rowCount() > 0) {

        $row_total     = $result_total->fetch(PDO::FETCH_ASSOC);
        $total         = $row_total['total'];
        $refund_amount = $total;

        // Vamos a conseguir todos los reembolsos parciales hasta la fecha para calcular el real que haya que devolver
        $sql_refunds    = "SELECT SUM(mc_gross) as total FROM Paypal WHERE estado = 'reembolso' AND localizador = '" . $localizador . "'";
        $result_refunds = $conexion->query($sql_refunds);
        if ($result_refunds->rowCount() > 0) {
            $row_refunds  = $result_refunds->fetch();
            $total_refund = $row_refunds['total'];
        }

        if (!empty($total_localizador) && !empty($total_refund)) {
            $refund_amount = $refund_amount - $total_refund;
        }

        require_once DIRMODULOSCOMP . 'reembolso_paypal.php';
    }
}
if (strpos(strtoupper($tipo_pago), 'PAYPAL') === false) {
    $format_cantidad_a_devolver = number_format($refund_amount/100, 2) . " €";
}else{
    $format_cantidad_a_devolver = number_format($refund_amount, 2) . " €";
}

$texto_reembolso_01 = _('Su solicitud de reembolso ha sido procesada con éxito y hemos emitido un reembolso a su tarjeta.');
$texto_reembolso_02 = _('Por favor, tenga en cuenta que, según su banco o entidad financiera, el tiempo que tardará en aparecer el reembolso en su cuenta puede variar, normalmente será automático, pero podría tardar varios días hábiles.');
// $texto_reembolso_03 = 'Si tiene alguna pregunta, no dude en ponerse en contacto con nuestro equipo de atención al cliente a través de <a href="mailto:' . MAILFROM . '" target="_blank">' . MAILFROM . '</a> o directamente desde este formulario de contacto (<a href="/contacto-visitas">' . $domainLink . '/contacto-visitas</a>). ';
$texto_reembolso_03 = _('Si tiene alguna pregunta, no dude en ponerse en contacto con nuestro equipo de atención al cliente a través de');
$texto_reembolso_04 = ' <a href="mailto:' . MAILFROM . '" target="_blank" class="contacto_formulario">' . MAILFROM . '</a> ';
$texto_reembolso_05 = _(' o directamente desde este formulario de contacto ');
$texto_reembolso_06 = ' (<a href="/contacto-visitas" class="contacto_formulario">' . $domainLink . '/contacto-visitas</a>) .';

$texto_reembolso = _($texto_reembolso_01 . '<br>' . $texto_reembolso_02 . '<br>' . $texto_reembolso_03 . $texto_reembolso_04 . $texto_reembolso_05 . $texto_reembolso_06);


$title_reembolsada     = _('Reembolso');
$info_reembolsada      = _('Información sobre el reembolso de su compra');
$total_reembolsado     = _('Total reembolsado: ');
$RESULTMODIFICAR       = _('Su reserva ha sido anulada con exito');
$INFOENVIADAPORCORREO  = _('Hemos enviado toda la información a su correo electrónico');
$TITLEREEMBOLSADO      = $title_reembolsada;
$INFOREEMBOLSADO       = $info_reembolsada;
$TEXTOTOTALREEMBOLSADO = $total_reembolsado;
$TOTALREEMBOLSADO      = $format_cantidad_a_devolver;
$TEXTOREEMBOLSADO      = $texto_reembolso;

require_once DIRLANGUAGETEMPLATES . "anular/api/datos_reserva.ctp";
