function getCart($idCart) { try { $cart = DAOFactory::getShoppingCartDAO()->load($idCart); if (!$cart) { return false; } $cart->apartamentoObj = json_decode($cart->apartamento); $cart->excursionesArray = json_decode($cart->excursiones); if ($cart->monedaId) { $cart->moneda = DAOFactory::getMonedaDAO()->load($cart->monedaId); } return $cart; } catch (Exception $e) { print_r($e); return false; } }
function actualizarCambioMoneda() { try { set_time_limit(0); $moneda = getMonedaByCodigo('USD'); $hoy = strtotime(date('Y-m-d')); $lastUpdate = strtotime(date('Y-m-d', $moneda->ultimaModificacion ? strtotime($moneda->ultimaModificacion) : 0)); if ($hoy > $lastUpdate) { $monedas = getAllMonedas(); $transaction = new Transaction(); $change_url = 'https://www.google.com/finance/converter'; $cant = 1; $from = 'EUR'; foreach ($monedas as $moneda) { $content = file_get_contents($change_url . '?a=' . $cant . '&from=' . $from . '&to=' . $moneda->codigo); $dom = new DOMDocument(); @$dom->loadHTML($content); $x = new DOMXPath($dom); foreach ($x->query('//span[@class="bld"]') as $node) { $rate = floatval(trim(str_replace($moneda->codigo, '', $node->nodeValue))); $m = DAOFactory::getMonedaDAO()->prepare(array('tasaCambio' => $rate, 'ultimaModificacion' => date('Y-m-d')), $moneda->id); DAOFactory::getMonedaDAO()->update($m); } } $transaction->commit(); } return true; } catch (Exception $e) { print_r($e); if ($transaction) { $transaction->rollback(); } return false; } }
function getReservaByLocalizador($localizador, $withCardData = false) { try { $reservas = DAOFactory::getReservaDAO()->queryByLocalizador($localizador); if (!$reservas || !count($reservas)) { return false; } $reserva = $reservas[count($reservas) - 1]; $idReserva = $reserva->id; $reserva->productos = DAOFactory::getReservaProductoDAO()->queryByReservaId($idReserva); $reserva->usuario = getUsuario($reserva->usuarioId); $reserva->pagos = DAOFactory::getReservaPagoDAO()->queryByReservaId($idReserva); if ($reserva->pagos) { $clave = getClaveByHotel($reserva->hotelId); foreach ($reserva->pagos as $pago) { if ($pago->formaPago == 'tarjeta') { if (!$withCardData) { $pago->tarjetaNumero = false; $reserva->cardData = true; } else { if ($pago->tarjetaNumero && strlen(trim($pago->tarjetaNumero))) { $pago->tarjetaNumero = Encrypter::decrypt($pago->tarjetaNumero, $clave); } } if (!$withCardData) { $pago->cvv = false; } else { if ($pago->cvv && strlen(trim($pago->cvv))) { $pago->cvv = Encrypter::decrypt($pago->cvv, $clave); } } } } } $reserva->alojamiento = array(); $reserva->extras = array(); foreach ($reserva->productos as $kp => $p) { if (strcmp($p->tipo, 'apartamento') == 0) { $p->noches = ceil((strtotime($p->final) - strtotime($p->inicio)) / (24 * 60 * 60)); if (strpos($p->nombre, '(')) { $n = explode('(', $p->nombre); $pax = trim($n[count($n) - 1]); $reserva->productos[$kp]->pax = substr($pax, 0, strlen($pax) - 1); } array_push($reserva->alojamiento, $p); } else { if ($p->eventoTpv && strlen($p->eventoTpv)) { $p->eventoTpv = json_decode($p->eventoTpv); } if ($p->entradas) { $p->entradasList = json_decode($p->entradas); $cant = 0; foreach ($p->entradasList as $entrada) { $cant += $entrada->entradas; } $p->tickets = $cant; } array_push($reserva->extras, $p); } } if ($reserva->monedaId) { $reserva->moneda = DAOFactory::getMonedaDAO()->load($reserva->monedaId); } if ($reserva->idiomaId) { $reserva->idioma = DAOFactory::getIdiomaDAO()->load($reserva->idiomaId); } if ($reserva->cartId) { $reserva->cart = DAOFactory::getShoppingCartDAO()->load($reserva->cartId); $reserva->cart->apto = json_decode($reserva->cart->apartamento); } return $reserva; } catch (Exception $e) { return false; } }
function getMonedasByHotelId($id) { try { $monedas = array(); $mons = DAOFactory::getHotelMonedaDAO()->queryByHotelId($id); foreach ($mons as $k => $id) { $monedas[$k] = DAOFactory::getMonedaDAO()->load($id->monedaId); } return $monedas; } catch (Exception $e) { var_dump($e); return false; } }