/** * Add headers for IE8 etc to fix caching issues in those stupid browsers * * @overwrite to fix IE cacheing issues * @return void */ public function disableCache() { $this->response->header(array('Pragma' => 'no-cache')); return parent::disableCache(); }
function view_fp($instit_id, $oferta_id, $ciclo = 0) { Controller::disableCache(); $es_una_busqueda = false; $sesNames = array('instit' => 'Instit.id', 'plan' => 'Plan.nombre' . $instit_id . $oferta_id . $ciclo, 'sector' => 'Sector.id' . $instit_id . $oferta_id, 'page' => 'page' . $instit_id . $oferta_id . $ciclo); if (!empty($this->data['Plan']['nombre'])) { $this->data['Plan']['nombre'] = utf8_decode($this->data['Plan']['nombre']); } if (!empty($this->data)) { $es_una_busqueda = true; $this->Session->write($sesNames['instit'], $instit_id); $this->Session->write($sesNames['plan'], $this->data['Plan']['nombre']); $this->Session->write($sesNames['sector'], $this->data['Sector']['id']); $this->Session->write('page', ''); } else { // busqueda en Session if ($this->Session->read($sesNames['instit']) == $instit_id) { if ($this->Session->read($sesNames['plan'])) { $this->data['Plan']['nombre'] = $this->Session->read($sesNames['plan']); } if ($this->Session->read($sesNames['sector'])) { $this->data['Sector']['id'] = $this->Session->read($sesNames['sector']); } $es_una_busqueda = true; } } $url_conditions = $this->passedArgs; if (!empty($this->passedArgs['page'])) { $this->Session->write($sesNames['page'], $this->passedArgs['page']); } elseif ($this->Session->read($sesNames['page'])) { $this->paginate['page'] = $this->Session->read($sesNames['page']); } $planNombre = null; if (!empty($this->data['Plan']['nombre'])) { $planNombre = $this->data['Plan']['nombre']; } if (!empty($this->passedArgs['Plan.nombre'])) { $planNombre = utf8_decode($this->passedArgs['Plan.nombre']); } if (!empty($planNombre)) { $this->paginate['conditions']['lower(Plan.nombre) SIMILAR TO ?'] = array(convertir_para_busqueda_avanzada($planNombre)); $url_conditions['Plan.nombre'] = $planNombre; } $sectorId = null; if (!empty($this->data['Sector']['id'])) { $sectorId = $this->data['Sector']['id']; } if (!empty($this->passedArgs['Sector.id'])) { $sectorId = $this->passedArgs['Sector.id']; } if (!empty($sectorId)) { $this->paginate['conditions']['SectoresTitulo.sector_id'] = $sectorId; $url_conditions['Sector.id'] = $sectorId; } if (!empty($ciclo)) { $this->paginate['conditions']['Anio.ciclo_id'] = $ciclo; } $this->paginate['asociarAnio'] = true; $this->paginate['conditions']['Plan.oferta_id'] = $oferta_id; $this->paginate['conditions']['Instit.id'] = $instit_id; $this->paginate['order'] = array("Plan.nombre"); $this->paginate['recursive'] = 3; // find completo $planes = $this->paginate(); $newVecPlanes = array(); $i = 0; foreach ($planes as &$plan) { if ($ciclo == 0) { $ultimo_ciclo = $this->Plan->getUltimoCiclo($plan['Plan']['id']); $plan['Plan']['matricula'] = $this->Plan->dameMatriculaDeCiclo($plan['Plan']['id'], $ultimo_ciclo); } else { $plan['Plan']['matricula'] = $this->Plan->dameMatriculaDeCiclo($plan['Plan']['id'], $ciclo); } } $sectores = $this->Plan->Instit->listSectoresConOferta($instit_id, $oferta_id); $ciclos_anios = $this->Plan->Instit->getCiclosLectivosXOferta($instit_id, $agregar_anio_actual = false); $ciclos_anios = $ciclos_anios[FP_ID]['ciclo']; $this->set('es_una_busqueda', $es_una_busqueda); $this->set('sectores', $sectores); $this->set('planes', $planes); $this->set('instit_id', $instit_id); $this->set('oferta_id', $oferta_id); $this->set('ciclo', $ciclo); $this->set('ciclos_anios', $ciclos_anios); $this->set('url_conditions', $url_conditions); }