Example #1
0
 function ver($codigo, $offset = null)
 {
     $options['limit'] = $this->side_panel_limit;
     //Obtengo fichas destacadas
     $fichasDestacadas = Doctrine::getTable('Ficha')->MasDestacadas($this->side_panel_limit);
     $data['fichasDestacadas'] = $fichasDestacadas;
     $offset = $this->input->get('offset', true) ? $this->input->get('offset', true) - 1 : 0;
     $per_page = 10;
     $servicio = Doctrine::getTable('Servicio')->find($codigo);
     //Ordenar por titulo A->Z
     $fichas = Doctrine::getTable('Ficha')->findFichaOnServicio($codigo, array('limit' => $per_page, 'offset' => $offset));
     $nfichas = Doctrine::getTable('Ficha')->findFichaOnServicio($codigo, array('justCount' => TRUE));
     $entidad = $servicio->Entidad;
     $data['categorytabs_closed'] = TRUE;
     $data['title'] = '' . $servicio->nombre;
     $data['content'] = 'servicios/ver_v2';
     $data['servicio'] = $servicio;
     $data['fichas'] = $fichas;
     $data['entidad'] = $entidad;
     $config['base_url'] = url_buscador();
     $config['total_rows'] = $nfichas;
     $config['per_page'] = $per_page;
     $this->pagination->initialize($config);
     $data['base_url'] = site_url('servicios/ver/' . $codigo . '/');
     $data['per_page'] = $per_page;
     $data['offset'] = $offset;
     $data['total'] = $nfichas;
     $data['paginacion'] = $this->pagination->create_links();
     //habilitamos el cache
     $this->output->cache($this->config->item('cache'));
     $this->load->view('template_v2', $data);
 }
