function fetchExactTerm($string) { $sql = SQLbuscaExacta($string); while ($array = $sql->FetchRow()) { $i = ++$i; $result["result"][$array[id_definitivo]] = array("term_id" => $array[id_definitivo], "string" => $array[termino_preferido] ? $array[termino_preferido] : $array[tema], "isMetaTerm" => $array["isMetaTerm"], "no_term_string" => $array[termino_preferido] ? $array[tema] : FALSE, "order" => $i); } return $result; }
function resultaBusca($texto, $tipo = "") { $texto = trim($texto); //Anulación de sugerencia de términos $sgs = $_GET[sgs]; //Ctrol lenght string if (strlen($texto) >= CFG_MIN_SEARCH_SIZE || $tipo == 'E') { $sql = $tipo == 'E' ? SQLbuscaExacta("{$texto}") : SQLbuscaSimple("{$texto}"); $classMensaje = $sql[cant] ? 'information' : 'warning'; $resumeResult = '<p class=' . $classMensaje . '><strong>' . $sql[cant] . '</strong> ' . MSG_ResultBusca . ' <strong> "<em>' . stripslashes($texto) . '</em>"</strong></p>'; } else { $sql[cant] = '0'; $resumeResult = '<p class="error">' . sprintf(MSG_minCharSerarch, stripslashes($texto), strlen($texto), CFG_MIN_SEARCH_SIZE - 1) . '</p>'; } $body .= '<div id="bodyText"><h1>' . LABEL_busqueda . '</h1>'; $body .= $resumeResult; if ($sql[cant] > 0) { $row_result .= '<div id="listaBusca"><ul>'; while ($resulta_busca = mysqli_fetch_array($sql[datos])) { $ibusca = ++$ibusca; $acumula_indice .= $resulta_busca[indice]; $acumula_temas .= $resulta_busca[id_definitivo] . '|'; if ($ibusca == '1') { //Guardar el primer término para ver si hay coincidencia exacta $primerTermino = $resulta_busca[tema]; } $leyendaTerminoLibre = $resulta_busca[esTerminoLibre] == 'SI' ? ' (' . LABEL_terminoLibre . ')' : ''; //Si no es un término preferido if ($resulta_busca[termino_preferido]) { switch ($resulta_busca[t_relacion]) { case '4': //UF $leyendaConector = USE_termino; break; case '5': //Tipo relacion término equivalente parcialmente $leyendaConector = '<acronym title="' . LABEL_termino_parcial_equivalente . '" lang="' . LANG . '">' . EQP_acronimo . '</acronym>'; break; case '6': //Tipo relacion término equivalente $leyendaConector = '<acronym title="' . LABEL_termino_equivalente . '" lang="' . LANG . '">' . EQ_acronimo . '</acronym>'; break; case '7': //Tipo relacion término no equivalente $leyendaConector = '<acronym title="' . LABEL_termino_no_equivalente . '" lang="' . LANG . '">' . NEQ_acronimo . '</acronym>'; break; case '8': //Tipo relacion término equivalente inexacta $leyendaConector = '<acronym title="' . LABEL_termino_parcial_equivalente . '" lang="' . LANG . '">' . EQP_acronimo . '</acronym>'; break; } $row_result .= '<li><em><a title="' . LABEL_verDetalle . $resulta_busca[tema] . '" href="index.php?tema=' . $resulta_busca[tema_id] . '&/' . string2url($resulta_busca[tema]) . '">' . $resulta_busca[tema] . '</a></em> ' . $leyendaConector . ' <a title="' . LABEL_verDetalle . $resulta_busca[tema] . '" href="index.php?tema=' . $resulta_busca[id_definitivo] . '">' . $resulta_busca[termino_preferido] . '</a> </li>' . "\r\n"; } else { $row_result .= '<li><a title="' . LABEL_verDetalle . $resulta_busca[tema] . '" href="index.php?tema=' . $resulta_busca[id_definitivo] . '&/' . string2url($resulta_busca[tema]) . '">' . $resulta_busca[tema] . '</a> ' . $leyendaTerminoLibre . '</li>' . "\r\n"; } } //fin del while $row_result .= '</ul>'; $row_result .= '</div>'; //Si no hubo coincidencia exacta if (strtoupper($primerTermino) !== trim(strtoupper($texto)) && $_GET[sgs] != 'off') { $body .= HTMLsugerirTermino($texto, $acumula_temas); } } elseif (strlen($texto) >= CFG_MIN_SEARCH_SIZE) { $body .= HTMLsugerirTermino($texto); } // fin de if result $result_suplementa .= HTMLbusquedaExpandidaTG($acumula_indice, $acumula_temas); $result_suplementa .= HTMLbusquedaExpandidaTR($acumula_temas); if (strlen($result_suplementa) > 0) { $result_suplementa = '<div id="lista_secundaria">' . $result_suplementa . '</div>'; } return $body . $row_result . $result_suplementa . '</div>'; }
function resultaBusca($texto, $tipo = "") { global $CFG; $texto = trim($texto); //Anulación de sugerencia de términos $sgs = $_GET["sgs"]; //Ctrol lenght string if (strlen($texto) >= CFG_MIN_SEARCH_SIZE || $tipo == 'E') { $sql = $tipo == 'E' ? SQLbuscaExacta("{$texto}") : SQLbuscaSimple("{$texto}"); $sql_cant = SQLcount($sql); $classMensaje = $sql_cant > 0 ? 'information' : 'warning'; } else { $sql_cant = '0'; $resumeResult = '<p class="alert alert-danger" role="alert">' . sprintf(MSG_minCharSerarch, stripslashes($texto), strlen($texto), CFG_MIN_SEARCH_SIZE - 1) . '</p>'; } $body .= '<div class="container" id="bodyText"><h2>' . LABEL_busqueda . '</h2>'; $body .= $resumeResult; if ($sql_cant == 0) { $body .= '<p class="alert alert-danger" role="alert"><strong>0</strong> ' . MSG_ResultBusca . ' <strong> "<em>' . stripslashes($texto) . '</em>"</strong></p>'; } if ($sql_cant > 0) { $row_result .= '<div class="tab-pane fade in active" id="results">'; $row_result .= '<p class="alert alert-info" role="alert"><strong>' . $sql_cant . '</strong> ' . MSG_ResultBusca . ' <strong> "<em>' . stripslashes($texto) . '</em>"</strong></p>'; $row_result .= '<ul>'; while ($resulta_busca = $sql->FetchRow()) { $ibusca = ++$ibusca; $acumula_indice .= $resulta_busca["indice"]; $acumula_temas .= $resulta_busca["id_definitivo"] . '|'; if ($ibusca == '1') { //Guardar el primer término para ver si hay coincidencia exacta $primerTermino = $resulta_busca["tema"]; $primerTermino_id = $resulta_busca["id_definitivo"] ? $resulta_busca["id_definitivo"] : $resulta_busca["tema_id"]; } //si hubo coicidencia exacta y están apagadas las sugerencias if (strtoupper($primerTermino) == trim(strtoupper($texto)) && ($_GET["sgs"] == 'off' || $sql_cant == 1)) { return HTMLbodyTermino(ARRAYverDatosTermino($primerTermino_id)); } $leyendaTerminoLibre = $resulta_busca[esTerminoLibre] == 'SI' ? ' (' . LABEL_terminoLibre . ')' : ''; $styleClassLink = $resulta_busca["estado_id"] !== '13' ? 'class="estado_termino' . $resulta_busca["estado_id"] . '"' : ''; //Si no es un término preferido if ($resulta_busca["termino_preferido"]) { switch ($resulta_busca["t_relacion"]) { case '4': //UF $leyendaConector = USE_termino; break; case '5': //Tipo relacion término equivalente parcialmente $leyendaConector = '<acronym title="' . LABEL_termino_parcial_equivalente . '" lang="' . LANG . '">' . EQP_acronimo . '</acronym>'; break; case '6': //Tipo relacion término equivalente $leyendaConector = '<acronym title="' . LABEL_termino_equivalente . '" lang="' . LANG . '">' . EQ_acronimo . '</acronym>'; break; case '7': //Tipo relacion término no equivalente $leyendaConector = '<acronym title="' . LABEL_termino_no_equivalente . '" lang="' . LANG . '">' . NEQ_acronimo . '</acronym>'; break; case '8': //Tipo relacion término equivalente inexacta $leyendaConector = '<acronym title="' . LABEL_termino_parcial_equivalente . '" lang="' . LANG . '">' . EQP_acronimo . '</acronym>'; break; } if (in_array($resulta_busca["rr_code"], $CFG["HIDDEN_EQ"]) && !$_SESSION[$_SESSION["CFGURL"]][ssuser_id]) { $row_result .= '<li><a title="' . LABEL_verDetalle . $resulta_busca["tema"] . '" href="index.php?tema=' . $resulta_busca["id_definitivo"] . '">' . $resulta_busca["termino_preferido"] . '</a></li>' . "\r\n"; } else { $row_result .= '<li><em><a ' . $styleClassLink . ' title="' . LABEL_verDetalle . $resulta_busca["tema"] . '" href="index.php?tema=' . $resulta_busca["tema_id"] . '&/' . string2url($resulta_busca["tema"]) . '">' . $resulta_busca["tema"] . '</a></em> ' . $leyendaConector . ' <a title="' . LABEL_verDetalle . $resulta_busca["tema"] . '" href="index.php?tema=' . $resulta_busca["id_definitivo"] . '">' . $resulta_busca["termino_preferido"] . '</a> </li>' . "\r\n"; } } else { $row_result .= '<li><a ' . $styleClassLink . ' title="' . LABEL_verDetalle . $resulta_busca["tema"] . '" href="index.php?tema=' . $resulta_busca["id_definitivo"] . '&/' . string2url($resulta_busca["tema"]) . '">' . $resulta_busca["tema"] . '</a> ' . $leyendaTerminoLibre . '</li>' . "\r\n"; } } //fin del while $row_result .= '</ul>'; $row_result .= '</div>'; //fin de div de búsqueda //Si no hubo coincidencia exacta if (strtoupper($primerTermino) !== trim(strtoupper($texto)) && $_GET["sgs"] != 'off') { $body .= HTMLsugerirTermino($texto, $acumula_temas); } $result_suplementaTG = HTMLbusquedaExpandidaTG($acumula_indice, $acumula_temas, $texto); $result_suplementaTR = HTMLbusquedaExpandidaTR($acumula_temas, $texto); if ($result_suplementaTG["count"] > 0) { $row_resultTGmenu = '<li><a href="#suplementaTG" data-toggle="tab">' . ucfirst(LABEL_resultados_suplementarios) . ' (' . $result_suplementaTG["count"] . ')</a></li>'; $row_resultTG = '<div class="tab-pane fade" id="suplementaTG">' . $result_suplementaTG["html"] . '</div>'; } if ($result_suplementaTR["count"] > 0) { $row_resultTRmenu = '<li><a href="#suplementaTR" data-toggle="tab">' . ucfirst(LABEL_resultados_relacionados) . ' (' . $result_suplementaTR["count"] . ')</a></li>'; $row_resultTR = '<div class="tab-pane fade" id="suplementaTR">' . $result_suplementaTR["html"] . '</div>'; } $body .= '<div id="listaBusca">'; $body .= '<ul id="myTermTab" class="nav nav-tabs" style="margin-bottom: 15px;"> <li><a class="active" href="#results" data-toggle="tab">' . ucfirst(LABEL_results) . ' (' . $sql_cant . ') </a></li>'; $body .= $row_resultTGmenu . $row_resultTRmenu; $body .= '</ul>'; #Tabs content $body .= '<div id="tabContent" class="tab-content">'; $body .= $row_result . $row_resultTG . $row_resultTR; $body .= '</div>'; //fin de fiv de tabs } elseif (strlen($texto) >= CFG_MIN_SEARCH_SIZE) { //sugerir o mostrar que no hay resultados $body .= HTMLsugerirTermino($texto); } // fin de if result $body .= '</div>'; //container; return $body; }