Exemple #1
0
function actualizarSEO($id = 0)
{
    try {
        if ($id) {
            $hotel = DAOFactory::getHotelDAO()->load($id);
            $hotel->descripciones = json_decode($hotel->descripcionLarga);
            $tituloSeo = $hotel->nombre;
            if ($hotel->destinoId) {
                $destino = DAOFactory::getDestinoTuristicoDAO()->load($hotel->destinoId);
                $tituloSeo .= ' | ' . $destino->nombre;
            }
            $descripcionesSeo = array();
            $keywordsSeo = array();
            foreach (get_object_vars($hotel->descripciones) as $k => $value) {
                $endD = strlen($value) > 150 ? '...' : '';
                $descripcionesSeo[$k] = strip_tags(substr($value, 0, 150)) . $endD;
                $keywordsSeo[$k] = $tituloSeo . ' ' . str_replace('...', '', $descripcionesSeo[$k]);
            }
            $hotel->tituloSeo = json_encode(array('es' => $tituloSeo));
            $hotel->descripcionCorta = json_encode($descripcionesSeo);
            $hotel->keywordsSeo = json_encode($keywordsSeo);
            DAOFactory::getHotelDAO()->update($hotel);
        } else {
            $transaction = new Transaction();
            $hoteles = DAOFactory::getHotelDAO()->queryAll();
            foreach ($hoteles as $hotel) {
                actualizarSeo($hotel->id);
            }
            $transaction->commit();
        }
        return true;
    } catch (Exception $e) {
        var_dump($e);
        if ($transaction) {
            $transaction->rollback();
        }
        return false;
    }
}
Exemple #2
0
function updateHotel($idHotel, $data = array(), $data_direccion = array(), $idiomas = array(), $monedas = array(), $fechas = array(), $condiciones = array(), $dominios = array(), $promociones = array(), $data_blacklist = array(), $precios = array())
{
    try {
        $transaction = new Transaction();
        if ($data['campaniaId']) {
            $campania = DAOFactory::getCampaniaDAO()->load($data['campaniaId']);
            $data['dominioCampania'] = $campania->subdominio;
        }
        $hotel = DAOFactory::getHotelDAO()->prepare($data, $idHotel);
        if ($data['logoId'] == NULL) {
            $hotel->logoId = NULL;
        }
        DAOFactory::getHotelDAO()->update($hotel);
        $d = false;
        foreach ($data_direccion as $dir) {
            if (!is_null($dir) && strlen(trim($dir)) > 0) {
                $d = true;
                break;
            }
        }
        $old_direccion = getDireccionByHotel($idHotel);
        if ($d && !$old_direccion) {
            $direccion = DAOFactory::getDireccionDAO()->prepare($data_direccion);
            $id_direccion = DAOFactory::getDireccionDAO()->insert($direccion);
            $hotel_direccion = DAOFactory::getHotelDireccionDAO()->prepare(array('hotelId' => $idHotel, 'direccionId' => $id_direccion));
            DAOFactory::getHotelDireccionDAO()->insert($hotel_direccion);
        } else {
            if ($d && $old_direccion) {
                $direccion = DAOFactory::getDireccionDAO()->prepare($data_direccion, $old_direccion->id);
                DAOFactory::getDireccionDAO()->update($direccion);
            }
        }
        DAOFactory::getHotelIdiomaDAO()->deleteByHotelId($idHotel);
        if (count($idiomas)) {
            foreach ($idiomas as $idioma) {
                $id = DAOFactory::getHotelIdiomaDAO()->prepare(array('hotelId' => $idHotel, 'idiomaId' => $idioma));
                DAOFactory::getHotelIdiomaDAO()->insert($id);
            }
        }
        DAOFactory::getHotelMonedaDAO()->deleteByHotelId($idHotel);
        if (count($monedas)) {
            foreach ($monedas as $moneda) {
                $mon = DAOFactory::getHotelMonedaDAO()->prepare(array('hotelId' => $idHotel, 'monedaId' => $moneda));
                DAOFactory::getHotelMonedaDAO()->insert($mon);
            }
        }
        DAOFactory::getHotelFechasDAO()->deleteByHotelId($idHotel);
        foreach ($fechas as $fecha) {
            $fechaHotel = DAOFactory::getHotelFechasDAO()->prepare(array('hotelId' => $idHotel, 'fecha' => $fecha));
            $fecha_id = DAOFactory::getHotelFechasDAO()->insert($fechaHotel);
        }
        DAOFactory::getHotelCondicionDAO()->deleteByHotelId($idHotel);
        foreach ($condiciones as $cond) {
            $condicion = DAOFactory::getHotelCondicionDAO()->prepare(array('hotelId' => $idHotel, 'condicionId' => $cond));
            DAOFactory::getHotelCondicionDAO()->insert($condicion);
        }
        $condiciones_obligatorias = DAOFactory::getCondicionDAO()->queryByCondicionCategoriaId(1);
        foreach ($condiciones_obligatorias as $cond) {
            $condicion = DAOFactory::getHotelCondicionDAO()->prepare(array('hotelId' => $idHotel, 'condicionId' => $cond->id));
            DAOFactory::getHotelCondicionDAO()->insert($condicion);
        }
        DAOFactory::getHotelDominiosDAO()->deleteByHotelId($idHotel);
        foreach ($dominios as $dom) {
            $dominio = DAOFactory::getHotelDominiosDAO()->prepare(array('hotelId' => $idHotel, 'dominio' => $dom));
            DAOFactory::getHotelDominiosDAO()->insert($dominio);
        }
        DAOFactory::getPromocionDAO()->deleteByHotelId($idHotel);
        foreach ($promociones as $data_promocion) {
            $data_promocion['hotelId'] = $idHotel;
            $promocion = DAOFactory::getPromocionDAO()->prepare($data_promocion);
            DAOFactory::getPromocionDAO()->insert($promocion);
        }
        DAOFactory::getHotelPrecioDAO()->deleteByHotelId($idHotel);
        foreach ($precios as $data_precio) {
            $data_precio['hotelId'] = $idHotel;
            $precio = DAOFactory::getHotelPrecioDAO()->prepare($data_precio);
            DAOFactory::getHotelPrecioDAO()->insert($precio);
        }
        getClaveByHotel($idHotel);
        DAOFactory::getBlacklistDAO()->deleteByHotelId($idHotel);
        if ($data_blacklist) {
            foreach ($data_blacklist as $dbl) {
                $dbl['hotelId'] = $idHotel;
                $blacklist = DAOFactory::getBlacklistDAO()->prepare($dbl);
                DAOFactory::getBlacklistDAO()->insert($blacklist);
            }
        }
        actualizarSeo($idHotel);
        $transaction->commit();
        return $idHotel;
    } catch (Exception $e) {
        print_r($e);
        if ($transaction) {
            $transaction->rollback();
        }
        return false;
    }
}
Exemple #3
0
<?php

$logged = $usuario_core->validateUser();
if ($logged) {
    $usuario_core->hasAdminAccess('hotel');
    $usuario = $usuario_core->getUsuario();
    actualizarSeo();
    /*
    $hoteles = getHotelesByUsuario($usuario->id);
    
    $hs = array();
    foreach ($hoteles as $hotel) {
        if($hotel->campania->estado == 'Aprobada')
            $hs[] = $hotel;
    }
    
    $destinos = getAllDestinos();
    
    $smarty->assign('destinos', $destinos);
    
    $smarty->assign('hoteles',$hs);
    */
    $smarty->display('admin/hotel/lista.tpl');
}