Example #2
0
 public function filtros()
 {
     $per_page = 10;
     //Se obtienen los parametros de busqueda definidos en el input del usuario
     $buscar = $this->input->get('buscar');
     $offset = (int) $this->input->get('offset');
     $exacto = $this->input->get('exacto');
     $empresa = $vista_pymes = $this->input->get('e') && $this->input->get('e') == 1 ? true : false;
     $filtro_etapa_empresa = $this->input->get('ee') ? explode(',', $this->input->get('ee')) : array();
     $filtro_tema_empresa = $this->input->get('te') ? explode(',', $this->input->get('te')) : array();
     $filtro_apoyo_estado = $this->input->get('ae') ? explode(',', $this->input->get('ae')) : array();
     $filtro_venta_anual = $this->input->get('va') ? explode(',', $this->input->get('va')) : array();
     $filtro_rubro = $this->input->get('r') ? explode(',', $this->input->get('r')) : array();
     $filtro_fps = is_numeric($this->input->get('fps')) ? $this->input->get('fps') : '';
     //Se hace la busqueda en Sphinx
     $this->load->library('sphinxclient');
     $this->sphinxclient->setServer($this->config->item('sphinx_host'), (int) $this->config->item('sphinx_port'));
     $this->sphinxclient->SetFieldWeights(array('keywords' => 10, 'titulo' => 100, 'sic' => 10));
     $this->sphinxclient->SetMatchMode(SPH_MATCH_EXTENDED);
     $this->sphinxclient->setRankingMode(SPH_RANK_EXPR, 'bm25 + 10*(sum(lcs*user_weight)/max_lcs) + 10*(hits/max_hits)');
     $this->sphinxclient->setLimits(0, 1000);
     //Sugerencias en base a diccionario
     $suggest = null;
     $query = trim($buscar);
     if (!$exacto) {
         $correccion = Doctrine::getTable('Diccionario')->corregirTexto($query);
         if ($correccion != $query) {
             //Es decir, hubo una correccion
             $suggest = $query;
             $query = $correccion;
         }
     }
     /*
     if (!empty($filtro_etapa_empresa) && empty($filtro_apoyo_estado)) {
         $this->sphinxclient->setFilter('etapa_empresa_id', $filtro_etapa_empresa);
     }
     */
     if (!empty($filtro_tema_empresa)) {
         $this->sphinxclient->setFilter('tema_empresa_id', $filtro_tema_empresa);
     }
     if (!empty($filtro_apoyo_estado)) {
         $this->sphinxclient->setFilter('apoyo_estado_id', $filtro_apoyo_estado);
     } else {
         $ids = array();
         if ($this->input->get('ee')) {
             $query_ae = Doctrine_Query::create()->select('ee.id, ae.id as apoyo_id, ae.nombre')->from('EtapaEmpresa ee, ee.ApoyosEstado ae')->where('ee.id = ?', $this->input->get('ee'));
             //echo  $query_ae->getSqlQuery();
             $query_data = $query_ae->execute();
             $aIds = $query_data->toArray();
             foreach ($aIds[0]['ApoyosEstado'] as $value) {
                 $ids[] = $value['id'];
             }
         } else {
             $query_ae = Doctrine_Query::create()->select('id')->from('ApoyoEstado')->execute();
             $aIds = $query_ae->toArray();
             foreach ($aIds as $value) {
                 $ids[] = $value['id'];
             }
         }
         $this->sphinxclient->setFilter('apoyo_estado_id', $ids);
     }
     if (!empty($filtro_venta_anual)) {
         $this->sphinxclient->setFilter('tipo_empresa_id', $filtro_venta_anual);
     }
     if (!empty($filtro_rubro)) {
         $this->sphinxclient->setFilter('rubro_id', $filtro_rubro);
     }
     if (!empty($filtro_fps)) {
         $this->sphinxclient->SetSelect('*,' . 'IF( (puntaje_fps_min <= ' . $filtro_fps . ' AND puntaje_fps_max >= ' . $filtro_fps . ') OR (puntaje_fps_min = 0 AND puntaje_fps_max >= ' . $filtro_fps . '), 1, 0)' . ' as filtro_fps');
         $this->sphinxclient->setFilter('filtro_fps', array(1));
     }
     $result = $this->sphinxclient->query($query, 'redchile_fichas');
     //Se hace el match de los resultados de Sphinx con el modelo en Doctrine.
     $doctrine_query = Doctrine_Query::create()->from('Ficha f')->where('f.maestro = 0 AND f.publicado = 1');
     if ($result['total'] > 0) {
         $page_results = array_slice($result['matches'], $offset, $per_page, TRUE);
         $matches = array_keys($page_results);
         $doctrine_query->whereIn('f.id', $matches);
         $doctrine_query->orderBy('FIELD (id, ' . implode(',', $matches) . ')');
     } else {
         $doctrine_query->where('0');
     }
     $fichas = $doctrine_query->execute();
     $total_fichas = $result['total'];
     //Se configura la paginacion
     $this->pagination->initialize(array('base_url' => url_buscador(), 'total_rows' => $total_fichas, 'per_page' => $per_page));
     $etapas_empresa = Doctrine::getTable('EtapaEmpresa')->findAll()->toArray();
     $temas_empresa = Doctrine::getTable('TemaEmpresa')->findAll()->toArray();
     $apoyos_estado = array();
     if ($filtro_etapa_empresa) {
         $apoyos_estado = Doctrine::getTable('ApoyoEstado')->getApoyoByEtapa($filtro_etapa_empresa)->toArray();
     }
     $ventas_anuales = Doctrine::getTable('TipoEmpresa')->findAll()->toArray();
     $rubros = Doctrine::getTable('Rubro')->findAll()->toArray();
     //Pasamos los parametros a la vista y cargamos la vista.
     $data['buscar'] = $buscar;
     //La busqueda original del usuario
     $data['empresa'] = $empresa;
     //Es busqueda de ChilAtiende Empresas?
     $data['query'] = $query;
     //La busqueda que se hizo realmente
     $data['suggest'] = $suggest;
     //Sugerencia de alternativa
     $data['fichas'] = $fichas;
     $data['offset'] = $offset;
     $data['total_fichas'] = $total_fichas;
     $data['vista_filtros'] = 'filtro_pyme';
     $data['etapas_empresa'] = $etapas_empresa;
     $data['filtro_etapa_empresa'] = $filtro_etapa_empresa;
     $data['temas_empresa'] = $temas_empresa;
     $data['filtro_tema_empresa'] = $filtro_tema_empresa;
     $data['apoyos_estado'] = $apoyos_estado;
     $data['filtro_apoyo_estado'] = $filtro_apoyo_estado;
     $data['ventas_anuales'] = $ventas_anuales;
     $data['filtro_venta_anual'] = $filtro_venta_anual;
     $data['rubros'] = $rubros;
     $data['filtro_rubro'] = $filtro_rubro;
     $data['filtro_fps'] = $filtro_fps;
     $data['promocionados'] = array();
     $data['title'] = 'Resultados de Búsqueda';
     $data['content'] = 'busqueda/resultado_v2';
     $template = $empresa ? 'template_emprendete_v2' : 'template_v2';
     $this->load->view($template, $data);
 }
