if ($pezobj->nacional_Importado == "Importado" || $pezobj->nacional_Importado == "Nacional e importado") { echo CHtml::image(Yii::app()->request->baseUrl . "/imagenes/aplicacion/importado.png", "Importado", array("title" => "Importado")); } echo "</div>"; //Cuando tiene datos en la zona echo "<div id='dat_" . $pezobj->especie_id . "'>"; //Imagenes peces echo "<div class='dima'>"; if ($pezobj->tipo_imagen == 1) { echo CHtml::image(Yii::app()->request->baseUrl . "/imagenes/peces/" . $pezobj->imagen, $pezobj->nombre_cientifico, array('class' => 'ima')); } elseif ($pezobj->tipo_imagen == 2) { echo CHtml::image(Yii::app()->request->baseUrl . "/imagenes/siluetas/" . $pezobj->imagen, $pezobj->nombre_cientifico, array('class' => 'ima')); } echo "</div>"; if ($pezobj->recomendacion == 1 && !empty($pezobj->peso)) { $imagen = Peces::peso_a_nombre_imagen($pezobj->peso); echo CHtml::image(Yii::app()->request->baseUrl . "/imagenes/semaforo/" . $imagen); } echo "</div>"; // cierra dat_ echo "</div>"; //cierra dresul_view echo "<div id ='dresul_body_" . $pezobj->especie_id . "'class='dresul_body' style='display:none'>"; //Estados de conservacion $estados_conservacion = array(); foreach ($pezobj->estadoConservacions as $j) { if ($j->Nivel1 == 1) { array_push($estados_conservacion, $j->nombre . CHtml::link(' (IUCN)', "http://www.biodiversidad.gob.mx/especies/catRiesMundo.html", array("style" => "color:#584B05;font-size:10px;", "target" => "_blank"))); } if ($j->Nivel1 == 2) { array_push($estados_conservacion, $j->nombre . CHtml::link(' (CITES)', "http://www.biodiversidad.gob.mx/planeta/cites/index.html", array("style" => "color:#584B05;font-size:10px;", "target" => "_blank")));
/** * Resulatdo de las busquedas */ public function actionResultado() { $condiciones = ''; $union = ''; $joins = ''; $params = $_GET; $select = 'SELECT * FROM peces p '; $order = ''; $flag_ficha = false; if (isset($params['especie_id']) && !empty($params['especie_id'])) { $flag_ficha = true; $condiciones = "especie_id = " . $params['especie_id'] . " AND "; } else { $flag_ficha = false; if (isset($params['nombre_comun']) && !empty($params['nombre_comun'])) { $condiciones .= "nombre_comun LIKE '%" . $params['nombre_comun'] . "%' AND "; } if (isset($params['nombre_cientifico']) && !empty($params['nombre_cientifico'])) { $condiciones .= "nombre_cientifico LIKE '%" . $params['nombre_cientifico'] . "%' AND "; } if (isset($params['grupo']) && !empty($params['grupo'])) { $condiciones .= "grupo_id = " . $params['grupo'] . " AND "; } //Las zonas varia de 1 a 6 if (isset($params['zona']) && ((int) $params['zona'] > 0 && (int) $params['zona'] < 7)) { $joins .= CartaNacional::join(); $condiciones .= "cn.Nivel1=" . (int) $params['zona'] . " AND cn.Nombre != 'Sin datos.' AND "; } elseif (isset($params['zona']) && (int) $params['zona'] == 7) { //Caso del importado $condiciones .= "(nacional_Importado='Importado' OR nacional_Importado='Nacional e Importado') AND "; } //Varia de 0 a 3 el valor de los radios if (isset($params['recomendacion']) && ((int) $params['recomendacion'] > -1 && (int) $params['recomendacion'] < 3)) { $condiciones .= "recomendacion=1 AND peso_promedio IS NOT NULL AND "; $order .= ' ORDER BY peso_promedio, tipo_imagen, nombre_comun ASC'; if ((int) $params['recomendacion'] == 0) { //Recomendable $condiciones .= "peso REGEXP '^[01]|/[01]' AND peso != 0 AND "; } if ((int) $params['recomendacion'] == 1) { //Poco recomendable $condiciones .= "peso REGEXP '[23]' AND peso != 0 AND "; } if ((int) $params['recomendacion'] == 2) { //No recomendable $condiciones .= "peso REGEXP '[456789]' AND peso != 0 AND "; } } else { //busqueda sin recomendacion ni libre, te saca por default todos con recomendacion $order .= ' ORDER BY ISNULL(peso_promedio), peso_promedio, tipo_imagen, nombre_cientifico ASC'; } } //decide cual tipo de busqueda es if (!empty($joins)) { $resultados = Yii::app()->db->createCommand($select . $joins . " WHERE " . substr($condiciones, 0, -5) . $order)->queryAll(); $count = Yii::app()->db->createCommand("SELECT COUNT(*) as count FROM peces p " . $joins . " WHERE " . substr($condiciones, 0, -5))->queryAll(); $pages = new CPagination($count[0]["count"]); $pages->setPageSize(50); } elseif (!empty($condiciones)) { $resultados = Yii::app()->db->createCommand($select . " WHERE " . substr($condiciones, 0, -5) . $order)->queryAll(); $count = Yii::app()->db->createCommand("SELECT COUNT(*) as count FROM peces p WHERE " . substr($condiciones, 0, -5))->queryAll(); $pages = new CPagination($count[0]["count"]); $pages->setPageSize(50); } else { //para ver todos los peces $resultados = Yii::app()->db->createCommand($select . $order)->queryAll(); $count = Yii::app()->db->createCommand("SELECT COUNT(*) as count FROM peces p")->queryAll(); $pages = new CPagination($count[0]["count"]); $pages->setPageSize(50); } if (count($resultados) > 0) { if (isset($params['json']) && !empty($params['json']) && (int) $params['json'] == 1) { header('Content-type: application/json; charset=UTF-8'); if (isset($params['allow_o']) && $params['allow_o'] == '1') { // Para poder consumir la respuesta del lado del cliente en cualquier servidor, ojo cambiar cuando se tenga el dominio correcto header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Methods: GET"); } $data = array(); $arr_obj = array(); foreach ($resultados as $k) { $json = array(); $pez = Peces::model()->findByPk($k["especie_id"]); if ($pez->tipo_imagen == 1) { $pez->imagen = str_replace('index.php/', '', Yii::app()->createAbsoluteUrl('imagenes/peces/' . $pez->imagen)); } elseif ($pez->tipo_imagen == 2) { $pez->imagen = str_replace('index.php/', '', Yii::app()->createAbsoluteUrl('imagenes/siluetas/' . $pez->imagen)); } $json["peces"] = $pez->attributes; //Para la imgen del semaforo if ($pez->recomendacion == 1) { $json["peces"]["imagen_semaforo"] = str_replace('index.php/', '', Yii::app()->createAbsoluteUrl('imagenes/semaforo/' . Peces::peso_a_nombre_imagen($pez->peso))); } else { $json["peces"]["imagen_semaforo"] = ""; } $json["grupo"] = !empty($pez->grupo) ? $pez->grupo->attributes : array(); $json["tipo_veda"] = !empty($pez->tipoVeda) ? $pez->tipoVeda->attributes : array(); if ($pez->cartaNacionals) { $aux = array(); foreach ($pez->cartaNacionals as $k) { array_push($aux, $k->attributes); } $json["carta_nacional"] = $aux; } if ($pez->distribucions) { $aux = array(); foreach ($pez->distribucions as $k) { array_push($aux, $k->attributes); } $json["distribucion"] = $aux; } if ($pez->estadoConservacions) { $aux = array(); foreach ($pez->estadoConservacions as $k) { array_push($aux, $k->attributes); } $json["estado_conservacion"] = $aux; } if ($pez->tipoCapturases) { $aux = array(); foreach ($pez->tipoCapturases as $k) { array_push($aux, $k->attributes); } $json["tipo_captura"] = $aux; } if (!$flag_ficha) { array_push($data, $json); } else { echo preg_replace("/\\\\u([a-f0-9]{4})/e", "iconv('UCS-4LE','UTF-8',pack('V', hexdec('U\$1')))", json_encode($json)); //echo json_encode($json, JSON_UNESCAPED_UNICODE); } } if (!$flag_ficha) { echo preg_replace("/\\\\u([a-f0-9]{4})/e", "iconv('UCS-4LE','UTF-8',pack('V', hexdec('U\$1')))", json_encode($data)); //echo json_encode($data, JSON_UNESCAPED_UNICODE); } } else { $this->render('resultado', array('resultados' => $resultados, 'count' => $count[0]["count"], 'page_size' => 50, 'pages' => $pages)); } } else { $this->render('resultado', array('vacio' => '<b>Tu búsqueda no dió ningún resultado</b>')); } }