Ejemplo n.º 1
0
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;
    }
}
Ejemplo n.º 2
0
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;
    }
}
Ejemplo n.º 3
0
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;
    }
}
Ejemplo n.º 4
0
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;
    }
}