function validarReservas($reservas, $importes) { try { $transaction = new Transaction(); foreach ($importes as $rid => $imp) { $status = in_array($rid, $reservas) ? 'Stayed' : 'No show'; $reserva = DAOFactory::getReservaDAO()->prepare(array('estado' => $status), $rid); DAOFactory::getReservaDAO()->update($reserva); //estado actualizado $moneda = getMoneda($reserva->monedaId); $productos = DAOFactory::getReservaProductoDAO()->queryByReservaId($rid); foreach ($productos as $p) { if ($p->tipo == 'apartamento') { $precio = $imp; if ($moneda->codigo != 'EUR') { $precio = convertFromMonedaToMoneda($imp, 'EUR', $moneda->codigo); } $producto = DAOFactory::getReservaProductoDAO()->prepare(array('precioUnitario' => $precio), $p->id); DAOFactory::getReservaProductoDAO()->update($producto); break; } } } $transaction->commit(); return true; } catch (Exception $e) { print_r($e); if ($transaction) { $transaction->rollback(); } return false; } }
$aparts[$kk]['pension'] = $aparts[$k]['pension']; $aparts[$kk]['condicion'] = $aparts[$k]['condicion']; $aparts[$kk]['adultos'] = $aparts[$k]['adultos']; $aparts[$kk]['ninios'] = $aparts[$k]['ninios']; $aparts[$kk]['precios_sin_descuento'] = $aparts[$k]['precios_sin_descuento']; $aparts[$kk]['imagenes'] = $aparts[$k]['imagenes']; } } } foreach ($monedas as $m) { if ($m->codigo != $money) { $precio_moneda = convertFromMonedaToMoneda($precio, $hotel->moneda->codigo, $m->codigo); $aparts[$k]['precios'][$m->codigo] = $m->simbolo . ' ' . $precio_moneda; } } $precio_seleccionado = convertFromMonedaToMoneda($precio, $hotel->moneda->codigo, $money); $precio_moneda_seleccionada = $currency . $precio_seleccionado; $aparts[$k]['precio_moneda_seleccionada'] = $precio_moneda_seleccionada; $aparts[$k]['precio_moneda_seleccionada_especulado'] = $currency . number_format($precio_seleccionado + rand(20, 50) * $precio_seleccionado / 100, 2, ',', ''); $precio = $moneda . number_format($precio, 2, ',', ' '); $aparts[$k]['precio'] = $precio; } $_SESSION['apartamentos'] = $aparts; //$limit = 2; $limit = 3; if (!count($aparts)) { //$limit = 10; //cambiado a 3 por el nuevo diseño $limit = 3; } //guardar busqueda
<?php $results = array('msg' => 'error', 'data' => ''); if (isset($_POST['id'])) { $excursionId = $_POST['id']; $client = new nusoap_client($service_url . "/soap-evento"); $distribuidor = getParametrosVikaByHotelId($hotel->id); $params = $distribuidor; $params['id'] = $excursionId; $client->debug_flag = true; $result = $client->call('get', array('params' => $params)); $result = json_decode($result); $excursion = $result->data; if (isset($_GET['m']) && strcmp($_GET['m'], 'EUR') != 0) { $excursion->precio->precio = convertFromMonedaToMoneda($excursion->precio->precio, 'EUR', $_GET['m']); $smarty->assign('currency', getMonedaByCodigo($_GET['m'])->simbolo); } $smarty->assign('excursion', $excursion); $html = $smarty->fetch('detalle.tpl'); $results['msg'] = 'ok'; $results['html'] = $html; } echo json_encode($results);
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; } }
} else { $smarty->assign('money', 'EUR'); $smarty->assign('currency', getMonedaByCodigo('EUR')->simbolo); }*/ if ($hotel->precioMinimo) { $monedaPrecioMinimo = getMoneda($hotel->precioMinimo->monedaId); if ($money != $monedaPrecioMinimo->codigo) { $hotel->precioMinimo->precioMinimo = convertFromMonedaToMoneda($hotel->precioMinimo->precioMinimo, $monedaPrecioMinimo->codigo, $money); } } if ($hotel->relacionados) { foreach ($hotel->relacionados as $k => $r) { if (isset($r->precioMinimo) && $r->precioMinimo->monedaId) { $mPrecioMinimo = getMoneda($r->precioMinimo->monedaId); if ($money != $mPrecioMinimo->codigo) { $hotel->relacionados[$k]->precioMinimo->precioMinimo = convertFromMonedaToMoneda($r->precioMinimo->precioMinimo, $mPrecioMinimo->codigo, $money); } } } } if (isset($_REQUEST['t'])) { $smarty->assign('tab', $_REQUEST['t']); } $smarty->assign('hotel', $hotel); $smarty->assign('end_url', $end_url); $actual_url = getActualUrl(); $end_actual_url = ''; if (substr_count($actual_url, '?') > 0) { $arr = explode('?', $actual_url); $end_actual_url = '?' . $arr[1]; $actual_url = $arr[0];
foreach ($ticket->horario as $horario) { if (!in_array($horario, $horarios)) { array_push($horarios, $horario); } } foreach ($ticket->fechas as $fecha) { $time_fecha = strtotime($fecha->fecha); if ($time_fecha >= $time_inicio && $time_fecha <= $time_salida && $time_fecha >= $time) { array_push($fechas, $fecha); $in_interval = true; } } $ticket->fechas = $fechas; //if(isset($_GET['m']) && strcmp($_GET['m'], 'EUR') != 0){ $ticket->total_custom = $currency . convertFromMonedaToMoneda($ticket->precio, $hotel->moneda->codigo, $moneda->codigo); $ticket->total = $hotel->moneda->simbolo . convertFromMonedaToMoneda($ticket->precio, $hotel->moneda->codigo, $hotel->moneda->codigo); $ticket->total_plano = $ticket->precio; // $ticket->total = $ticket->precio; // } $ticket->horarios_json = json_encode($ticket->horario); } $excursion->horarios = $horarios; if ($in_interval) { array_push($excursiones_interval, $excursion); } } } $excursiones = $excursiones_interval; $smarty->assign('excursiones', $excursiones); //registrar cupon para excursiones $reglas = $hotel->config->reglas;
/*foreach ($precioApto as $p) { if(is_numeric(str_replace(",", ".", $p))) $precio = str_replace(",", ".", $p); else if(strlen(trim($p))) $moneda = $p; }*/ $precio = $precio = str_replace(",", ".", $precioApto); $cobroAnticipado *= $precio; $smarty->assign('cobro_anticipado_hotel', number_format($cobroAnticipado, 2, ',', '')); foreach ($excursiones as $e_k => $exc) { if ($exc['forma_cobro'] == 'online') { $precio_anticipado = $exc['total'] * $exc['porcientoInicial'] / 100; $excursiones[$e_k]['totalInicial'] = $hotel->moneda->simbolo . convertFromMonedaToMoneda($precio_anticipado, $hotel->moneda->codigo, $hotel->moneda->codigo) . ' <span class="subprice">(' . $currency . convertFromMonedaToMoneda($precio_anticipado, $hotel->moneda->codigo, $money) . ')</span>'; $cobroAnticipado += $precio_anticipado; } $precio += $exc['total']; } $precioApto = $hotel->moneda->simbolo . convertFromMonedaToMoneda($precio, $hotel->moneda->codigo, $hotel->moneda->codigo) . ' <span class="subprice">(' . $currency . convertFromMonedaToMoneda($precio, $hotel->moneda->codigo, $money) . ')</span>'; $data_resp = array('id' => $data['timeId'], 'evento' => $evento->nombre, 'fecha' => $_POST['fecha'], 'hora' => $data['sesion'], 'entradas' => $entradas_resp, 'total' => $_POST['total'], 'total_format' => $total_format, 'precioTotal' => $precioApto, 'cobroAnticipado' => $moneda . " " . number_format($cobroAnticipado, 2, ',', ''), 'forma_cobro' => $evento->cobro->forma); $cart = getCart($_SESSION['cartID']); updateCart($cart->id, array('excursiones' => $excursiones)); $apartamento = $cart->apartamentoObj; $result['msg'] = 'ok'; $result['data'] = $data_resp; $result['online'] = $cobroAnticipado > 0 || $hotel->tipoReserva == 'online'; $smarty->assign('pagar_ahora', $cobroAnticipado > 0 || $hotel->tipoReserva == 'online'); $smarty->assign('cobro_anticipado', $moneda . number_format($cobroAnticipado, 2, ',', '')); $smarty->assign('apartamento', $apartamento); $smarty->assign('currencyHotel', $hotel->moneda->simbolo); $smarty->assign('reservas_excursiones', $excursiones); $html = $smarty->fetch('cobraremos.tpl'); $result['html'] = $html; } else {