class MY_Controller extends CI_Controller { public $data = array(); function __construct() { parent::__construct(); $this->output->set_header('Last-Modified: ' . gmdate("D, d M Y H:i:s") . ' GMT'); $this->output->set_header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0'); $this->output->set_header('Pragma: no-cache'); $this->output->set_header('Expires: Mon, 01 Jan 2000 00:00:00 GMT'); $this->load->driver('cache', array('adapter' => 'file')); $this->cache->clean(); //$this->tiempoCache=time()+(100*60*5); $this->tiempoCache=time()-1; } function datosPagina($identificador,$url=null){ $pagina =new Pagina(); $cliente = new Cliente(); $this->dominio = prep_url($_SERVER['HTTP_HOST']."/"); if($this->session->userdata('idcliente')) $cliente->where('id',$this->session->userdata('idcliente'))->get(); else $cliente->get_by_dominio($this->dominio); $this->data['cliente']= $cliente; $this->data['blq_empresa'] = $pagina->query( "SELECT p.`nombre` titulo, t.`texto` contenido FROM `textos` t INNER JOIN `paginas_textos` pt ON t.`id`=pt.`texto_id` INNER JOIN `paginas` p ON p.`id`=pt.`pagina_id` INNER JOIN `clientes_paginas` cp ON p.`id`=cp.`pagina_id` WHERE cp.`cliente_id`='" . $cliente->id . "' AND p.`identificador`='empresa' LIMIT 1" ); $paginas= new Pagina(); $paginasitu= new Pagina(); $configuracion= new Configuracionweb(); $paginaServicio=new Pagina(); $seo = new Seo(); $mapas = new Mapa(); $fotos= new Foto(); $servicios= new Servicio(); if(!$url) { $this->data['pagina'] = $pagina->where('identificador',$identificador) ->where_related_cliente('id',$cliente->id)->get();//sacamos la pagina con identificador indicado }else{ $this->data['pagina']=$pagina->where_related_seo('url',$url) ->where_related_cliente('id',$cliente->id)->get(); } $paginaServicio->where_related_cliente('id',$cliente->id)->where('identificador','servicios')->get(); $this->data['servicios'] = $servicios->where_related_pagina('id',$paginaServicio->id) ->include_related('texto',null,true,true) ->include_related('foto',null,true,true) ->group_by('id')->order_by('orden','ASC')->get()->all; //pagina situacion para sacar los datos de direccion $situacion=$paginasitu->where_related_cliente('id',$cliente->id)->where('identificador','contacto')->get(); $this->data['paginas'] = $paginas->where_related_cliente('id',$cliente->id)->where('show',1)->order_by('posicion','asc')->get()->all; //sacamos la configuracion de la web $this->data['configuracion'] = $configuracion->where_related_cliente('id',$cliente->id)->get(); $this->data['redes'] = unserialize($this->data['configuracion']->redessociales); $this->data['mostrarDatos'] = unserialize($this->data['configuracion']->mostrar); $this->data['mapas'] =$mapas->where_related_pagina('id',$situacion->id)->get()->all; $this->load->library('googlemaps'); $config['center'] = '40.4167754, -3.7037902'; if($mapas->lat) { $config['center'] = "$mapas->lat, $mapas->lng"; } $config['map_height'] = "350px"; $config['placesAutocompleteOnChange'] = 'defecto'; if($mapas->zoom) $config['zoom'] =$mapas->zoom; elseif(count($this->data['mapas']) > 1) $config['zoom'] = 'auto'; else $config['zoom'] = '5'; $this->googlemaps->initialize($config); if($mapas) foreach ($mapas as $mapa) { $descripcion = preg_replace("[\n|\r|\n\r]", "", $mapa->descripcion); $marker = array(); $marker['position'] = $mapa->lat.",".$mapa->lng; $marker['infowindow_content'] = '
'.$descripcion.'
'; $this->googlemaps->add_marker($marker); } $this->data['map'] = $this->googlemaps->create_map(); //sacamos los textos de esta pagina en un array con identificador como clave $this->data['textos'] = $pagina->texto->where_related_idioma('codigo',$this->lang->lang())->get(); //sacamos las fotos de la pagina $this->data['fotos'] = $fotos->where_related_pagina('id',$pagina->id)->group_by('id')->order_by('orden', 'asc')->get(); //sacamos el seo de la pagina $seo = $seo->where_related_pagina('id',$pagina->id)->where_related_idioma('codigo',$this->lang->lang())->get(); $this->data['title']=$seo->title; $this->data['description']=$seo->description; $this->data['keywords']=$seo->keywords; $this->data['h1']=$seo->h1; $this->data['canonical']=$seo->canonical; /*------------fin----------*/ //$this->output->cache(3360); } }