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; } }
<?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'); }
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();
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); } }
$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;
$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'];
$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); }
<?php $id = $_GET['id']; $campania = getCampania($id); $smarty->assign('campania', $campania); $smarty->display('admin/campania/suspender.tpl');
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; } }