Exemplo n.º 1
0
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;
    }
}
Exemplo n.º 2
0
<?php

$logged = $usuario_core->validateUser();
if ($logged) {
    $usuario_core->hasAdminAccess('campania');
    $campania = getCampania($_GET['id']);
    $smarty->assign('campania', $campania);
    $smarty->display('admin/campania/ver.tpl');
}
Exemplo n.º 3
0
 set_time_limit(0);
 try {
     $reservacion = getReserva($reservaId);
     $reservacion->id = encryptId($reservaId);
     $hotel = getHotelById($reserva->hotelId);
     $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');
     }
     $body = $smarty->fetch('confirmacionEmail_nodesign.tpl');
     if ($reservacion->pagos && count($reservacion->pagos) && $reservacion->pagos[0]->importe) {
         $factura = generarFactura($reservacion, $hotel);
     } else {
         $factura = 0;
     }
     $mail = new Core_Mailer();
     $enviado = $mail->send_email($reservacion->usuario->email, $subject, $body, $factura);
     if ($factura) {
         $mail = new Core_Mailer();
Exemplo n.º 4
0
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);
    }
}
Exemplo n.º 5
0
                 $otrosHoteles[] = $h;
             }
         }
         $smarty->assign('hoteles', $otrosHoteles);
         $adword = getAdwordByHotel($hotel->id);
         if ($adword) {
             $smarty->assign('adword', $adword);
         }
     } else {
         header('Location:' . $base_url . '/admin-hotel-lista');
     }
 } else {
     $hotel = new Hotel();
     $hotel->clave = substr(uniqid(), 6, 6);
     if (isset($_GET['c'])) {
         $campania = getCampania($_GET['c']);
         //$hotel = new Hotel();
         $hotel->campania = $campania;
         $hotel->campaniaId = $campania->id;
         $hotel->inicioContrato = $campania->inicio;
         $hotel->finContrato = $campania->fin;
         $hotel->empresaId = $campania->empresaId;
         $hotel->emailReservas = $campania->empresa->emailReservas;
         $hotel->telefonoReservas = $campania->empresa->telefonoReservas;
         $hotel->dominioCampania = $campania->subdominio;
         $hotel->promociones = $campania->periodos;
         if ($hotel->promociones && count($hotel->promociones)) {
             foreach ($hotel->promociones as $p) {
                 $p->tipoDescuentoBooking = $p->tipoDescuento;
             }
             $hotel->ventaAnticipada = $p->ventaAnticipada;
Exemplo n.º 6
0
             $f = $f[2] . '-' . $f[1] . '-' . $f[0];
             $precios[$k]['inicio'] = $f;
         } else {
             $precios[$k]['inicio'] = NULL;
         }
         if (strlen(trim($p['fin']))) {
             $f = explode('-', $p['fin']);
             $f = $f[2] . '-' . $f[1] . '-' . $f[0];
             $precios[$k]['fin'] = $f;
         } else {
             $precios[$k]['fin'] = NULL;
         }
     }
 }
 if ($data['campaniaId']) {
     $campania = getCampania($data['campaniaId']);
     if ($campania) {
         $data['inicioContrato'] = $campania->inicio;
         $data['finContrato'] = $campania->fin;
     }
 }
 $data_blacklist = array();
 if (isset($_POST['blacklist'])) {
     $data_blacklist = $_POST['blacklist'];
 }
 if (isset($_POST['idHotel'])) {
     $idHotel = $_POST['idHotel'];
     $hotel = updateHotel($idHotel, $data, $data_direccion, $idiomas, $monedas, $fechas, $condiciones, $dominios, $promociones, $data_blacklist, $precios);
 } else {
     if (isset($_POST['clave'])) {
         $data['clave'] = $_POST['clave'];
Exemplo n.º 7
0
     $beneficio = $reserva->productos[0]->porcientoInicial;
     /*if(!$beneficio)
           $beneficio = $reserva->hotel->distribuidor->porcentajeBeneficio;
       */
     $beneficio = 100 - $beneficio;
     foreach ($reserva->pagos as $k => $pago) {
         $reserva->pagos[$k]->importe = $pago->importe * $beneficio / 100;
     }
 }
 $smarty->assign('reserva', $reserva);
 if ($reserva->usuario && is_numeric($reserva->usuario->paisId)) {
     $pais = getPais($reserva->usuario->paisId);
     $smarty->assign('pais', $pais);
 }
 if ($reserva->hotel && $reserva->hotel->campaniaId) {
     $campania = getCampania($reserva->hotel->campaniaId);
     $smarty->assign('campania', $campania);
 }
 if ($reserva && $reserva->hotelId == $hotelId) {
     $smarty->assign('edit', true);
     $smarty->assign('meses', array('Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'));
     $smarty->assign('estadosPago', array('Pendiente', 'Denegado', 'Confirmado'));
     $smarty->assign('estadosReserva', Core_Util_General::getEstadosReserva($reserva->tipoCobro));
     if (isset($_REQUEST['print'])) {
         $smarty->display('admin/reserva/ver_print.tpl');
     } else {
         $smarty->display('admin/reserva/ver.tpl');
     }
 } else {
     header('Location:' . $base_url);
 }
Exemplo n.º 8
0
<?php

$id = $_GET['id'];
$campania = getCampania($id);
$smarty->assign('campania', $campania);
$smarty->display('admin/campania/suspender.tpl');
Exemplo n.º 9
0
function getHotelById($id, $convertirMonedas = true)
{
    try {
        $hotel = DAOFactory::getHotelDAO()->load($id);
        $hotel->direccion = getDireccionByHotel($hotel->id);
        if ($hotel->configuracionId) {
            $configuracion = DAOFactory::getConfiguracionDAO()->load($hotel->configuracionId);
        }
        if ($hotel->configuracionId) {
            $hotel->config = getConfiguracionById($hotel->configuracionId);
        }
        if ($hotel->campaniaId) {
            $hotel->campania = getCampania($hotel->campaniaId);
            if ($hotel->campania->empresaId) {
                $hotel->empresa = getEmpresaById($hotel->campania->empresaId);
            }
            if ($hotel->campania->empresaDistribuidoraId) {
                $hotel->distribuidor = getEmpresaById($hotel->campania->empresaDistribuidoraId);
            }
        }
        $hotel->idiomas = getAllIdiomas();
        $hotel->monedas = getMonedasByHotelId($hotel->id);
        $hotel->condiciones = getCondicionesByHotelId($hotel->id);
        if ($hotel->nombre && strlen(trim($hotel->nombre)) > 2 && $hotel->nombre[0] == '{' && $hotel->nombre[strlen($hotel->nombre) - 1] == '}') {
            $hotel->nombre = json_decode(trim($hotel->nombre))->es;
        }
        if ($hotel->descripcionCorta && strlen(trim($hotel->descripcionCorta)) > 0) {
            $hotel->descripcionesCortas = json_decode(trim($hotel->descripcionCorta));
        }
        if ($hotel->descripcionLarga && strlen(trim($hotel->descripcionLarga)) > 0) {
            $hotel->descripcionesLargas = json_decode(trim($hotel->descripcionLarga));
        }
        if ($hotel->informacionCompra && strlen(trim($hotel->informacionCompra)) > 0) {
            $hotel->informacionesCompra = json_decode(trim($hotel->informacionCompra));
        }
        if ($hotel->tituloSeo && strlen(trim($hotel->tituloSeo)) > 0) {
            $hotel->titulosSeo = json_decode(trim($hotel->tituloSeo));
        }
        if ($hotel->keywordsSeo && strlen(trim($hotel->keywordsSeo)) > 0) {
            $hotel->jkeywordsSeo = json_decode(trim($hotel->keywordsSeo));
        }
        $hotel->fechas = DAOFactory::getHotelFechasDAO()->queryByHotelId($hotel->id);
        if ($hotel->logoId) {
            $hotel->logo = DAOFactory::getArchivoDAO()->load($hotel->logoId);
        }
        $hotel->dominios = DAOFactory::getHotelDominiosDAO()->queryByHotelId($hotel->id);
        $hotel->promociones = DAOFactory::getPromocionDAO()->queryByHotelId($hotel->id);
        if ($hotel->promociones) {
            $hotel->promocionActual = false;
            foreach ($hotel->promociones as $p) {
                $now = time();
                if ($now >= strtotime($p->inicio) && $now <= strtotime($p->fin) + 24 * 60 * 60) {
                    $hotel->promocionActual = $p;
                }
            }
        }
        if ($hotel->monedaId) {
            $hotel->moneda = getMoneda($hotel->monedaId);
        }
        global $money;
        $preciosMinimos = DAOFactory::getHotelPrecioDAO()->queryByHotelId($hotel->id);
        if ($preciosMinimos && count($preciosMinimos)) {
            $precio_minimo_val = $preciosMinimos[0]->precioMinimo;
            if ($convertirMonedas) {
                $precio_moneda_seleccionada = convertFromMonedaToMoneda($precio_minimo_val, $hotel->moneda->codigo, $money);
                $preciosMinimos[0]->precioMinimo = $precio_moneda_seleccionada;
            } else {
                $preciosMinimos[0]->precioMinimo = $precio_minimo_val;
            }
            $hotel->precioMinimo = $preciosMinimos[0];
        }
        $hotel->blacklist = DAOFactory::getBlacklistDAO()->queryByHotelId($hotel->id);
        if ($hotel->destinoId) {
            $hotel->destino = getDestino($hotel->destinoId);
            if ($hotel->destino->descripcion) {
                $hotel->destino->descripciones = json_decode($hotel->destino->descripcion);
            }
            if ($hotel->mostrarHotelesRelacionados) {
                $hoteles = DAOFactory::getHotelDAO()->queryByDestinoId($hotel->destinoId);
                $keys = array_rand($hoteles, count($hoteles) > 10 ? 10 : count($hoteles));
                if (!is_array($keys)) {
                    $keys = array($keys);
                }
                $relacionados = array();
                foreach ($keys as $k) {
                    $h = $hoteles[$k];
                    if ($h->id != $hotel->id) {
                        $precioMinimo = DAOFactory::getHotelPrecioDAO()->queryByHotelId($h->id);
                        $logoHotel = getHotelLogo($h->id);
                        if ($precioMinimo && count($precioMinimo)) {
                            $precio_minimo_val = $precioMinimo[0]->precioMinimo;
                            $precio_moneda_seleccionada = convertFromMonedaToMoneda($precio_minimo_val, $hotel->moneda->codigo, $money);
                            $precioMinimo[0]->precioMinimo = $precio_moneda_seleccionada;
                            $h->precioMinimo = $precioMinimo[0];
                            $h->logo = $logoHotel;
                        }
                        $h->campania = DAOFactory::getCampaniaDAO()->load($h->campaniaId);
                        if (strlen($logoHotel->ruta) > 0) {
                            $relacionados[] = $h;
                        }
                    }
                }
                $hotel->relacionados = $relacionados;
            }
        }
        return $hotel;
    } catch (Exception $e) {
        return false;
    }
}