Example #3
0
    ?>
                	<h2>Instituciones</h2>
                	<ul id="institucion" class="text-small toggable">
                	<?php 
    foreach ($instituciones as $institucion) {
        $activo = in_array($institucion->codigo, $filtro_institucion);
        ?>
                		<li class="<?php 
        echo $activo ? 'on' : '';
        ?>
">
                			<a class="<?php 
        echo $activo ? 'on' : '';
        ?>
" href="<?php 
        echo url_buscador('i', $institucion->codigo, $activo, false);
        ?>
"><?php 
        echo $institucion->nombre;
        ?>
</a>
                		</li>
                	<?php 
    }
    ?>
                	</ul>
	                <?php 
}
?>
	                
Example #4
0
        			<?php 
}
?>
        	</ul>
        	<h2>Rubros</h2>
        	<ul>
        		<?php 
if (!isset($filtro_rubro)) {
    $filtro_rubro = array();
}
foreach ($rubros as $r) {
    $activo = in_array($r['id'], $filtro_rubro);
    ?>
        			<li>
        				<a href="<?php 
    echo url_buscador('r', $r['id'], $activo, false);
    ?>
" class="<?php 
    echo $activo ? 'on' : '';
    ?>
"><?php 
    echo $r['nombre'];
    ?>
</a>
        			</li>
        			<?php 
}
?>
        	</ul>
            <h2>Ficha Protección Social</h2>
            <ul>
Example #5
0
    echo $query ? ' para "' . htmlspecialchars($query) . '"' : '';
    ?>
.</strong></p>
                            <p>Sugerencias:</p>
                            <ul>
                                <li>Asegúrate de que todas las palabras estén escritas correctamente.</li>
                                <li>Prueba diferentes palabras clave.</li>
                                <li>Prueba palabras clave más generales.</li>
                            </ul>
                        </div>
                        </div>
                        <?php 
    if ($suggest) {
        ?>
                        <div class="alert alert-warning">Quizás quisiste decir: <a href="<?php 
        echo url_buscador('buscar', $suggest);
        ?>
"><?php 
        echo $suggest;
        ?>
</a></div>
                    <?php 
    }
    ?>
                    </div>
                <?php 
}
?>
            </div>
        </div>
    </div>
Example #6
0
</a> <span>(<?php 
                echo $institucion->numero_fichas;
                ?>
)</span>
                                <p><?php 
                echo $institucion->nombre;
                ?>
</p>
                            <?php 
            } else {
                ?>
                                <a class="<?php 
                echo $activo ? 'on' : '';
                ?>
" href="<?php 
                echo url_buscador('instituciones', $institucion->codigo, $activo, true);
                ?>
"><?php 
                echo $institucion->nombre . ($institucion->sigla ? ' (' . $institucion->sigla . ')' : '');
                ?>
</a>
                                <span>(<?php 
                echo $institucion->numero_fichas;
                ?>
)</span>
                            <?php 
            }
            ?>
                        </li>
                    <?php 
        }