コード例 #1
0
ファイル: factura.php プロジェクト: randyibarrola/active
function getFactura($idFactura)
{
    try {
        $factura = DAOFactory::getFacturaDAO()->load($idFactura);
        $hotel = getHotelById($factura->hotelId);
        $campania = getCampania($hotel->campaniaId);
        $frs = DAOFactory::getFacturaReservaDAO()->queryByFacturaId($idFactura);
        $reservas = array();
        foreach ($frs as $fr) {
            $reservas[] = getReserva($fr->reservaId);
        }
        $factura->reservas = $reservas;
        $factura->moneda = getMoneda($factura->monedaId);
        return $factura;
    } catch (Exception $e) {
        var_dump($e);
        return false;
    }
}
コード例 #2
0
ファイル: reserva.php プロジェクト: randyibarrola/active
                                        $mail->send_email($email, $subject, $body);
                                    }
                                }
                            }
                        }
                    }
                } catch (Exception $e) {
                    print_r($e);
                }
            }
        }
    }
}
if (strcmp($action, 'cardData') == 0) {
    if (isset($_POST['clave'])) {
        $reserva = getReserva($_POST['id'], true);
        $valida = verificarClaveHotel($reserva->hotelId, $_POST['clave']);
        if ($valida) {
            $reserva->hotel = getHotelById($reserva->hotelId);
            if (!$reserva->pagos || !count($reserva->pagos)) {
                $reserva->pagos = array();
                $reserva->pagos[0]->importe = $reserva->productos[0]->precioUnitario;
                $reserva->pagos[0]->formaPago = 'efectivo';
            } else {
                $reserva->pagos[0]->importe = $reserva->productos[0]->precioUnitario;
            }
            if ($reserva->pagos) {
                $hotel = getHotelById($reserva->hotelId);
                $beneficio = $reserva->productos[0]->porcientoInicial;
                /*if(!$beneficio)
                      $beneficio = $hotel->distribuidor->porcentajeBeneficio;
コード例 #3
0
ファイル: reserva.php プロジェクト: randyibarrola/active
function enviarEmailNuevaReserva($idReserva)
{
    try {
        global $smarty;
        $reservacion = getReserva($idReserva);
        $reservacion->id = encryptId($idReserva);
        $smarty->assign('reserva', $reservacion);
        $cart = $reservacion->cart;
        $data_user = array('nombre' => $reservacion->usuario->nombre, 'apellido' => $reservacion->usuario->apellido, 'email' => $reservacion->usuario->email, 'telefono' => $reservacion->usuario->telefono);
        $smarty->assign('usuario', $data_user);
        $hotel = getHotelById($reservacion->hotelId);
        $subject = 'New Booking ' . $hotel->nombres->es . ' [' . $reservacion->localizador . ']';
        $smarty->assign('entrada', $reservacion->alojamiento[0]->inicio);
        $smarty->assign('salida', $reservacion->alojamiento[0]->final);
        $noches = ceil((strtotime($reservacion->alojamiento[0]->final) - strtotime($reservacion->alojamiento[0]->inicio)) / (24 * 60 * 60));
        $smarty->assign('noches', $noches);
        $pais = getPais($reservacion->usuario->paisId);
        $smarty->assign('pais', $pais->nombre);
        $smarty->assign('base_url', $cart->url);
        $smarty->assign('currency', $moneda);
        $campania = false;
        $smarty->assign('hotel', $hotel);
        if ($hotel && $hotel->campaniaId) {
            $campania = getCampania($hotel->campaniaId);
            $smarty->assign('campania', $campania);
        }
        $body = $smarty->fetch('confirmacionEmail_nodesign.tpl');
        $cobroAnticipado = 0;
        foreach ($reservacion->productos as $producto) {
            $cobroAnticipado += $producto->importeInicial;
        }
        //generar factura
        if ($cobroAnticipado && $reservacion->estado == 'Aprobada') {
            $factura = generarFactura($reservacion, $hotel);
        } else {
            $factura = 0;
        }
        $mail = new Core_Mailer();
        /* enviando email al usuario */
        $enviado = $mail->send_email($data_user['email'], $subject, $body, $factura);
        if ($factura) {
            //TODO: eliminar pdf
            $mail = new Core_Mailer();
            @unlink($factura);
        }
        $emails = $hotel->emailReservas;
        $emails = explode(',', $emails);
        $reserva_url = getReservaUrl($idReserva);
        $smarty->assign('reserva_url', $reserva_url);
        $body = $smarty->fetch('reservaEmail_nodesign.tpl');
        if ($campania) {
            $subject = 'New Booking ' . $reservacion->localizador . ' [contrato ' . $campania->localizador . ']';
        } else {
            $subject = 'New Booking ' . $hotel->nombres->es . ' ' . $reservacion->localizador;
        }
        $emailDistribuidor = explode(',', $hotel->distribuidor->emailReservas);
        if ($emailDistribuidor && count($emailDistribuidor)) {
            foreach ($emailDistribuidor as $email) {
                if (strlen(trim($email)) > 0) {
                    $enviado = $mail->send_email($email, $subject, $body);
                }
            }
        }
        if ($reservacion->estado == 'Aprobada') {
            //cuando no es onrequest
            foreach ($emails as $email) {
                if (strlen(trim($email)) > 0) {
                    $enviado = $mail->send_email($email, $subject, $body);
                }
            }
            if ($reservacion->extras) {
                foreach ($reservacion->extras as $excursion) {
                    if ($excursion->emails && explode(',', $excursion->emails)) {
                        $smarty->assign('excursion', $excursion);
                        $body = $smarty->fetch('confirmacionExcursion_nodesign.tpl');
                        $emails = explode(',', $excursion->emails);
                        $subject = 'New Booking ' . $excursion->localizador;
                        foreach ($emails as $email) {
                            if (strlen(trim($email))) {
                                $mail->send_email($email, $subject, $body);
                            }
                        }
                    }
                }
            }
        }
    } catch (Exception $ex) {
        print_r($ex);
    }
}
コード例 #4
0
ファイル: lista.php プロジェクト: randyibarrola/active
<?php

require 'Logic/afiliado.php';
$usuario_core->validateUser();
$usuario_core->hasAdminAccess('widgets');
$afiliado = getAfiliadoByIdUsuario($usuario_core->getUsuario()->id);
$ganancias_complete = array();
$ganancias = $afiliado->ganancias;
if (count($ganancias)) {
    $comision_total = 0.0;
    $counter = 0;
    foreach ($ganancias as $ganancia) {
        $reserva = getReserva($ganancia->reservaId);
        $ganancias_complete[$counter]['reserva'] = $reserva;
        if ($reserva->estado == 'Confirmada') {
            $ganancias_complete[$counter]['comision'] = '€' . number_format($ganancia->comision, 2, ',', '');
            $comision_total += $ganancia->comision;
        } else {
            $ganancias_complete[$counter]['comision'] = '€0,0';
        }
        $ganancias_complete[$counter]['porcentaje'] = $ganancia->porcentaje . '%';
        $counter++;
    }
    $comision_total = 'Total: €' . number_format($comision_total, 2, ',', '');
    $ganancias_complete[$counter]['comision'] = $comision_total;
}
$smarty->assign('ganancias', $ganancias_complete);
$smarty->assign('afiliado', $afiliado);
$smarty->display('admin/ganancia/lista.tpl');
コード例 #5
0
<?php

$reserva = getReserva(133);
generarFactura($reserva, $hotel);
function generarFactura($reserva, $hotel)
{
    try {
        global $template_dir;
        global $template_url;
        $pdfWriter = new PdfWriter();
        $pdfWriter->Header();
        $pdfWriter->printHeaderRow(1, 'Factura', $reserva->localizador);
        $ruta = ' ';
        if ($hotel->logoId) {
            $ruta = ' img(' . $hotel->logo->ruta . ') ';
        } else {
            $ruta = ' img(' . $template_url . '/images/logo.png) ';
        }
        $pdfWriter->printHeaderRow(2, $ruta . ' ' . $smarty->getConfigVariable('sistema_nombre'), '', 90, 'R');
        $pdfWriter->printRow(1, '', "Nombre: " . $reserva->usuario->nombre . "\nApellido: " . $reserva->usuario->apellido . "\nEmail: " . $reserva->usuario->email . "\nTelefono: " . $reserva->usuario->telefono . "\n");
        $pdfWriter->printRow(2, '', "Distribuidor:" . $hotel->distribuidor->nombreComercial . "\nCIF: " . $hotel->distribuidor->numeroFiscal . "\nDireccion: " . $hotel->distribuidor->direccion->descripcion . "\nTelefono: " . $hotel->distribuidor->telefonoReservas . "\nEmail: " . $hotel->distribuidor->emailReservas . "\n");
        $pdfWriter->PrintBorderTableRow('Cargos facturados:');
        $total = 0;
        foreach ($reserva->alojamiento as $p) {
            if ($p->importeInicial) {
                $pdfWriter->printRow(1, "Localizador {$reserva->localizador} - gestión de reserva {$p->porcientoInicial} %", "{$p->nombre}", 150);
                $pdfWriter->printRow(2, $reserva->moneda->codigo . ' ' . number_format($p->importeInicial, 2, ',', ''), '', 30);
                $total += $p->importeInicial;
            }
        }
        foreach ($reserva->extras as $p) {
コード例 #6
0
ファイル: cancelacion.php プロジェクト: randyibarrola/active
<?php

$reserva = getReserva(decryptId($_GET['id']));
if (!$reserva) {
    header('Location:' . $base_url);
} else {
    $reserva->id = $_GET['id'];
    $hotel = getHotelById($reserva->hotelId);
    $smarty->assign('hotel', $hotel);
    if ($reserva->alojamiento && count($reserva->alojamiento)) {
        $apartamento = $reserva->alojamiento[0];
    } else {
        $apartamento = NULL;
    }
    $smarty->assign('id', $_GET['id']);
    $smarty->assign('usuario', $usuario);
    $smarty->assign('apartamento', $apartamento);
    $smarty->assign('cart', $reserva->cart);
    $usuario = getUsuario($reserva->usuarioId);
    $smarty->assign('usuario', $usuario);
    $smarty->assign('reserva', $reserva);
    $inicio = $apartamento->inicio;
    $salida = $apartamento->final;
    $time_inicio = strtotime($inicio);
    $time_salida = strtotime($salida);
    $noches = ceil(($time_salida - $time_inicio) / (24 * 60 * 60));
    $inicio = date('l, d-F-Y', strtotime($inicio));
    $salida = date('l, d-F-Y', strtotime($salida));
    $smarty->assign('inicio', $inicio);
    $smarty->assign('salida', $salida);
    $smarty->assign('noches', $noches);
コード例 #7
0
ファイル: gestion.php プロジェクト: randyibarrola/active
<?php

if (isset($_REQUEST['print']) && isset($_REQUEST['rloc']) && isset($_REQUEST['login_code'])) {
    $login_code = $_REQUEST['login_code'];
    $hotelId = getHotelIdByLoginCode($login_code);
}
if (!$hotelId) {
    $usuario_core->validateUser();
}
$tipo_cobro = "";
if (isset($_GET["id"])) {
    $reserva = getReserva($_GET["id"]);
    $tipo_cobro = $reserva->tipoCobro;
    $reserva->hotel = getHotelById($reserva->hotelId);
    if (!$reserva->pagos || !count($reserva->pagos)) {
        $reserva->pagos = array();
        $reserva->pagos[0]->importe = $reserva->productos[0]->precioUnitario;
        $reserva->pagos[0]->formaPago = 'efectivo';
    } else {
        $reserva->pagos[0]->importe = $reserva->productos[0]->precioUnitario;
    }
    $hotel = getHotelById($reserva->hotelId);
    if ($reserva->productos[0]->porcientoInicial) {
        $reserva->productos[0]->comision = $reserva->productos[0]->precioUnitario * $reserva->productos[0]->porcientoInicial / 100;
    } else {
        $reserva->productos[0]->comision = $reserva->productos[0]->precioUnitario * $hotel->distribuidor->porcentajeBeneficio / 100;
    }
    if ($reserva->pagos) {
        $beneficio = $reserva->productos[0]->porcientoInicial;
        /*if(!$beneficio)
          $beneficio = $reserva->hotel->distribuidor->porcentajeBeneficio;*/
コード例 #8
0
ファイル: reservaEmail.php プロジェクト: randyibarrola/active
<?php

/*
$reservaId = 276;
$reservacion = getReserva($reservaId);
$reservacion->id = encryptId($reservaId);
$hotel = getHotelById($reserva->hotelId);
print_r($reservacion->cart->apto);
$subject = 'New Booking ' . $hotel->nombres->es . ' [Confirmed]';
$smarty->assign('hotel', $hotel);
$smarty->assign('usuario', get_object_vars($reservacion->usuario));
$apartamento = $reservacion->alojamiento[0];
$smarty->assign('reserva', $reservacion);            
$smarty->assign('entrada', $apartamento->inicio);
$smarty->assign('salida', $apartamento->final);


$noches = ceil((strtotime($apartamento->final) - strtotime($apartamento->inicio))/(24*60*60));
$smarty->assign('noches', $noches);
if($hotel && $hotel->campaniaId){
    $campania = getCampania($hotel->campaniaId);
    $smarty->assign('campania',$campania); 
}
if($reservacion->idiomaId) {
    $smarty->configLoad($reservacion->idioma->codigo . '.conf');
}
$smarty->display('reservaEmail_nodesign.tpl');*/
$reserva = getReserva(432);
$hotel = getHotelById($reserva->hotelId);
$reserva->id = encryptId($reserva->id);
generarFactura($reserva, $hotel);
コード例 #9
0
ファイル: reservar.php プロジェクト: randyibarrola/active
                 $data_excursiones[$pos]['localizador'] = strtoupper(generarLocalizador(5));
                 $data_excursiones[$pos]['telefonoContacto'] = $reservacion->evento->telefono;
                 $data_excursiones[$pos]['entradas'] = json_encode($reservacion->entradas);
             }*/
 /** **/
 $idioma_actual = isset($lang_set) ? getIdiomaByCodigo($lang_set) : getIdioma($hotel->idiomaId);
 $data_reserva['idiomaId'] = $idioma_actual->id;
 $idReserva = insertReserva($hotel->id, $data_reserva, $data_apartamento, $data_excursiones, $data_user, $data_pago, str_replace(',', '.', (string) $precio));
 if ($idReserva) {
     $result = array();
     $result['msg'] = 'ok';
     $result['data'] = 'Se guardaron los datos correctamente';
     $result['reserva_id'] = encryptId($idReserva);
     //$_SESSION['data_usuario'] = $data_user;
     $smarty->assign('usuario', $data_user);
     $reservacion = getReserva($idReserva);
     $reservacion->id = encryptId($idReserva);
     $smarty->assign('reserva', $reservacion);
     $subject = 'New Booking ' . $hotel->nombres->es . ' [' . $reservacion->localizador . ']';
     $smarty->assign('entrada', $data_apartamento['inicio']);
     $smarty->assign('salida', $data_apartamento['final']);
     $noches = ceil((strtotime($data_apartamento['final']) - strtotime($data_apartamento['inicio'])) / (24 * 60 * 60));
     $smarty->assign('noches', $noches);
     $pais = getPais($data_user['paisId']);
     $smarty->assign('pais', $pais->nombre);
     $smarty->assign('base_url', $cart->url);
     //$smarty->assign('currency', $moneda);
     $campania = false;
     $smarty->assign('hotel', $hotel);
     if ($hotel && $hotel->campaniaId) {
         $campania = getCampania($hotel->campaniaId);
コード例 #10
0
ファイル: reserva.php プロジェクト: randyibarrola/active
            }
        }
    } else {
        $result['data'] = 'Hay errores en los datos. Revíselos por favor.';
    }
}
if (strcmp($action, 'cancelar') == 0) {
    if (isset($_POST['id'])) {
        $id = decryptId($_POST['id']);
        $estado = 'Cancelada por el cliente';
        $r = cambiarEstadoReserva($id, $estado);
        if ($r) {
            $result['msg'] = 'ok';
            $result['data'] = 'La reserva fue cancelada';
            try {
                $reservacion = getReserva($id);
                /** cancelar excursiones **/
                /*
                                if($reservacion->extras) {
                                    foreach ($reservacion->extras as $excursion) {
                                        set_time_limit(0);
                                        $distribuidor = getParametrosVikaByHotelId($reservacion->hotelId);
                                        $params_ws = array_merge($distribuidor, array());
                                        $params_ws['codigo'] = $excursion->localizador;
                                        $params_ws['noContactUser'] = 1;
                                        $client = new nusoap_client($service_url."/soap-reservacion");
                                        $client->timeout = 1000000000;
                                        $client->response_timeout = 1000000000;
                                        $results = $client->call('cancelar', array('params' => $params_ws));
                
                                        $results = json_decode($results);