goria']['id'], $entradasporcategoria)){ $entradasporcategoria[$categoria_publicacion['Categoria']['id']] = array(); } } } /*Cargamos las publicaciones*/ $conditions = 'Entrada.idseccion = '.Seccion::SECCION_PUBLICACIONES.' AND Entrada.visible = 1 AND Entrada.identrada IS NULL AND Entrada.fecha_publicacion <= "'.date('Y-m-d H:i:s').'" AND ( Entrada.fecha_finalizacion >= "'.date('Y-m-d H:i:s').'" OR Entrada.fecha_finalizacion IS NULL ) '; $QUERY_ENTRADAS = "SELECT DISTINCT (Entrada.id), Entrada.idseccion FROM entradas as Entrada WHERE ".$conditions." ORDER BY Entrada.titulo ASC"; $temp_publicaciones = $this->Entrada->query( $QUERY_ENTRADAS ); $conditions = 'Entrada_Traduccion.foreign_key IN ('.implode(',', $this->extraerids($temp_publicaciones, 'Entrada', 'id')).') AND Entrada_Traduccion.locale = "'.$this->IdiomaDefecto['Idioma']['iso_639_2'].'" AND Entrada_Traduccion.field = "titulo"'; $QUERY = "SELECT Entrada_Traduccion.foreign_key FROM entradas_i18n as Entrada_Traduccion WHERE ".$conditions." ORDER BY Entrada_Traduccion.content ASC"; $temp_publicaciones_orden = $this->Entrada->query( $QUERY ); $this->Entrada->bindTraduccionesCamposContenidos(true); $this->Entrada->expects( array( 'Seccion', 'Comentarios', 'Valoraciones', 'Etiquetas', 'Categorias' ) ); foreach($temp_publicaciones_orden as $identrada){ $this->Metadato->prepararMetadatos($this->Entrada, false, Seccion::SECCION_PUBLICACIONES); $metadados_publicaciones = $this->Metadato->cargarMetadatos( $identrada['Entrada_Traduccion']['foreign_key'], $this->IdiomaActivo['Idioma']['iso_639_2'], $this->Entrada ); $publicaciones[$identrada['Entrada_Traduccion']['foreign_key']] = $this->Entrada->read( null, $identrada['Entrada_Traduccion']['foreign_key'] ); $publicaciones[$identrada['Entrada_Traduccion']['foreign_key']]['Seccion'] = $this->seccionesindexadas[ Seccion::SECCION_PUBLICACIONES ]['Seccion']; if( count($metadados_publicaciones) > 0 ){ $publicaciones[$identrada['Entrada_Traduccion']['foreign_key']]['Metadatodata'] = $metadados_publicaciones['Metadatodata']; }else{ $publicaciones[$identrada['Entrada_Traduccion']['foreign_key']]['Metadatosdata'] = array(); } } unset($temp_publicaciones); foreach($categorias_publicaciones as $categoria){ foreach($publicaciones as $entrada){ if(count($entrada['Categorias']) > 0){ foreach($entrada['Categorias'] as $entrada_categoria){ if($categoria['Categoria']['id'] == $entrada_categoria['id']){ array_push($entradasporcategoria[$categoria['Categoria']['id']], $entrada); } } } } } foreach ($entradasporcategoria as $key => $entradacat) { if ( !$entradasporcategoria[$key] ){ unset( $entradasporcategoria[$key] ); } } $this->_ultimasnovas(); $this->_setEntradasMasvisitadas( $this->_seccion['Seccion']['id'], 8); $this->_setEntradasMasComentadas( $this->_seccion['Seccion']['id'], 8); $this->_setEntradasMejorValoradas( $this->_seccion['Seccion']['id'], 8); $this->_setUltimosComentarios( 'seccion', $this->_seccion['Seccion']['id']); $this->_setCategoriasCantidades( NULL, 'seccion', $this->_seccion['Seccion']['id'] ); $this->_setCategoriasIndexadas(); $this->_setEtiquetasCantidades( NULL, 'seccion', $this->_seccion['Seccion']['id']); $this->_setEtiquetasIndexadas(); $this->set( 'publicaciones', $entradasporcategoria ); } public function single_profesional() { $ventradas = array(); $entradas_gastronomicas = array(); $this->Entrada->bindTraduccionesCamposContenidos(true); $this->Entrada->expects( array('Seccion', 'Usuario', 'Comentarios', 'Valoraciones', 'Etiquetas', 'Categorias') ); if($this->_seccion['Seccion']['id'] == Seccion::SECCION_SCFC || $this->_seccion['Seccion']['id'] == Seccion::SECCION_SCCB) { $seccion = $this->Seccion->find( 'first', array( 'conditions' => array( 'Seccion.id' => $this->_seccion['Seccion']['id'] ) ) ); if($this->_seccion['Seccion']['id'] == Seccion::SECCION_SCFC ) { $entrada = $this->Entrada->find( 'first' , array( 'conditions' => array( 'Entrada.id' => 30405 ) ) ); }elseif($this->_seccion['Seccion']['id'] == Seccion::SECCION_SCCB ) { $entrada = $this->Entrada->find( 'first' , array( 'conditions' => array( 'Entrada.id' => 30403 ) ) ); } $entrada['Entrada']['idseccion'] = $this->_seccion['Seccion']['id']; $entrada['Entrada']['seo_url'] = $this->_seccion['Seccion']['seo_url']; $entrada['Entrada']['titulo'] = $this->_seccion['Seccion']['titulo']; $entrada['Seccion'] = $this->_seccion['Seccion']; $this->set( 'entrada', $entrada ); $this->set( 'seccion', $seccion ); } switch($this->_entrada['Entrada']['id']) { case 33587: case 33588: $entrada = $this->Entrada->find( 'first' , array( 'conditions' => array( 'Entrada.id' => 32921 ) ) ); $entrada['Entrada']['idseccion'] = $this->_seccion['Seccion']['id']; $entrada['Seccion'] = $this->_seccion['Seccion']; $this->set( 'entrada', $entrada ); break; case 33589: $entrada = $this->Entrada->find( 'first' , array( 'conditions' => array( 'Entrada.id' => 31377 ) ) ); $entrada['Entrada']['idseccion'] = $this->_seccion['Seccion']['id']; $entrada['Seccion'] = $this->_seccion['Seccion']; $this->set( 'entrada', $entrada ); break; } $entradas_relacionadas = $this->Entrada->find('all', array( 'conditions' => array ( 'Entrada.idseccion' => $this->_seccion['Seccion']['id'], 'Entrada.id <>' => $this->_entrada['Entrada']['id'], 'Entrada.visible' => 1, 'Entrada.identrada' => NULL ), 'limit' => 5, 'order' => array( 'I18n__titulo.content' => 'ASC' ) ) ); if($this->_seccion['Seccion']['id'] == Seccion::SECCION_PROFESIONAL_PRINCIPALES_ACCIONES){ if($this->_entrada['Entrada']['id'] == Entrada::ENTRADA_PROFESIONAL_PRINCIPALES_ACCIONES_GASTRONOMICAS){ $this->Entrada->expects( array('Seccion','Metadatodata') ); $this->Entrada->Metadatodata->setSource('entradas_metadatosdata_'.Seccion::SECCION_ACTIVIDADES_EVENTOS_GASTRONOMICOS); $entradas_gastronomicas = $this->Entrada->find('all',array( 'conditions' => array ( 'Entrada.idseccion' => Seccion::SECCION_ACTIVIDADES_EVENTOS_GASTRONOMICOS, 'Metadatodata.mostrar_en_profesional_turismo_de_santiago_principais_accions' => 1, 'Entrada.visible' => 1, 'Entrada.identrada' => NULL ), 'order' => array( 'I18n__titulo.content' => 'ASC' ) ) ); } } $this->set( 'entradas_gastronomicas', $entradas_gastronomicas); $this->set( 'entradas_relacionadas', $entradas_relacionadas ); $this->set( 'ventradas', $ventradas ); $this->_ultimasnovas(); $this->_setEntradasRelacionadas('RelacionesDeInteres', 'entradas_deinteres'); $this->_setEntradasMasvisitadas($this->_seccion['Seccion']['id'], 8); $this->_setEntradasMasComentadas($this->_seccion['Seccion']['id'], 8); $this->_setEntradasMejorValoradas($this->_seccion['Seccion']['id'], 8); $this->_setUltimosComentarios('seccion', $this->_seccion['Seccion']['id']); $this->_setEtiquetasCantidades( NULL, 'seccion', $this->_seccion['Seccion']['id']); $this->_setEtiquetasIndexadas(); /* cbarcala: AÑADO LAS CATEGORIAS DE LAS ACTIVIDADES PARA EL ELEMENTO buscador-central-reservas */ $categorias_actividades = $this->getCategoriasFiltradas( Seccion::SECCION_CENTRALRESERVAS_ACTIVIDADES ); foreach( $categorias_actividades as $id=>$cat ) { if ( $cat['NumeroEntradas'] == 0 ) { unset( $categorias_actividades[$id] ); } } $this->set('categorias_actividades', $categorias_actividades ); } public function single_profesional_novas() { $this->Entrada->expects( array('Seccion', 'Usuario','Etiquetas', 'Categorias') ); $entradas_relacionadas = $this->Entrada->find('all', array( 'conditions' => array ( 'Entrada.idseccion' => $this->_seccion['Seccion']['id'], 'Entrada.id <>' => $this->_entrada['Entrada']['id'], 'Entrada.visible' => 1, 'Entrada.identrada' => NULL ), 'limit' => 5, 'order' => array( 'Entrada.fecha_publicacion' => 'DESC' ) ) ); $this->set( 'entradas_relacionadas', $entradas_relacionadas ); $this->_setEntradasRelacionadas('RelacionesDeInteres', 'entradas_deinteres'); $this->_setEntradasMasvisitadas(Seccion::SECCION_NOVAS, 8); $this->_setEntradasMasComentadas(Seccion::SECCION_NOVAS, 8); $this->_setEntradasMejorValoradas(Seccion::SECCION_NOVAS, 8); $this->_setUltimosComentarios('seccion', Seccion::SECCION_NOVAS); $this->_setEtiquetasCantidades( NULL, 'seccion', Seccion::SECCION_NOVAS); $this->_setEtiquetasIndexadas(); } private function _ultimasnovas( $limit=5, $etiqueta=true, $idetiqueta=NULL) { $conditions = ''; $novas_ultimas = array(); $this->Entrada->bindTraduccionesCamposContenidos(true); if($idetiqueta) { if($etiqueta){ $conditions = ' EntradasEtiquetas.idetiqueta = '. $idetiqueta; }else{ $conditions = ' EntradasEtiquetas.idetiqueta != '. $idetiqueta; } } if($conditions != ''){ $conditions .= ' AND Entrada.idseccion = '.Seccion::SECCION_NOVAS.' AND Entrada.visible = 1 AND Entrada.fecha_publicacion <= "'.date('Y-m-d H:i:s').'" AND (Entrada.fecha_finalizacion >= "'.date('Y-m-d H:i:s').'" OR Entrada.fecha_finalizacion IS NULL)'; }else{ $conditions .= 'Entrada.idseccion = '.Seccion::SECCION_NOVAS.' AND Entrada.visible = 1 AND Entrada.fecha_publicacion <= "'.date('Y-m-d H:i:s').'" AND (Entrada.fecha_finalizacion >= "'.date('Y-m-d H:i:s').'" OR Entrada.fecha_finalizacion IS NULL)'; } $joins = 'LEFT JOIN entradas_etiquetas as EntradasEtiquetas ON Entrada.id = EntradasEtiquetas.identrada'; $QUERY = <<Entrada->query($QUERY); $this->Entrada->expects( array( 'Seccion', 'Comentarios', 'Valoraciones', 'Etiquetas', 'Categorias' ) ); foreach($novas_temp as $nova){ array_push($novas_ultimas, $this->Entrada->read( null, $nova['Entrada']['id'] ) ); } $this->set( 'novas_ultimas', $novas_ultimas); } public function single_profesional_calidad_turistica() { $conditions = array(); $joins = array(); $entradas_calidad_turistica = array(); $entradas_calidad_turistica_por_categoria[Categoria::ID_CATEGORIA_HOTEL] = array(); $entradas_calidad_turistica_por_categoria[Categoria::ID_CATEGORIA_PENSION] = array(); $entradas_calidad_turistica_hoteles = array(); $entradas_calidad_turistica_pensiones = array(); $this->Entrada->bindTraduccionesCamposContenidos(true); $this->Entrada->expects( array('Seccion', 'Usuario', 'Comentarios', 'Valoraciones', 'Etiquetas', 'Categorias') ); $conditions['Entrada.visible'] = 1; $conditions['Etiqueta.id'] = Etiqueta::ID_ETIQUETA_CALIDAD_TURISTICA; $joins = array( array( 'table' => 'entradas_etiquetas', 'alias' => 'EntradasEtiquetas', 'type' => 'LEFT', 'conditions' => 'Entrada.id = EntradasEtiquetas.identrada' ), array( 'table' => 'etiquetas', 'alias' => 'Etiqueta', 'type' => 'LEFT', 'conditions' => 'Etiqueta.id = EntradasEtiquetas.idetiqueta' ) ); switch ($this->_entrada['Entrada']['id']){ case Entrada::ENTRADA_SICTED_COMERCIOS: $conditions['Entrada.idseccion'] = Seccion::SECCION_ESTABLECIMIENTOS; break; case Entrada::ENTRADA_SICTED_HOTELES: $conditions['Entrada.idseccion'] = Seccion::SECCION_CENTRALRESERVAS_ALOJAMIENTOS; $conditions['CategoriaEntrada.idcategoria'] = array( Categoria::ID_CATEGORIA_HOTEL, Categoria::ID_CATEGORIA_PENSION ); array_push( $joins, array( 'table' => 'entradas_categorias', 'alias' => 'CategoriaEntrada', 'type' => 'LEFT', 'conditions' => 'Entrada.id = CategoriaEntrada.identrada' ) ); array_push( $joins, array( 'table' => 'categorias', 'alias' => 'Categoria', 'type' => 'LEFT', 'conditions' => 'Categoria.id = CategoriaEntrada.identrada' ) ); break; case Entrada::ENTRADA_SICTED_MUSEOS: $conditions['Entrada.idseccion'] = Seccion::SECCION_MUSEOS; break; case Entrada::ENTRADA_SICTED_RESTAURANTES: $conditions['Entrada.idseccion'] = Seccion::SECCION_RESTAURANTES; break; case Entrada::ENTRADA_SICTED_TURISMO_RURAL: $conditions['Entrada.idseccion'] = Seccion::SECCION_CENTRALRESERVAS_ALOJAMIENTOS; $conditions['Categoria.idcategoria'] = array(Categoria::ID_CATEGORIA_TURISMO_RURAL, Categoria::ID_CATEGORIA_OUTROS); array_push( $joins, array( 'table' => 'entradas_categorias', 'alias' => 'Categoria', 'type' => 'LEFT', 'conditions' => 'Entrada.id = Categoria.identrada' ) ); break; } if( $this->_entrada['Entrada']['id'] == Entrada::ENTRADA_SICTED_COMERCIOS || $this->_entrada['Entrada']['id'] == Entrada::ENTRADA_SICTED_HOTELES || $this->_entrada['Entrada']['id'] == Entrada::ENTRADA_SICTED_MUSEOS || $this->_entrada['Entrada']['id'] == Entrada::ENTRADA_SICTED_RESTAURANTES || $this->_entrada['Entrada']['id'] == Entrada::ENTRADA_SICTED_TURISMO_RURAL ){ $entradas_calidad_turistica = $this->Entrada->find('all', array( 'conditions' => $conditions, 'joins' => $joins, 'order' => array( 'Entrada.titulo' => 'ASC' ) ) ); if($this->_entrada['Entrada']['id'] == Entrada::ENTRADA_SICTED_HOTELES){ foreach($entradas_calidad_turistica as $entrada){ foreach($entrada['Categorias'] as $categoria){ if($categoria['id'] == Categoria::ID_CATEGORIA_PENSION){ array_push($entradas_calidad_turistica_pensiones, $entrada); }elseif($categoria['id'] == Categoria::ID_CATEGORIA_HOTEL){ array_push($entradas_calidad_turistica_hoteles, $entrada); } } } $entradas_calidad_turistica_por_categoria[Categoria::ID_CATEGORIA_HOTEL] = $entradas_calidad_turistica_hoteles; $entradas_calidad_turistica_por_categoria[Categoria::ID_CATEGORIA_PENSION] = $entradas_calidad_turistica_pensiones; //debug($entradas_calidad_turistica_por_categoria); $this->set( 'entradas_calidad_turistica', $entradas_calidad_turistica_por_categoria ); }else{ $this->set( 'entradas_calidad_turistica', $entradas_calidad_turistica ); } } $this->_ultimasnovas(); $this->_setEntradasRelacionadas('RelacionesDeInteres', 'entradas_deinteres'); $this->_setEntradasMasvisitadas($this->_seccion['Seccion']['id'], 8); $this->_setEntradasMasComentadas($this->_seccion['Seccion']['id'], 8); $this->_setEntradasMejorValoradas($this->_seccion['Seccion']['id'], 8); $this->_setUltimosComentarios('seccion', $this->_seccion['Seccion']['id']); $this->_setEtiquetasCantidades( NULL, 'seccion', $this->_seccion['Seccion']['id']); $this->_setEtiquetasIndexadas(); } public function estadisticas(){ $tipos_consultas = array( self::CONSULTA_TIPO_TODAS => 'Todas', self::CONSULTA_TIPO_PRESENCIAL => 'Presencial', self::CONSULTA_TIPO_NO_PRESENCIAL => 'No Presencial', ); $subtipos_consultas = array( self::CONSULTA_SUBTIPO_TELEFONICA => 'Telefónica', self::CONSULTA_SUBTIPO_SKYPE => 'Skype', self::CONSULTA_SUBTIPO_CHAT => 'Chat' ); $oficinas = array( 1 => 'Rúa do Vilar', 2 => 'Dársena Xoan XXIII', 3 => 'San Lázaro', 4 => 'Palacio de Congresos', 5 => 'Aeropuerto', 6 => 'Plaza de Galicia' ); $this->loadModel('EstadisticasProvincias'); $this->loadModel('EstadisticasComunidades'); $this->loadModel('EstadisticasPaises'); $this->loadModel('EstadisticasEntrada'); $provincias = $this->EstadisticasProvincias->find('all', array('order' => array( 'EstadisticasProvincias.provincia' => 'ASC')) ); $ccaa = $this->EstadisticasComunidades->find('all', array('order' => array( 'EstadisticasComunidades.comunidad_autonoma' => 'ASC')) ); $paises = $this->EstadisticasPaises->find('all', array('order' => array( 'EstadisticasPaises.nombre' => 'ASC')) ); $this->_ultimasnovas(); $this->set( 'provincias', $provincias ); $this->set( 'ccaa', $ccaa ); $this->set( 'paises', $paises ); $this->set( 'tipos_consultas', $tipos_consultas ); $this->set( 'subtipos_consultas', $subtipos_consultas ); $this->set( 'oficinas', $oficinas ); } /******** PROFESIONAL**********/ /******** SCCB *******/ public function home_sccb() { $this->_ultimasnovas(5, true, Etiqueta::ID_ETIQUETA_SCCB); $this->_setUltimosComentarios('seccion', $this->_seccion['Seccion']['id']); $this->_setEtiquetasCantidadesHome(75); $this->_setEtiquetasIndexadas(); $this->_setCategoriasIndexadas(); /* cbarcala: AÑADO LAS CATEGORIAS DE LAS ACTIVIDADES PARA EL ELEMENTO buscador-central-reservas */ $categorias_actividades = $this->getCategoriasFiltradas( Seccion::SECCION_CENTRALRESERVAS_ACTIVIDADES ); foreach( $categorias_actividades as $id=>$cat ) { if ( $cat['NumeroEntradas'] == 0 ) { unset( $categorias_actividades[$id] ); } } $this->set('categorias_actividades', $categorias_actividades ); } public function intro_seccion_sccb() { $subsecciones = array(); $subsecciones_temp = $this->extraerids($this->Seccion->children($this->_seccion['Seccion']['id']), 'Seccion', 'id'); foreach($subsecciones_temp as $subseccion){ if($this->seccionesindexadas[$subseccion]['Seccion']['visible'] && $this->seccionesindexadas[$subseccion]['Seccion']['activo']){ array_push( $subsecciones, $this->seccionesindexadas[$subseccion]); } } $this->_ultimasnovas(5, true, Etiqueta::ID_ETIQUETA_SCCB); $this->_setImagenesSubsecciones( $this->detectarredireccionseccion( $this->extraerids( $subsecciones, 'Seccion', 'id' ) ) ); $this->_setUltimosComentarios('seccion', $this->_seccion['Seccion']['id']); $this->_setEtiquetasCantidadesHome(75); $this->_setEtiquetasIndexadas(); $this->_setCategoriasIndexadas(); $this->set('etiquetas_cantidades', array()); $this->_setEntradasMasvisitadas( $this->extraerids( $this->_subsecciones, 'Seccion', 'id' ) ); $this->_setEntradasMasComentadas( $this->extraerids( $this->_subsecciones, 'Seccion', 'id' ) ); $this->_setEntradasMejorValoradas( $this->extraerids( $this->_subsecciones, 'Seccion', 'id' ) ); /* cbarcala: AÑADO LAS CATEGORIAS DE LAS ACTIVIDADES PARA EL ELEMENTO buscador-central-reservas */ $categorias_actividades = $this->getCategoriasFiltradas( Seccion::SECCION_CENTRALRESERVAS_ACTIVIDADES ); foreach( $categorias_actividades as $id=>$cat ) { if ( $cat['NumeroEntradas'] == 0 ) { unset( $categorias_actividades[$id] ); } } $this->set('categorias_actividades', $categorias_actividades ); $this->set( 'idsubseccion', $this->extraerids( $subsecciones, 'Seccion', 'id' ) ); $this->set( 'idsubsecredireccion', $this->detectarredireccionseccion( $this->extraerids( $subsecciones, 'Seccion', 'id' ) ) ); $this->set( 'subsecciones', $subsecciones ); } public function sccb_empresas_adheridas() { $empresas_adheridas = $this->_entradas; $entradasporcategoria = array(); $categorias_empresas = array(); $temp_empresas_adheridas = array(); $conditions = 'Categoria.idseccion = '.SECCION::SECCION_ORGANIZADORES_EVENTOS_SCCB_EMPRESAS_ADHERIDAS; $conditions .= ' AND Categoria.id != '.Categoria::ID_CATEGORIA_ZONAS; $conditions .= ' AND Categoria.mptt_parent IS NULL'; $QUERY = " SELECT Categoria.id FROM categorias as Categoria WHERE $conditions ORDER BY Categoria.titulo ASC"; //DEBUG($QUERY); $categorias_empresas = $this->Entrada->query( $QUERY ); foreach($categorias_empresas as $categoria){ //debug($categoria); $temp_empresas_adheridas = array(); foreach($empresas_adheridas as $entrada){ if(count($entrada['Categorias']) > 0){ foreach($entrada['Categorias'] as $entrada_categoria){ if($categoria['Categoria']['id'] == $entrada_categoria['id']){ array_push($temp_empresas_adheridas, $entrada); } } } } if(count($temp_empresas_adheridas) > 0){ $entradasporcategoria[$categoria['Categoria']['id']] = $temp_empresas_adheridas; } unset($temp_empresas_adheridas); } $this->_ultimasnovas(5, true, Etiqueta::ID_ETIQUETA_SCCB); $this->_setEntradasMasvisitadas($this->_seccion['Seccion']['id'], 8); $this->_setEntradasMasComentadas($this->_seccion['Seccion']['id'], 8); $this->_setEntradasMejorValoradas($this->_seccion['Seccion']['id'], 8); $this->_setUltimosComentarios('seccion', $this->_seccion['Seccion']['id']); $this->_setCategoriasCantidades( NULL, 'seccion', $this->_seccion['Seccion']['id'] ); $this->_setCategoriasIndexadas(); $this->_setEtiquetasCantidades( NULL, 'seccion', $this->_seccion['Seccion']['id']); $this->_setEtiquetasIndexadas(); $this->set( 'empresas_adheridas', $entradasporcategoria ); /* cbarcala: AÑADO LAS CATEGORIAS DE LAS ACTIVIDADES PARA EL ELEMENTO buscador-central-reservas */ $categorias_actividades = $this->getCategoriasFiltradas( Seccion::SECCION_CENTRALRESERVAS_ACTIVIDADES ); foreach( $categorias_actividades as $id=>$cat ) { if ( $cat['NumeroEntradas'] == 0 ) { unset( $categorias_actividades[$id] ); } } $this->set('categorias_actividades', $categorias_actividades ); } public function sccb_novas() { $novas_sccb = array(); $this->Entrada->bindTraduccionesCamposContenidos( true ); $this->Entrada->expects( array( 'Seccion', 'Comentarios', 'Valoraciones', 'Etiquetas', 'Categorias' ) ); $conditions = array( 'Entrada.idseccion' => Seccion::SECCION_NOVAS, 'AND' => array( array('Entrada.visible' => 1 ), array('Entrada.identrada' => NULL), array('Etiquetas.idetiqueta' => Etiqueta::ID_ETIQUETA_SCCB), array('Entrada.fecha_publicacion <=' => date('Y-m-d H:i:s') ), 'OR' => array( array('Entrada.fecha_finalizacion >=' => date( 'Y-m-d H:i:s' ) ), array('Entrada.fecha_finalizacion' => NULL) ) ) ); $joins = array ( array( 'table' => 'entradas_etiquetas', 'alias' => 'Etiquetas', 'type' => 'LEFT', 'conditions' => 'Entrada.id = Etiquetas.identrada' ), ); $page = null; /*if ( array_key_exists('page', $this->params['named'] ) ) { $page = $this->params['named']['page']; }*/ $direccion = 'asc'; $orden = array('Entrada.titulo'=>$direccion); switch( $this->_seccion['Seccion']['listado_orden_direccion'] ) { case Seccion::TIPO_DIRECCION_ASCENDIENTE: $direccion = 'asc'; break; case Seccion::TIPO_DIRECCION_DESCENDIENTE: $direccion = 'desc'; break; } switch( $this->_seccion['Seccion']['listado_orden_tipo'] ) { case Seccion::TIPO_ORDEN_ALFANUMERICO: $orden = array('Entrada.titulo'=> $direccion ); break; case Seccion::TIPO_ORDEN_CAMPO_ORDEN: $orden = array('Entrada.orden'=>$direccion); break; case Seccion::TIPO_ORDEN_PUBLICACION: $orden = array('Entrada.fecha_publicacion'=>$direccion); break; } $this->paginate = array( 'conditions' => $conditions, 'order' => $orden, 'joins' => $joins, 'limit' => $this->_seccion['Seccion']['listado_limite'], 'page' => $page ); $novas_sccb = $this->paginate( 'Entrada' ); $this->_ultimasnovas(5, true, Etiqueta::ID_ETIQUETA_SCCB); $this->_setEntradasMasvisitadas($this->_seccion['Seccion']['id'], 8); $this->_setEntradasMasComentadas($this->_seccion['Seccion']['id'], 8); $this->_setEntradasMejorValoradas($this->_seccion['Seccion']['id'], 8); $this->_setUltimosComentarios('seccion', $this->_seccion['Seccion']['id']); $this->_setCategoriasCantidades( NULL, 'seccion', $this->_seccion['Seccion']['id'] ); $this->_setCategoriasIndexadas(); $this->_setEtiquetasCantidades( NULL, 'seccion', $this->_seccion['Seccion']['id']); $this->_setEtiquetasIndexadas(); $this->set( 'entradas', $novas_sccb); /* cbarcala: AÑADO LAS CATEGORIAS DE LAS ACTIVIDADES PARA EL ELEMENTO buscador-central-reservas */ $categorias_actividades = $this->getCategoriasFiltradas( Seccion::SECCION_CENTRALRESERVAS_ACTIVIDADES ); foreach( $categorias_actividades as $id=>$cat ) { if ( $cat['NumeroEntradas'] == 0 ) { unset( $categorias_actividades[$id] ); } } $this->set('categorias_actividades', $categorias_actividades ); } public function sccb_listado(){ $this->listado_estatico(); $this->_ultimasnovas(5, true, Etiqueta::ID_ETIQUETA_SCCB); $this->_setUltimosComentarios('seccion', $this->_seccion['Seccion']['id']); $this->_setEtiquetasCantidadesHome(75); $this->_setEtiquetasIndexadas(); $this->_setCategoriasIndexadas(); /* cbarcala: AÑADO LAS CATEGORIAS DE LAS ACTIVIDADES PARA EL ELEMENTO buscador-central-reservas */ $categorias_actividades = $this->getCategoriasFiltradas( Seccion::SECCION_CENTRALRESERVAS_ACTIVIDADES ); foreach( $categorias_actividades as $id=>$cat ) { if ( $cat['NumeroEntradas'] == 0 ) { unset( $categorias_actividades[$id] ); } } $this->set('categorias_actividades', $categorias_actividades ); } public function sccb_single(){ $this->single_estatico(); $this->_ultimasnovas(5, true, Etiqueta::ID_ETIQUETA_SCCB); $this->_setUltimosComentarios('seccion', $this->_seccion['Seccion']['id']); $this->_setEtiquetasCantidadesHome(75); $this->_setEtiquetasIndexadas(); $this->_setCategoriasIndexadas(); /* cbarcala: AÑADO LAS CATEGORIAS DE LAS ACTIVIDADES PARA EL ELEMENTO buscador-central-reservas */ $categorias_actividades = $this->getCategoriasFiltradas( Seccion::SECCION_CENTRALRESERVAS_ACTIVIDADES ); foreach( $categorias_actividades as $id=>$cat ) { if ( $cat['NumeroEntradas'] == 0 ) { unset( $categorias_actividades[$id] ); } } $this->set('categorias_actividades', $categorias_actividades ); } /******** SCCB *******/ /******** SEMANA SANTA ********/ public function home_semana_santa() { $entradas_subsecciones = array(); $this->Entrada->bindTraduccionesCamposContenidos(true); $this->Entrada->expects( array('Seccion') ); $entradas_subsecciones = $this->Entrada->find('all', array( 'conditions' => array ( 'Entrada.visible' => 1, 'Entrada.idseccion' => $this->extraerids( $this->_subsecciones, 'Seccion', 'id' ), 'Entrada.archivo !=' => '' ) ) ); $this->set( 'entradas_subsecciones', $entradas_subsecciones ); if($this->_subsecciones){ $this->_setUltimosComentarios( 'seccion', $this->extraerids( $this->_subsecciones, 'Seccion', 'id' ) ); $this->_setEtiquetasCantidades( NULL, 'seccion', $this->extraerids( $this->_subsecciones, 'Seccion', 'id' ) ); /*$this->_setEntradasMasvisitadas( $this->extraerids( $this->_subsecciones, 'Seccion', 'id' ) ); $this->_setEntradasMasComentadas( $this->extraerids( $this->_subsecciones, 'Seccion', 'id' ) ); $this->_setEntradasMejorValoradas( $this->extraerids( $this->_subsecciones, 'Seccion', 'id' ) );*/ $this->_setImagenesSubsecciones( $this->detectarredireccionseccion( $this->extraerids( $this->_subsecciones, 'Seccion', 'id' ) ) ); $this->set( 'idsubseccion', $this->extraerids( $this->_subsecciones, 'Seccion', 'id' ) ); $this->set( 'idsubsecredireccion', $this->detectarredireccionseccion( $this->extraerids( $this->_subsecciones, 'Seccion', 'id' ) ) ); }else{ $this->_setUltimosComentarios( 'seccion', $this->_seccion['Seccion']['id'] ); /* $this->_setEntradasMasvisitadas( $this->_seccion['Seccion']['id'] ); $this->_setEntradasMasComentadas( $this->_seccion['Seccion']['id'] ); $this->_setEntradasMejorValoradas( $this->_seccion['Seccion']['id'] );*/ } $this->_setSemanaSantaEventos( date( 'Y-m-d' ), date( 'Y-m-d', strtotime("+1 day") ) ); /* cbarcala: AÑADO LAS CATEGORIAS DE LAS ACTIVIDADES PARA EL ELEMENTO buscador-central-reservas */ $categorias_actividades = $this->getCategoriasFiltradas( Seccion::SECCION_CENTRALRESERVAS_ACTIVIDADES ); foreach( $categorias_actividades as $id=>$cat ) { if ( $cat['NumeroEntradas'] == 0 ) { unset( $categorias_actividades[$id] ); } } $this->set('categorias_actividades', $categorias_actividades ); } public function intro_seccion_semana_santa() { $entradas_subsecciones = array(); $this->Entrada->bindTraduccionesCamposContenidos(); $this->Entrada->expects( array('Seccion','EntradaLocalizacion') ); $entradas_subsecciones = $this->Entrada->find('all', array( 'conditions' => array ( 'Entrada.visible' => 1, 'Entrada.idseccion' => $this->extraerids( $this->_subsecciones, 'Seccion', 'id' ), 'Entrada.archivo !=' => '' ) ) ); $this->set( 'entradas_subsecciones', $entradas_subsecciones ); if($this->_subsecciones){ $this->_setUltimosComentarios( 'seccion', $this->extraerids( $this->_subsecciones, 'Seccion', 'id' ) ); $this->_setEtiquetasCantidades( NULL, 'seccion', $this->extraerids( $this->_subsecciones, 'Seccion', 'id' ) ); /*$this->_setEntradasMasvisitadas( $this->extraerids( $this->_subsecciones, 'Seccion', 'id' ) ); $this->_setEntradasMasComentadas( $this->extraerids( $this->_subsecciones, 'Seccion', 'id' ) ); $this->_setEntradasMejorValoradas( $this->extraerids( $this->_subsecciones, 'Seccion', 'id' ) );*/ $this->_setImagenesSubsecciones( $this->detectarredireccionseccion( $this->extraerids( $this->_subsecciones, 'Seccion', 'id' ) ) ); $this->set( 'idsubseccion', $this->extraerids( $this->_subsecciones, 'Seccion', 'id' ) ); $this->set( 'idsubsecredireccion', $this->detectarredireccionseccion( $this->extraerids( $this->_subsecciones, 'Seccion', 'id' ) ) ); }else{ $this->_setUltimosComentarios( 'seccion', $this->_seccion['Seccion']['id'] ); /*$this->_setEntradasMasvisitadas( $this->_seccion['Seccion']['id'] ); $this->_setEntradasMasComentadas( $this->_seccion['Seccion']['id'] ); $this->_setEntradasMejorValoradas( $this->_seccion['Seccion']['id'] );*/ } /* cbarcala: AÑADO LAS CATEGORIAS DE LAS ACTIVIDADES PARA EL ELEMENTO buscador-central-reservas */ $categorias_actividades = $this->getCategoriasFiltradas( Seccion::SECCION_CENTRALRESERVAS_ACTIVIDADES ); foreach( $categorias_actividades as $id=>$cat ) { if ( $cat['NumeroEntradas'] == 0 ) { unset( $categorias_actividades[$id] ); } } $this->set('categorias_actividades', $categorias_actividades ); $this->_setSemanaSantaEventos( date( 'Y-m-d' ), date( 'Y-m-d', strtotime("+1 day") ) ); } public function listado_info_semana_santa() { $entradas_google = array(); $entradas_relacionadas = array(); $categorias = array(); $entradasporcategoria = array(); $categorias_listado = array(); $categorias = $this->Categoria->find( 'all', array( 'conditions' => array ( 'Categoria.idseccion' => $this->_seccion['Seccion']['id'] ) ) ); $this->Categoria->contain(); foreach( $categorias as $categoria ) { foreach($this->_entradas as $otra_entrada){ $categorias = $this->Categoria->query('SELECT Categoria.idcategoria FROM entradas_categorias as Categoria WHERE identrada = '.$otra_entrada['Entrada']['id'] ); foreach($categorias as $entrada_categoria){ $idcategoria = $entrada_categoria['Categoria']['idcategoria']; if( $idcategoria == $categoria['Categoria']['id'] ) { if ( !isset( $entradasporcategoria[ $idcategoria ] ) ) { $entradasporcategoria[ $idcategoria ] = array(); } array_push( $entradasporcategoria[ $idcategoria ], $otra_entrada['Entrada']['id'] ); } } } } $categorias_listado = $this->Categoria->generatetreelist( array('Categoria.idseccion'=>NULL, 'Categoria.idseccion'=>$this->_seccion['Seccion']['id']), '{n}.Categoria.seo_url', '{n}.Categoria.titulo', '--' ); $this->set( 'categorias_listado', $categorias_listado ); $this->set( 'entradasporcategoria', $entradasporcategoria ); //$subsecciones = $this->extraerids($this->Seccion->children(Seccion::SECCION_INFO_XERAL), 'Seccion', 'id'); //$this->_setEtiquetasCantidades( NULL, 'seccion', $this->_seccion['Seccion']['id'] ); $this->set('etiquetas_cantidades', array()); /*$this->_setCategoriasCantidades( NULL, 'seccion', $this->_seccion['Seccion']['id'] ); $this->_setEntradasMasvisitadas( $this->_seccion['Seccion']['id'] ); $this->_setEntradasMasComentadas( $this->_seccion['Seccion']['id'] ); $this->_setEntradasMejorValoradas( $this->_seccion['Seccion']['id'] );*/ $this->_setUltimosComentarios( 'seccion', $this->_seccion['Seccion']['id']); $this->_setImagenesSubsecciones( $this->detectarredireccionseccion( $this->extraerids( $this->_subsecciones, 'Seccion', 'id' ) ) ); $this->_setSemanaSantaEventos( date( 'Y-m-d' ), date( 'Y-m-d', strtotime("+1 day") ) ); /* cbarcala: AÑADO LAS CATEGORIAS DE LAS ACTIVIDADES PARA EL ELEMENTO buscador-central-reservas */ $categorias_actividades = $this->getCategoriasFiltradas( Seccion::SECCION_CENTRALRESERVAS_ACTIVIDADES ); foreach( $categorias_actividades as $id=>$cat ) { if ( $cat['NumeroEntradas'] == 0 ) { unset( $categorias_actividades[$id] ); } } $this->set('categorias_actividades', $categorias_actividades ); } public function listado_info_semana_santa_programa_musical() { $entradas_google = array(); $entradas_relacionadas = array(); $categorias = array(); $entradasporcategoria = array(); $categorias_listado = array(); $categorias = $this->Categoria->find( 'all', array( 'conditions' => array ( 'Categoria.idseccion' => $this->_seccion['Seccion']['id'] ) ) ); $this->Categoria->contain(); foreach($categorias as $categoria){ foreach($this->_entradas as $otra_entrada){ $categorias = $this->Categoria->query('SELECT Categoria.idcategoria FROM entradas_categorias as Categoria WHERE identrada = '.$otra_entrada['Entrada']['id'] ); foreach($categorias as $entrada_categoria){ $idcategoria = $entrada_categoria['Categoria']['idcategoria']; if( $idcategoria == $categoria['Categoria']['id'] ) { if ( !isset( $entradasporcategoria[ $idcategoria ] ) ) { $entradasporcategoria[ $idcategoria ] = array(); } array_push( $entradasporcategoria[ $idcategoria ], $otra_entrada['Entrada']['id'] ); } } } } $categorias_listado = $this->Categoria->generatetreelist( array('Categoria.idseccion'=>NULL, 'Categoria.idseccion'=>$this->_seccion['Seccion']['id']), '{n}.Categoria.seo_url', '{n}.Categoria.titulo', '--' ); $this->set( 'categorias_listado', $categorias_listado ); $this->set( 'entradasporcategoria', $entradasporcategoria ); $this->Entrada->bindTraduccionesCamposContenidos(true); $this->Entrada->expects( array('Seccion', 'Usuario', 'Comentarios', 'Valoraciones', 'Etiquetas', 'Categorias', 'EntradaLocalizacion', 'Metadatodata') ); $this->Metadatodata->setSource('entradas_metadatosdata_'.SECCION::SECCION_AXENDA); $entradas = $this->Entrada->find( 'all' , array( 'conditions' => array( 'Entrada.idseccion' => SECCION::SECCION_AXENDA, 'Etiquetas.idetiqueta' => ETIQUETA::ID_ETIQUETA_SEMANA_SANTA, 'Categorias.idcategoria' => CATEGORIA::ID_CATEGORIA_AGENDA_CULTURAL_MUSICA, 'AND' => array( array('Entrada.visible' => 1 ), array('Entrada.identrada' => NULL), array('Entrada.fecha_publicacion <=' => date('Y-m-d H:i:s') ), 'OR' => array( array('Entrada.fecha_finalizacion >=' => date( 'Y-m-d H:i:s' ) ), array('Entrada.fecha_finalizacion' => NULL) ) ) ), 'joins' => array ( array( 'table' => 'entradas_etiquetas', 'alias' => 'Etiquetas', 'type' => 'LEFT', 'conditions' => 'Entrada.id = Etiquetas.identrada'), array( 'table' => 'entradas_categorias', 'alias' => 'Categorias', 'type' => 'LEFT', 'conditions' => 'Entrada.id = Categorias.identrada' ), ), 'order' => array( 'Metadatodata.fecha_de_inicio' => 'ASC') ) ); foreach($entradas as &$entrada){ $this->Metadato->prepararMetadatos( $this->Entrada , false , Seccion::SECCION_AXENDA ); $metadatosdata = $this->Metadato->cargarMetadatos( $entrada['Entrada']['id'], $this->IdiomaActivo['Idioma']['iso_639_2'], $this->Entrada ); $entrada['Metadatodata'] = $metadatosdata['Metadatodata']; $entrada['Seccion'] = $this->seccionesindexadas[SECCION::SECCION_SEMANA_SANTA_PROGRAMA_MUSICAL]['Seccion']; $entrada['Entrada']['idseccion'] = SECCION::SECCION_SEMANA_SANTA_PROGRAMA_MUSICAL; } $this->set( 'entradas', $entradas ); //$subsecciones = $this->extraerids($this->Seccion->children(Seccion::SECCION_INFO_XERAL), 'Seccion', 'id'); $this->_setEtiquetasCantidades( NULL, 'seccion', $this->_seccion['Seccion']['id'] ); /*$this->_setCategoriasCantidades( NULL, 'seccion', $this->_seccion['Seccion']['id'] ); $this->_setEntradasMasvisitadas( $this->_seccion['Seccion']['id'] ); $this->_setEntradasMasComentadas( $this->_seccion['Seccion']['id'] ); $this->_setEntradasMejorValoradas( $this->_seccion['Seccion']['id'] );*/ $this->_setUltimosComentarios( 'seccion', $this->_seccion['Seccion']['id']); $this->_setImagenesSubsecciones( $this->detectarredireccionseccion( $this->extraerids( $this->_subsecciones, 'Seccion', 'id' ) ) ); $this->_setSemanaSantaEventos( date( 'Y-m-d' ), date( 'Y-m-d', strtotime("+1 day") ) ); /* cbarcala: AÑADO LAS CATEGORIAS DE LAS ACTIVIDADES PARA EL ELEMENTO buscador-central-reservas */ $categorias_actividades = $this->getCategoriasFiltradas( Seccion::SECCION_CENTRALRESERVAS_ACTIVIDADES ); foreach( $categorias_actividades as $id=>$cat ) { if ( $cat['NumeroEntradas'] == 0 ) { unset( $categorias_actividades[$id] ); } } $this->set('categorias_actividades', $categorias_actividades ); } public function listado_info_semana_santa_procesiones() { $entradas_google = array(); $entradas_relacionadas = array(); $categorias = array(); $entradasporcategoria = array(); $categorias_listado = array(); $categorias = $this->Categoria->find( 'all', array( 'conditions' => array ( 'Categoria.idseccion' => $this->_seccion['Seccion']['id'] ) ) ); $this->Categoria->contain(); foreach($categorias as $categoria){ foreach($this->_entradas as $otra_entrada){ $categorias = $this->Categoria->query('SELECT Categoria.idcategoria FROM entradas_categorias as Categoria WHERE identrada = '.$otra_entrada['Entrada']['id'] ); foreach($categorias as $entrada_categoria){ $idcategoria = $entrada_categoria['Categoria']['idcategoria']; if( $idcategoria == $categoria['Categoria']['id'] ) { if ( !isset( $entradasporcategoria[ $idcategoria ] ) ) { $entradasporcategoria[ $idcategoria ] = array(); } array_push( $entradasporcategoria[ $idcategoria ], $otra_entrada['Entrada']['id'] ); } } } } $categorias_listado = $this->Categoria->generatetreelist( array('Categoria.idseccion'=>NULL, 'Categoria.idseccion'=>$this->_seccion['Seccion']['id']), '{n}.Categoria.seo_url', '{n}.Categoria.titulo', '--' ); $this->set( 'categorias_listado', $categorias_listado ); $this->set( 'entradasporcategoria', $entradasporcategoria ); $identradas = array(); $conditions = 'Entrada.idseccion = '.Seccion::SECCION_AXENDA.' AND Etiqueta.idetiqueta = '.ETIQUETA::ID_ETIQUETA_SEMANA_SANTA.' OR Etiqueta.idetiqueta = '.ETIQUETA::ID_ETIQUETA_PROCESIONES.' AND Entrada.visible = 1 AND Entrada.fecha_publicacion <= "'.date('Y-m-d H:i:s').'" AND (Entrada.fecha_finalizacion >= "'.date('Y-m-d H:i:s').'" OR Entrada.fecha_finalizacion IS NULL)'; $QUERY = "SELECT DISTINCT Etiqueta.identrada, COUNT(Etiqueta.identrada) as numero FROM entradas_etiquetas as Etiqueta LEFT JOIN entradas as Entrada ON Etiqueta.identrada = Entrada.id WHERE {$conditions} GROUP BY Etiqueta.identrada ORDER BY Entrada.orden ASC"; $tmp_identradas = $this->Entrada->query($QUERY); if($tmp_identradas){ foreach ($tmp_identradas as $tmp_identrada) { if($tmp_identrada[0]['numero'] == 2){ if(!in_array($tmp_identrada['Etiqueta']['identrada'], $identradas)){ array_push($identradas, $tmp_identrada['Etiqueta']['identrada']); } } } } if($identradas){ $this->Entrada->bindTraduccionesCamposContenidos(true); $this->Entrada->expects( array('Seccion', 'Usuario', 'Comentarios', 'Valoraciones', 'Etiquetas', 'Categorias', 'EntradaLocalizacion', 'Metadatodata' ) ); $this->Metadatodata->setSource('entradas_metadatosdata_'.SECCION::SECCION_AXENDA); $entradas = $this->Entrada->find( 'all' , array( 'conditions' => array( 'Entrada.id' => $identradas, 'Entrada.visible' => 1, 'Entrada.identrada' => NULL ), 'order' => array( 'Metadatodata.fecha_de_inicio' => 'ASC') ) ); foreach($entradas as &$entrada){ $this->Metadato->prepararMetadatos( $this->Entrada , false , Seccion::SECCION_AXENDA ); $metadatosdata = $this->Metadato->cargarMetadatos( $entrada['Entrada']['id'], $this->IdiomaActivo['Idioma']['iso_639_2'], $this->Entrada ); $entrada['Metadatodata'] = $metadatosdata['Metadatodata']; $entrada['Seccion'] = $this->seccionesindexadas[SECCION::SECCION_SEMANA_SANTA_PROCESIONES]['Seccion']; $entrada['Entrada']['idseccion'] = SECCION::SECCION_SEMANA_SANTA_PROCESIONES; } }else{ $entradas = array(); } $this->set( 'entradas', $entradas); //$subsecciones = $this->extraerids($this->Seccion->children(Seccion::SECCION_INFO_XERAL), 'Seccion', 'id'); $this->_setEtiquetasCantidades( NULL, 'seccion', $this->_seccion['Seccion']['id'] ); /*$this->_setCategoriasCantidades( NULL, 'seccion', $this->_seccion['Seccion']['id'] ); $this->_setEntradasMasvisitadas( $this->_seccion['Seccion']['id'] ); $this->_setEntradasMasComentadas( $this->_seccion['Seccion']['id'] ); $this->_setEntradasMejorValoradas( $this->_seccion['Seccion']['id'] );*/ $this->_setUltimosComentarios( 'seccion', $this->_seccion['Seccion']['id']); $this->_setImagenesSubsecciones( $this->detectarredireccionseccion( $this->extraerids( $this->_subsecciones, 'Seccion', 'id' ) ) ); $this->_setSemanaSantaEventos( date( 'Y-m-d' ), date( 'Y-m-d', strtotime("+1 day") ) ); /* cbarcala: AÑADO LAS CATEGORIAS DE LAS ACTIVIDADES PARA EL ELEMENTO buscador-central-reservas */ $categorias_actividades = $this->getCategoriasFiltradas( Seccion::SECCION_CENTRALRESERVAS_ACTIVIDADES ); foreach( $categorias_actividades as $id=>$cat ) { if ( $cat['NumeroEntradas'] == 0 ) { unset( $categorias_actividades[$id] ); } } $this->set('categorias_actividades', $categorias_actividades ); } public function listado_info_semana_santa_culto_y_liturgia() { $entradas_google = array(); $entradas_relacionadas = array(); $categorias = array(); $entradasporcategoria = array(); $categorias_listado = array(); $categorias = $this->Categoria->find( 'all', array( 'conditions' => array ( 'Categoria.idseccion' => $this->_seccion['Seccion']['id'] ) ) ); $this->Categoria->contain(); foreach($categorias as $categoria){ foreach($this->_entradas as $otra_entrada){ $categorias = $this->Categoria->query('SELECT Categoria.idcategoria FROM entradas_categorias as Categoria WHERE identrada = '.$otra_entrada['Entrada']['id'] ); foreach($categorias as $entrada_categoria){ $idcategoria = $entrada_categoria['Categoria']['idcategoria']; if( $idcategoria == $categoria['Categoria']['id'] ) { if ( !isset( $entradasporcategoria[ $idcategoria ] ) ) { $entradasporcategoria[ $idcategoria ] = array(); } array_push( $entradasporcategoria[ $idcategoria ], $otra_entrada['Entrada']['id'] ); } } } } $categorias_listado = $this->Categoria->generatetreelist( array('Categoria.idseccion'=>NULL, 'Categoria.idseccion'=>$this->_seccion['Seccion']['id']), '{n}.Categoria.seo_url', '{n}.Categoria.titulo', '--' ); $this->set( 'categorias_listado', $categorias_listado ); $this->set( 'entradasporcategoria', $entradasporcategoria ); $identradas = array(); $conditions = 'Entrada.idseccion = '.Seccion::SECCION_AXENDA.' AND Etiqueta.idetiqueta = '.ETIQUETA::ID_ETIQUETA_SEMANA_SANTA.' OR Etiqueta.idetiqueta = '.ETIQUETA::ID_ETIQUETA_CULTO_Y_LITURGIA.' AND Entrada.visible = 1 AND Entrada.fecha_publicacion <= "'.date('Y-m-d H:i:s').'" AND (Entrada.fecha_finalizacion >= "'.date('Y-m-d H:i:s').'" OR Entrada.fecha_finalizacion IS NULL)'; $QUERY = "SELECT DISTINCT Etiqueta.identrada, COUNT(Etiqueta.identrada) as numero FROM entradas_etiquetas as Etiqueta LEFT JOIN entradas as Entrada ON Etiqueta.identrada = Entrada.id WHERE {$conditions} GROUP BY Etiqueta.identrada ORDER BY Entrada.orden DESC"; $tmp_identradas = $this->Entrada->query($QUERY); if($tmp_identradas){ foreach ($tmp_identradas as $tmp_identrada) { if($tmp_identrada[0]['numero'] == 2){ if(!in_array($tmp_identrada['Etiqueta']['identrada'], $identradas)){ array_push($identradas, $tmp_identrada['Etiqueta']['identrada']); } } } } if($identradas){ $this->Entrada->bindTraduccionesCamposContenidos(true); $this->Entrada->expects( array('Seccion', 'Usuario', 'Comentarios', 'Valoraciones', 'Etiquetas', 'Categorias', 'EntradaLocalizacion', 'Metadatodata') ); $this->Metadatodata->setSource('entradas_metadatosdata_'.SECCION::SECCION_AXENDA); $entradas = $this->Entrada->find( 'all' , array( 'conditions' => array( 'Entrada.id' => $identradas, 'Entrada.visible' => 1, 'Entrada.identrada' => NULL ), 'order' => array( 'Metadatodata.fecha_de_inicio' => 'ASC') ) ); foreach($entradas as &$entrada){ $this->Metadato->prepararMetadatos( $this->Entrada , false , Seccion::SECCION_AXENDA ); $metadatosdata = $this->Metadato->cargarMetadatos( $entrada['Entrada']['id'], $this->IdiomaActivo['Idioma']['iso_639_2'], $this->Entrada ); $entrada['Metadatodata'] = $metadatosdata['Metadatodata']; $entrada['Seccion'] = $this->seccionesindexadas[SECCION::SECCION_SEMANA_SANTA_LITURGIA]['Seccion']; $entrada['Entrada']['idseccion'] = SECCION::SECCION_SEMANA_SANTA_LITURGIA; } }else{ $entradas = array(); } $this->set( 'entradas', $entradas); $this->_setEtiquetasCantidades( NULL, 'seccion', $this->_seccion['Seccion']['id'] ); /*$this->_setCategoriasCantidades( NULL, 'seccion', $this->_seccion['Seccion']['id'] );*/ $this->_setUltimosComentarios( 'seccion', $this->_seccion['Seccion']['id']); $this->_setImagenesSubsecciones( $this->detectarredireccionseccion( $this->extraerids( $this->_subsecciones, 'Seccion', 'id' ) ) ); $this->_setSemanaSantaEventos( date( 'Y-m-d' ), date( 'Y-m-d', strtotime("+1 day") ) ); /* cbarcala: AÑADO LAS CATEGORIAS DE LAS ACTIVIDADES PARA EL ELEMENTO buscador-central-reservas */ $categorias_actividades = $this->getCategoriasFiltradas( Seccion::SECCION_CENTRALRESERVAS_ACTIVIDADES ); foreach( $categorias_actividades as $id=>$cat ) { if ( $cat['NumeroEntradas'] == 0 ) { unset( $categorias_actividades[$id] ); } } $this->set('categorias_actividades', $categorias_actividades ); } public function listado_galeria_semana_santa(){ $this->Entrada->bindTraduccionesCamposContenidos( true ); $this->Entrada->expects( array('Seccion') ); $conditions = array( 'Entrada.idseccion' => $this->_seccion['Seccion']['id'], 'AND' => array( array('Entrada.visible' => 1 ), array('Entrada.identrada' => NULL), array('Entrada.fecha_publicacion <=' => date('Y-m-d H:i:s') ), 'OR' => array( array('Entrada.fecha_finalizacion >=' => date( 'Y-m-d H:i:s' ) ), array('Entrada.fecha_finalizacion' => NULL) ) ) ); $page = null; if ( array_key_exists('page', $this->params['named'] ) ) { $page = $this->params['named']['page']; } $direccion = 'asc'; $orden = array('Entrada.titulo'=>$direccion); switch( $this->_seccion['Seccion']['listado_orden_direccion'] ) { case Seccion::TIPO_DIRECCION_ASCENDIENTE: $direccion = 'asc'; break; case Seccion::TIPO_DIRECCION_DESCENDIENTE: $direccion = 'desc'; break; } switch( $this->_seccion['Seccion']['listado_orden_tipo'] ) { case Seccion::TIPO_ORDEN_ALFANUMERICO: $orden = array('Entrada.titulo'=> $direccion ); break; case Seccion::TIPO_ORDEN_CAMPO_ORDEN: $orden = array('Entrada.orden'=>$direccion); break; case Seccion::TIPO_ORDEN_PUBLICACION: $orden = array('Entrada.fecha_publicacion'=>$direccion); break; } $this->paginate = array( 'conditions' => $conditions, 'order' => $orden, 'limit' => $this->_seccion['Seccion']['listado_limite'], 'page' => $page ); $entradas = $this->paginate( 'Entrada' ); /*$this->_setEntradasMasvisitadas( $this->_seccion['Seccion']['id'] ); $this->_setEntradasMasComentadas( $this->_seccion['Seccion']['id'] ); $this->_setEntradasMejorValoradas( $this->_seccion['Seccion']['id'] );*/ $this->_setEtiquetasCantidades( NULL , 'seccion', $this->_seccion['Seccion']['id'] ); $this->_setUltimosComentarios( 'seccion', $this->_seccion['Seccion']['id']); $this->_setSemanaSantaEventos( date( 'Y-m-d' ), date( 'Y-m-d', strtotime("+1 day") ) ); /* cbarcala: AÑADO LAS CATEGORIAS DE LAS ACTIVIDADES PARA EL ELEMENTO buscador-central-reservas */ $categorias_actividades = $this->getCategoriasFiltradas( Seccion::SECCION_CENTRALRESERVAS_ACTIVIDADES ); foreach( $categorias_actividades as $id=>$cat ) { if ( $cat['NumeroEntradas'] == 0 ) { unset( $categorias_actividades[$id] ); } } $this->set('categorias_actividades', $categorias_actividades ); } public function single_info_semana_santa() { //$subsecciones = $this->extraerids($this->Seccion->children(Seccion::SECCION_INFO_XERAL), 'Seccion', 'id'); $entradas_single = array(); $entradas_google = array(); $entradas_relacionadas = array(); $ventradas = array(); $entrada_localizacion = array(); $contenido_usuarios = array(); $this->Entrada->bindTraduccionesCamposContenidos(true); $this->Entrada->expects( array('Seccion', 'Usuario', 'Comentarios', 'Valoraciones', 'Etiquetas', 'Categorias', 'EntradaLocalizacion') ); /*$entradas_google = $this->Entrada->find('all', array( 'conditions' => array ( 'Entrada.idseccion' => $this->_seccion['Seccion']['id'], 'Entrada.id <>' => $this->_entrada['Entrada']['id'], 'Entrada.visible' => 1, 'Entrada.identrada' => NULL ), 'order' => array( 'I18n__titulo.content' => 'ASC' ) ) );*/ $entradas_relacionadas = $this->Entrada->find('all', array( 'conditions' => array ( 'Entrada.idseccion' => $this->_seccion['Seccion']['id'], 'Entrada.id <>' => $this->_entrada['Entrada']['id'], 'Entrada.visible' => 1, 'Entrada.identrada' => NULL ), 'limit' => 5, 'order' => array( 'I18n__titulo.content' => 'ASC' ) ) ); $conditions = array( 'Entrada.id' => $this->_entrada['Entrada']['id'] ); $entrada = $this->Entrada->find('first', array( 'conditions' => $conditions, ) ); //$this->set( 'entradas_google', $entradas_google ); $this->set( 'ventradas', $ventradas ); $this->set( 'entradas_relacionadas', $entradas_relacionadas ); /*$this->_setEntradasMasvisitadas( $this->_seccion['Seccion']['id'] ); $this->_setEntradasMasComentadas( $this->_seccion['Seccion']['id'] ); $this->_setEntradasMejorValoradas( $this->_seccion['Seccion']['id'] );*/ $this->set( 'entrada', $entrada ); $this->_setEntradasRelacionadas('RelacionesDeInteres', 'entradas_deinteres'); $this->_setEtiquetasCantidades( $this->extraerids( $this->_entrada['Etiquetas'] ), 'seccion', $this->_entrada['Entrada']['idseccion'] ); $this->_setUltimosComentarios( 'entrada', $this->_entrada['Entrada']['id']); $this->_setSemanaSantaEventos( date( 'Y-m-d' ), date( 'Y-m-d', strtotime("+1 day") ) ); /* cbarcala: AÑADO LAS CATEGORIAS DE LAS ACTIVIDADES PARA EL ELEMENTO buscador-central-reservas */ $categorias_actividades = $this->getCategoriasFiltradas( Seccion::SECCION_CENTRALRESERVAS_ACTIVIDADES ); foreach( $categorias_actividades as $id=>$cat ) { if ( $cat['NumeroEntradas'] == 0 ) { unset( $categorias_actividades[$id] ); } } $this->set('categorias_actividades', $categorias_actividades ); } public function single_info_semana_santa_programa_musical() { $entradas_single = array(); $entradas_google = array(); $entradas_relacionadas = array(); $entrada_localizacion = array(); $ventradas = array(); if ( count( $this->params['pass'] ) > 1 ) { $this->Entrada->bindTraduccionesCamposContenidos(true); $this->Entrada->expects( array('Seccion', 'Usuario', 'Comentarios', 'Valoraciones', 'EntradaLocalizacion') ); $conditions = array( 'Entrada.seo_url' => $this->params['pass'][ count($this->params['pass'])-1 ], 'Entrada.idseccion' => Seccion::SECCION_AXENDA ); $evento_programa_musical = $this->Entrada->find('first', array( 'conditions' => $conditions, ) ); //CARGO DE NUEVO LOS COMENTARIOS POR QUE NO TRAE LA RELACION DEL USUARIO $this->Comentario->contain( 'Usuario' ); $comentarios = $this->Comentario->find('all', array( 'conditions' => array( 'Comentario.id' => $this->extraerids( $evento_programa_musical['Comentarios'] ) ) ) ); $evento_programa_musical['Comentarios'] = $comentarios; $this->Metadato->prepararMetadatos( $this->Entrada , false , Seccion::SECCION_AXENDA ); $metadatosdata = $this->Metadato->cargarMetadatos( $evento_programa_musical['Entrada']['id'], $this->IdiomaActivo['Idioma']['iso_639_2'], $this->Entrada ); $evento_programa_musical['Metadatodata'] = $metadatosdata['Metadatodata']; } $this->pageTitle = $evento_programa_musical['Entrada']['titulo'].' » '.$this->_seccion['Seccion']['titulo'][$this->IdiomaActivo['Idioma']['iso_639_2']].' » '.$this->dominio; $this->set('metadescription', $evento_programa_musical['Entrada']['seo_meta_descripcion'] ); $this->set('metakeywords', '' ); $this->Entrada->bindTraduccionesCamposContenidos(true); $this->Entrada->expects( array('Seccion', 'Usuario', 'Comentarios', 'Valoraciones', 'Etiquetas', 'Categorias', 'EntradaLocalizacion') ); $entradas_relacionadas = $this->Entrada->find( 'all' , array( 'conditions' => array( 'Entrada.idseccion' => SECCION::SECCION_AXENDA, 'Entrada.id <>' => $evento_programa_musical['Entrada']['id'], 'Etiquetas.idetiqueta' => ETIQUETA::ID_ETIQUETA_SEMANA_SANTA, 'Categorias.idcategoria' => CATEGORIA::ID_CATEGORIA_AGENDA_CULTURAL_MUSICA, 'AND' => array( array('Entrada.visible' => 1 ), array('Entrada.identrada' => NULL), array('Entrada.fecha_publicacion <=' => date('Y-m-d H:i:s') ), 'OR' => array( array('Entrada.fecha_finalizacion >=' => date( 'Y-m-d H:i:s' ) ), array('Entrada.fecha_finalizacion' => NULL) ) ) ), 'joins' => array ( array( 'table' => 'entradas_etiquetas', 'alias' => 'Etiquetas', 'type' => 'LEFT', 'conditions' => 'Entrada.id = Etiquetas.identrada'), array( 'table' => 'entradas_categorias', 'alias' => 'Categorias', 'type' => 'LEFT', 'conditions' => 'Entrada.id = Categorias.identrada' ), ), 'limit' => 5, 'order' => array( 'I18n__titulo.content' => 'ASC' ) ) ); $this->Entrada->bindTraduccionesCamposContenidos(true); $this->Entrada->expects( array('Seccion', 'Usuario', 'Comentarios', 'Valoraciones', 'Etiquetas', 'Categorias', 'EntradaLocalizacion') ); if( array_key_exists( 'localizacion_identrada', $this->_entrada['Entrada'] ) ) { if( $evento_programa_musical['Entrada']['localizacion_identrada'] != NULL && $evento_programa_musical['Entrada']['localizacion_identrada'] != '' ) { $entrada_localizacion = $this->Entrada->find( 'first',array( 'conditions' => array ( 'Entrada.id' => $evento_programa_musical['Entrada']['localizacion_identrada'], 'Entrada.visible' => 1 ), ) ); } } /*$entradas_google = $this->Entrada->find('all', array( 'conditions' => array ( 'Entrada.idseccion' => $this->_seccion['Seccion']['id'], 'Entrada.id <>' => $this->_entrada['Entrada']['id'], 'Entrada.visible' => 1, 'Entrada.identrada' => NULL ), 'order' => array( 'I18n__titulo.content' => 'ASC' ) ) );*/ //$this->set( 'entradas_google', $entradas_google ); $this->set( 'entradas_relacionadas', $entradas_relacionadas ); $this->set( 'entrada_localizacion', $entrada_localizacion ); $this->set( 'entrada', $evento_programa_musical ); $this->set( 'ventradas', $ventradas ); /*$this->_setEntradasMasvisitadas( SECCION::SECCION_SEMANA_SANTA_PROGRAMA_MUSICAL ); $this->_setEntradasMasComentadas( SECCION::SECCION_SEMANA_SANTA_PROGRAMA_MUSICAL ); $this->_setEntradasMejorValoradas( SECCION::SECCION_SEMANA_SANTA_PROGRAMA_MUSICAL );*/ $this->_setEtiquetasCantidades( NULL, 'seccion', SECCION::SECCION_SEMANA_SANTA_PROGRAMA_MUSICAL ); $this->_setUltimosComentarios( 'entrada', $evento_programa_musical['Entrada']['id']); $this->_setSemanaSantaEventos( date( 'Y-m-d' ), date( 'Y-m-d', strtotime("+1 day") ) ); /* cbarcala: AÑADO LAS CATEGORIAS DE LAS ACTIVIDADES PARA EL ELEMENTO buscador-central-reservas */ $categorias_actividades = $this->getCategoriasFiltradas( Seccion::SECCION_CENTRALRESERVAS_ACTIVIDADES ); foreach( $categorias_actividades as $id=>$cat ) { if ( $cat['NumeroEntradas'] == 0 ) { unset( $categorias_actividades[$id] ); } } $this->set('categorias_actividades', $categorias_actividades ); } public function single_info_semana_santa_procesiones() { $entradas_single = array(); $entradas_google = array(); $entradas_relacionadas = array(); $entrada_localizacion = array(); $ventradas = array(); if ( count( $this->params['pass'] ) > 1 ) { $this->Entrada->bindTraduccionesCamposContenidos(true); $this->Entrada->expects( array('Seccion', 'Usuario', 'Comentarios', 'Valoraciones', 'EntradaLocalizacion') ); $conditions = array( 'Entrada.seo_url' => $this->params['pass'][ count($this->params['pass'])-1 ], 'Entrada.idseccion' => Seccion::SECCION_AXENDA ); $evento_programa_musical = $this->Entrada->find('first', array( 'conditions' => $conditions, ) ); //CARGO DE NUEVO LOS COMENTARIOS POR QUE NO TRAE LA RELACION DEL USUARIO $this->Comentario->contain( 'Usuario' ); $comentarios = $this->Comentario->find('all', array( 'conditions' => array( 'Comentario.id' => $this->extraerids( $evento_programa_musical['Comentarios'] ) ) ) ); $evento_programa_musical['Comentarios'] = $comentarios; $this->Metadato->prepararMetadatos( $this->Entrada , false , Seccion::SECCION_AXENDA ); $metadatosdata = $this->Metadato->cargarMetadatos( $evento_programa_musical['Entrada']['id'], $this->IdiomaActivo['Idioma']['iso_639_2'], $this->Entrada ); $evento_programa_musical['Metadatodata'] = $metadatosdata['Metadatodata']; } $this->pageTitle = $evento_programa_musical['Entrada']['titulo'].' » '.$this->_seccion['Seccion']['titulo'][$this->IdiomaActivo['Idioma']['iso_639_2']].' » '.$this->dominio; $this->set('metadescription', $evento_programa_musical['Entrada']['seo_meta_descripcion'] ); $this->set('metakeywords', '' ); $identradas = array(); $conditions = 'Entrada.idseccion = '.Seccion::SECCION_AXENDA.' AND Entrada.id <> '.$evento_programa_musical['Entrada']['id'].' AND Etiqueta.idetiqueta = '.ETIQUETA::ID_ETIQUETA_SEMANA_SANTA.' OR Etiqueta.idetiqueta = '.ETIQUETA::ID_ETIQUETA_PROCESIONES.' AND Entrada.visible = 1 AND Entrada.fecha_publicacion <= "'.date('Y-m-d H:i:s').'" AND (Entrada.fecha_finalizacion >= "'.date('Y-m-d H:i:s').'" OR Entrada.fecha_finalizacion IS NULL)'; $QUERY = "SELECT DISTINCT Etiqueta.identrada, COUNT(Etiqueta.identrada) as numero FROM entradas_etiquetas as Etiqueta LEFT JOIN entradas as Entrada ON Etiqueta.identrada = Entrada.id WHERE {$conditions} GROUP BY Etiqueta.identrada ORDER BY Entrada.orden DESC"; $tmp_identradas = $this->Entrada->query($QUERY); if($tmp_identradas){ foreach ($tmp_identradas as $tmp_identrada) { if($tmp_identrada[0]['numero'] == 2){ if(!in_array($tmp_identrada['Etiqueta']['identrada'], $identradas)){ array_push($identradas, $tmp_identrada['Etiqueta']['identrada']); } } } } if($identradas){ $this->Entrada->bindTraduccionesCamposContenidos(true); $this->Entrada->expects( array('Seccion', 'Usuario', 'Comentarios', 'Valoraciones', 'Etiquetas', 'Categorias', 'EntradaLocalizacion') ); $entradas_relacionadas = $this->Entrada->find( 'all' , array( 'conditions' => array( 'Entrada.id' => $identradas, 'Entrada.visible' => 1, 'Entrada.identrada' => NULL ), 'limit' => 5, 'order' => array( 'I18n__titulo.content' => 'ASC' ) ) ); foreach($entradas_relacionadas as &$entrada){ $entrada['Seccion'] = $this->seccionesindexadas[SECCION::SECCION_SEMANA_SANTA_PROCESIONES]['Seccion']; $entrada['Entrada']['idseccion'] = SECCION::SECCION_SEMANA_SANTA_PROCESIONES; } }else{ $entradas_relacionadas = array(); } $this->Entrada->bindTraduccionesCamposContenidos(true); $this->Entrada->expects( array('Seccion', 'Usuario', 'Comentarios', 'Valoraciones', 'Etiquetas', 'Categorias', 'EntradaLocalizacion') ); if( array_key_exists( 'localizacion_identrada', $this->_entrada['Entrada'] ) ) { if( $evento_programa_musical['Entrada']['localizacion_identrada'] !