function retorna_query_pesquisa($termo_pesquisa)
{
    // globals ------------------------------------------------------------------
    global $tamanho_limite_busca_inteligente_query;
    // este e o tamanho limite na busca query, isto evita uma busca desnecessaria em todo o banco de dados
    $pagina_numero = pagina_atual_get();
    // numero da pagina atual
    // ------------------------------------------------------------------------------
    // tabela ---------------------------------------------------------------------
    $tabela = retorne_tabela_salvar_site();
    // tabela
    // ------------------------------------------------------------------------------
    // pega pagina atual ----------------------------------------------------
    $pagina_atual = $pagina_numero;
    // pega pagina atual
    // ------------------------------------------------------------------------------
    // verifica se pagina atual e valida ----------------------------------
    if ($pagina_atual == null or is_numeric($pagina_atual) == false or $pagina_atual < 0) {
        // zera contadores de pagina ------------------------------------------
        $pagina_atual = 0;
        // zera contadores de pagina
        $pagina_numero = 0;
        // zera contadores de pagina
        // ------------------------------------------------------------------------------
    }
    // ------------------------------------------------------------------------------
    // calculando limite de query ------------------------------------------
    $query_limite_inicio = $pagina_numero * $tamanho_limite_busca_inteligente_query;
    // inicio de query
    $query_limite_fim = $tamanho_limite_busca_inteligente_query;
    // fim de query
    // ------------------------------------------------------------------------------
    // condicao de limite ------------------------------------------------------
    $condicao_limite = "LIMIT {$query_limite_inicio}, {$query_limite_fim}";
    // condicao de limite
    // ------------------------------------------------------------------------------
    // array com termos de pesquisa ------------------------------------
    $array_termos_pesquisa = retorne_array_termos_pesquisa($termo_pesquisa);
    // array com termos de pesquisa
    // ------------------------------------------------------------------------------
    // numero de termos de pesquisa ----------------------------------
    $numero_termos_pesquisa = count($array_termos_pesquisa);
    // numero de termos de pesquisa
    // ------------------------------------------------------------------------------
    // contador de termos de pesquisa --------------------------------
    $contador_termos_pesquisa = 1;
    // contador de termos de pesquisa
    // ------------------------------------------------------------------------------
    // campos de pesquisa geral -----------------------------------------
    if (retorne_modo_pesquisa() == 1) {
        // links ------------------------------------------------------------------------
        $campos_tabela_pesquisar[0] .= "host_site like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        $campos_tabela_pesquisar[0] .= "or url_pagina like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        $campos_tabela_pesquisar[0] .= "or titulo_site like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        $campos_tabela_pesquisar[0] .= "or keywords_site like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        $campos_tabela_pesquisar[0] .= "or description_site like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        $campos_tabela_pesquisar[0] .= "or links_internos_site like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        $campos_tabela_pesquisar[0] .= "or links_externos_site like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        $campos_tabela_pesquisar[0] .= "or conteudo_site like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        // ------------------------------------------------------------------------------
    } else {
        // imagens ------------------------------------------------------------------
        $campos_tabela_pesquisar[0] .= "host_site like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        $campos_tabela_pesquisar[0] .= "or url_pagina like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        $campos_tabela_pesquisar[0] .= "or titulo_site like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        $campos_tabela_pesquisar[0] .= "or keywords_site like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        $campos_tabela_pesquisar[0] .= "or description_site like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        $campos_tabela_pesquisar[0] .= "or imagens_site_geral like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        $campos_tabela_pesquisar[0] .= "or conteudo_site like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        // ------------------------------------------------------------------------------
    }
    // ------------------------------------------------------------------------------
    // campos de pesquisa geral -----------------------------------------
    if (retorne_modo_pesquisa() == 1) {
        // links ------------------------------------------------------------------------
        $campos_tabela_pesquisar[1] .= "links_internos_site like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        // ------------------------------------------------------------------------------
    } else {
        // imagens ------------------------------------------------------------------
        $campos_tabela_pesquisar[1] .= "imagens_site_geral like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        // ------------------------------------------------------------------------------
    }
    // ------------------------------------------------------------------------------
    // campos de pesquisa ------------------------------------------------
    if ($numero_termos_pesquisa == 1) {
        // campos de pesquisa ------------------------------------------------
        if (retorne_busca_exata() == 1) {
            // links ------------------------------------------------------------------------
            $campos_pesquisa = $campos_tabela_pesquisar[1];
            // exata
            // ------------------------------------------------------------------------------
        } else {
            // imagens ------------------------------------------------------------------
            $campos_pesquisa = $campos_tabela_pesquisar[0];
            // todos
            // ------------------------------------------------------------------------------
        }
        // ------------------------------------------------------------------------------
    } else {
        // obtendo termos de pesquisa de array --------------------------
        foreach ($array_termos_pesquisa as $termo_pesquisa_array) {
            // verifica se termo pesquisa possui conteudo ------------------
            if ($termo_pesquisa_array != null) {
                // campos de pesquisa ------------------------------------------------
                if (retorne_busca_exata() == 1) {
                    // modo de pesquisa ---------------------------------------------------
                    if (retorne_modo_pesquisa() == 1) {
                        // link --------------------------------------------------
                        if ($contador_termos_pesquisa == 1) {
                            // atualiza contador -------------------------------
                            $contador_termos_pesquisa++;
                            // atualiza contador
                            // -------------------------------------------------------
                            // campos de pesquisa --------------------------
                            $campos_pesquisa = " links_internos_site like '%{$termo_pesquisa_array}%' ";
                            // campos de pesquisa
                            // -------------------------------------------------------
                        } else {
                            // campos de pesquisa --------------------------
                            $campos_pesquisa .= "or links_internos_site like '%{$termo_pesquisa_array}%' ";
                            // campos de pesquisa
                            // -------------------------------------------------------
                        }
                        // --------------------------------------------------------
                    } else {
                        // imagem --------------------------------------------
                        if ($contador_termos_pesquisa == 1) {
                            // atualiza contador -------------------------------
                            $contador_termos_pesquisa++;
                            // atualiza contador
                            // --------------------------------------------------------
                            // campos de pesquisa --------------------------
                            $campos_pesquisa = " imagens_site_geral like '%{$termo_pesquisa_array}%' ";
                            // campos de pesquisa
                            // --------------------------------------------------------
                        } else {
                            // campos de pesquisa --------------------------
                            $campos_pesquisa .= "or imagens_site_geral like '%{$termo_pesquisa_array}%' ";
                            // campos de pesquisa
                            // --------------------------------------------------------
                        }
                        // --------------------------------------------------------
                    }
                    // --------------------------------------------------------
                } else {
                    // modo de pesquisa ---------------------------------------------------
                    if (retorne_modo_pesquisa() == 1) {
                        // aplica une tabelas ------------------------------
                        if ($contador_termos_pesquisa == 1) {
                            // atualiza contador -------------------------------
                            $contador_termos_pesquisa++;
                            // atualiza contador
                            // -------------------------------------------------------
                            // codigo unir tabelas ----------------------------
                            $une_tabelas = "or ";
                            // codigo unir tabelas
                            // -------------------------------------------------------
                        } else {
                            // codigo unir tabelas ----------------------------
                            $une_tabelas = null;
                            // codigo unir tabelas
                            // -------------------------------------------------------
                        }
                        // --------------------------------------------------------
                        // campos de pesquisa --------------------------
                        $campos_pesquisa .= "host_site like '%{$termo_pesquisa_array}%' ";
                        // campos de pesquisa
                        $campos_pesquisa .= "or url_pagina like '%{$termo_pesquisa_array}%' ";
                        // campos de pesquisa
                        $campos_pesquisa .= "or titulo_site like '%{$termo_pesquisa_array}%' ";
                        // campos de pesquisa
                        $campos_pesquisa .= "or keywords_site like '%{$termo_pesquisa_array}%' ";
                        // campos de pesquisa
                        $campos_pesquisa .= "or description_site like '%{$termo_pesquisa_array}%' ";
                        // campos de pesquisa
                        $campos_pesquisa .= "or links_internos_site like '%{$termo_pesquisa_array}%' ";
                        // campos de pesquisa
                        $campos_pesquisa .= "or links_externos_site like '%{$termo_pesquisa_array}%' ";
                        // campos de pesquisa
                        $campos_pesquisa .= "or conteudo_site like '%{$termo_pesquisa_array}%' {$une_tabelas}";
                        // campos de pesquisa
                        // -------------------------------------------------------
                    } else {
                        // aplica une tabelas ------------------------------
                        if ($contador_termos_pesquisa == 1) {
                            // atualiza contador -------------------------------
                            $contador_termos_pesquisa++;
                            // atualiza contador
                            // -------------------------------------------------------
                            // codigo unir tabelas ----------------------------
                            $une_tabelas = "or ";
                            // codigo unir tabelas
                            // -------------------------------------------------------
                        } else {
                            // codigo unir tabelas ----------------------------
                            $une_tabelas = null;
                            // codigo unir tabelas
                            // -------------------------------------------------------
                        }
                        // --------------------------------------------------------
                        // campos de pesquisa --------------------------
                        $campos_pesquisa .= "host_site like '%{$termo_pesquisa_array}%' ";
                        // campos de pesquisa
                        $campos_pesquisa .= "or url_pagina like '%{$termo_pesquisa_array}%' ";
                        // campos de pesquisa
                        $campos_pesquisa .= "or titulo_site like '%{$termo_pesquisa_array}%' ";
                        // campos de pesquisa
                        $campos_pesquisa .= "or keywords_site like '%{$termo_pesquisa_array}%' ";
                        // campos de pesquisa
                        $campos_pesquisa .= "or description_site like '%{$termo_pesquisa_array}%' ";
                        // campos de pesquisa
                        $campos_pesquisa .= "or imagens_site_geral like '%{$termo_pesquisa_array}%' ";
                        // campos de pesquisa
                        $campos_pesquisa .= "or conteudo_site like '%{$termo_pesquisa_array}%' {$une_tabelas}";
                        // campos de pesquisa
                        // --------------------------------------------------------
                    }
                    // --------------------------------------------------------
                }
                // ------------------------------------------------------------------------------
            }
            // ------------------------------------------------------------------------------
        }
        // ------------------------------------------------------------------------------
    }
    // ------------------------------------------------------------------------------
    // querys de retorno -----------------------------------------------------
    $querys_retorno[0] = "select *from {$tabela} where {$campos_pesquisa} {$condicao_limite};";
    // limite
    $querys_retorno[1] = "select *from {$tabela} where {$campos_pesquisa};";
    // completa
    // ------------------------------------------------------------------------------
    // retorno -------------------------------------------------------------------
    return $querys_retorno;
    // retorno
    // ------------------------------------------------------------------------------
}
function retorne_primeiro_link_array_pesquisa_inteligente($lista_links, $termo_pesquisa, $host_site)
{
    // globals ----------------------------------------------------------------------------
    global $separador_dados_tabela;
    // separador de dados na tabela
    $busca_exata = retorne_busca_exata();
    // busca exata
    // ----------------------------------------------------------------------------------------
    // link de retorno --------------------------------------------------------------------
    $link_retorno = null;
    // link de retorno
    // ----------------------------------------------------------------------------------------
    // array com termos de pesquisa ------------------------------------
    $array_termos_pesquisa = retorne_array_termos_pesquisa($termo_pesquisa);
    // array com termos de pesquisa
    // ------------------------------------------------------------------------------
    // cria array de links --------------------------------------------------------------
    $array_links = explode($separador_dados_tabela, $lista_links);
    // cria array de links
    // ----------------------------------------------------------------------------------------
    // remove duplicatas se houver ------------------------------------------------
    $array_links = array_unique($array_links);
    // remove duplicatas se houver
    // ----------------------------------------------------------------------------------------
    // verifica se a busca e exata ou parcial ------------------------
    if ($busca_exata == 1) {
        $procurar_ocorrencia_termo = true;
        // busca exata
    } else {
        $procurar_ocorrencia_termo = false;
        // busca nao exata
    }
    // ----------------------------------------------------------------------------
    // varrendo links ------------------------------------------------------------------
    foreach ($array_links as $url_link) {
        // retorna o host da url ----------------------------------------------------------
        $host_url_link = retorna_host_url($url_link);
        // retorna o host da url
        // ----------------------------------------------------------------------------------------
        // termo encontrado dentro de array de links ------------------------------
        if ($host_url_link == $host_site) {
            $resposta_array_contem_link = retorne_array_site_contem_termo_pesquisa($array_termos_pesquisa, $url_link);
            // resposta se o array contem o primeiro link
            $termo_encontrado_resposta = $resposta_array_contem_link[0];
            // termo encontrado dentro de array de links
        } else {
            $termo_encontrado_resposta = false;
            // termo nao encontrado
        }
        // ----------------------------------------------------------------------------------------
        // verifica se o link tem o termo de pesquisa ----------------------------
        if ($termo_encontrado_resposta == $procurar_ocorrencia_termo) {
            // link de retorno ----------------------------------------------------------------
            $link_retorno = $url_link;
            // link de retorno
            // ------------------------------------------------------------------------------------
            // parando laco foreach ------------------------------------------------------
            break;
            // parando laco foreach
            // ------------------------------------------------------------------------------------
        }
        // ----------------------------------------------------------------------------------------
    }
    // ----------------------------------------------------------------------------------------
    // retorno com link ----------------------------------------------------------------
    return $link_retorno;
    // retorno com link
    // ----------------------------------------------------------------------------------------
}
function monta_pagina_inicial()
{
    $modo_pesquisa = retorne_modo_pesquisa();
    // modo de pesquisa
    $pagina_numero = pagina_atual_get();
    // pagina atual
    $busca_exata = retorne_busca_exata();
    // busca exata
    global $nome_do_sistema;
    // nome do sistema
    global $url_do_servidor;
    // url de servidor
    global $resultados_busca_termos;
    // resultados de pesquisa
    global $opcoes_busca_site;
    // opcoes de busca
    global $descricao_basica_site_meta_tag;
    // descricao do site
    global $nome_desenvolvedor_projeto;
    // nome do desenvolvedor
    global $tags_site;
    // tags do site
    global $endereco_url_arquivos;
    // endereco url de arquivos
    $termo_pesquisa = termo_pesquisa_get();
    // termo de pesquisa
    $titulo_pagina = $nome_do_sistema;
    // titulo da pagina
    $url_pesquisa_completa[1] = "index.php?termo_pesquisa={$termo_pesquisa}&modo_pesquisa=1&busca_exata={$busca_exata}";
    // url de pesquisa completa
    $url_pesquisa_completa[2] = "index.php?termo_pesquisa={$termo_pesquisa}&modo_pesquisa=2&busca_exata={$busca_exata}";
    // url de pesquisa completa
    if ($termo_pesquisa != null) {
        $pesquisa_atual .= "<div class='div_modos_pesquisa'>";
        // pesquisa atual
        $pesquisa_atual .= "<a href='{$url_pesquisa_completa['1']}' class='classe_links_opcoes_busca' title='Web'>{$opcoes_busca_site['1']}</a>";
        // pesquisa atual
        $pesquisa_atual .= "<a href='{$url_pesquisa_completa['2']}' class='classe_links_opcoes_busca' title='Imagens'>{$opcoes_busca_site['2']}</a>";
        // pesquisa atual
        $pesquisa_atual .= "</div>";
        // pesquisa atual
        $pesquisa_atual .= "<br>";
        // pesquisa atual
        $pesquisa_atual .= "<div class='div_termo_pesquisa_atual'>";
        // pesquisa atual
        $pesquisa_atual .= "Pesquisando por ";
        // pesquisa atual
        $pesquisa_atual .= "<a href='{$url_pesquisa_completa['1']}' title='{$termo_pesquisa}'>";
        // pesquisa atual
        $pesquisa_atual .= "<b>";
        // pesquisa atual
        $pesquisa_atual .= $termo_pesquisa;
        // pesquisa atual
        $pesquisa_atual .= "</b>";
        // pesquisa atual
        $pesquisa_atual .= "</a>";
        // pesquisa atual
        $pesquisa_atual .= "</div>";
        // pesquisa atual
        $pesquisa_atual .= $resultados_busca_termos;
        // pesquisa atual
    }
    $codigo_html_pagina .= "<html>";
    // codigo html da pagina inicial
    $codigo_html_pagina .= "<head>";
    // codigo html da pagina inicial
    $codigo_html_pagina .= "<meta charset='UTF-8'>";
    // codigo html da pagina inicial
    $codigo_html_pagina .= "<meta name='description' content='{$descricao_basica_site_meta_tag}'>";
    // codigo html da pagina inicial
    $codigo_html_pagina .= "<meta name='author' content='{$nome_desenvolvedor_projeto}'>";
    // codigo html da pagina inicial
    $codigo_html_pagina .= "<meta name='keywords' content='{$tags_site}'>";
    // codigo html da pagina inicial
    $codigo_html_pagina .= "<link rel='stylesheet' type='text/css' href='{$endereco_url_arquivos['3']}'>";
    // codigo html da pagina inicial
    $codigo_html_pagina .= "<link rel='stylesheet' type='text/css' href='{$endereco_url_arquivos['1']}'>";
    // codigo html da pagina inicial
    $codigo_html_pagina .= "";
    // codigo html da pagina inicial
    $codigo_html_pagina .= "";
    // codigo html da pagina inicial
    $codigo_html_pagina .= "<meta name='viewport' content='width=device-width'/>";
    // codigo html da pagina inicial
    $codigo_html_pagina .= "<title>";
    // codigo html da pagina inicial
    $codigo_html_pagina .= $titulo_pagina;
    // codigo html da pagina inicial
    $codigo_html_pagina .= "</title>";
    // codigo html da pagina inicial
    $codigo_html_pagina .= "</head>";
    // codigo html da pagina inicial
    $codigo_html_pagina .= "<body>";
    // codigo html da pagina inicial
    $codigo_html_pagina .= "<div class='div_corpo_pagina'>";
    // codigo html da pagina
    $codigo_html_pagina .= barra_topo_pagina_inicial();
    // codigo html da pagina inicial
    $codigo_html_pagina .= "<div id='div_painel_principal_pagina_inicial'>";
    // codigo html da pagina inicial
    $codigo_html_pagina .= barra_pesquisa_pagina_inicial();
    // codigo html da pagina inicial
    $codigo_html_pagina .= $pesquisa_atual;
    // codigo html da pagina inicial
    $codigo_html_pagina .= "</div>";
    // codigo html da pagina inicial
    $codigo_html_pagina .= barra_rodape_pagina_inicial();
    // codigo html da pagina inicial
    $codigo_html_pagina .= "</div>";
    // codigo html da pagina
    $codigo_html_pagina .= "</body>";
    // codigo html da pagina inicial
    $codigo_html_pagina .= "<script type='text/javascript' src='{$endereco_url_arquivos['0']}'></script>";
    // codigo html da pagina inicial
    $codigo_html_pagina .= "<script type='text/javascript' src='{$endereco_url_arquivos['2']}'></script>";
    // codigo html da pagina inicial
    $codigo_html_pagina .= "</html>";
    // codigo html da pagina inicial
    return $codigo_html_pagina;
    // retorno
}
function proximas_paginas_busca_inteligente($numero_resultados)
{
    // globals ----------------------------------------------------------------------------
    global $numero_maximo_resultados_pagina_busca_inteligente;
    // numero maximo de resultados por paginas
    global $numero_proximas_pagina_mudar_index;
    // numero de paginas proximas paginas que podem ser exibidas
    $modo_pesquisa = retorne_modo_pesquisa();
    // modo de pesquisa
    $pagina_numero = pagina_atual_get();
    // pagina atual
    $busca_exata = retorne_busca_exata();
    // busca exata
    // ----------------------------------------------------------------------------------------
    // termo de pesquisa --------------------------------------------------
    $termo_pesquisa = termo_pesquisa_get();
    // termo de pesquisa
    // ----------------------------------------------------------------------------
    // calcula numero de paginas pode formar ------------------------------
    $numero_paginas = $numero_resultados / $numero_maximo_resultados_pagina_busca_inteligente;
    // calculando
    $numero_paginas = round($numero_paginas);
    // arredonda
    // ----------------------------------------------------------------------------------------
    // se o numero de paginas for apenas 1 ou menos 0 retorne nulo --
    if ($numero_paginas <= 1) {
        return null;
        // retorno nulo
    }
    // ----------------------------------------------------------------------------------------
    // contador --------------------------------------------------------------------------
    $contador[0] = $pagina_numero - 5;
    // contador
    $contador[1] = 1;
    // subcontador de numero de links por pagina
    // ----------------------------------------------------------------------------------------
    // links para proximas paginas ------------------------------------------------
    for ($contador[0] == $contador[0]; $contador[0] <= $numero_paginas; $contador[0]++) {
        // proxima pagina ------------------------------------------------------------------
        $proxima_pagina_numero = $contador[0];
        // proxima pagina
        // ----------------------------------------------------------------------------------------
        // texto de link indicando numero de proxima pagina ------------------
        $proxima_pagina_numero_texto = $proxima_pagina_numero + 1;
        // texto de link
        // ----------------------------------------------------------------------------------------
        // atualiza subcontador de links ----------------------------------------------
        if ($proxima_pagina_numero >= 0) {
            $contador[1]++;
            // atualiza subcontador de links
        }
        // ----------------------------------------------------------------------------------------
        // verifica se atingiu o limite de links proximas pagina por pesquisa
        if ($contador[1] > $numero_proximas_pagina_mudar_index) {
            break;
            // saindo de for
        }
        // ----------------------------------------------------------------------------------------
        // url de pagina --------------------------------------------------------------------
        if ($pagina_numero != $proxima_pagina_numero) {
            // link para proxima pagina ------------------------------------------------------
            $url_pagina .= "<a href='index.php?termo_pesquisa={$termo_pesquisa}&modo_pesquisa={$modo_pesquisa}&pagina_numero={$proxima_pagina_numero}&busca_exata={$busca_exata}' class='btn btn-primary btn-xs'>";
            // url de pagina
            $url_pagina .= $proxima_pagina_numero_texto;
            // url de pagina
            $url_pagina .= "</a>";
            // url de pagina
            $url_pagina .= "&nbsp;";
            // url de pagina
            $url_pagina .= "&nbsp;";
            // url de pagina
            // ----------------------------------------------------------------------------------------
        } else {
            // informa a pagina que esta --------------------------------------------------
            $url_pagina .= "<font size='7'><b>";
            // url de pagina
            $url_pagina .= "<a href='index.php?termo_pesquisa={$termo_pesquisa}&modo_pesquisa={$modo_pesquisa}&pagina_numero={$proxima_pagina_numero}&busca_exata={$busca_exata}'>";
            // url de pagina
            $url_pagina .= $proxima_pagina_numero_texto;
            // url de pagina
            $url_pagina .= "</a>";
            // url de pagina
            $url_pagina .= "&nbsp;";
            // url de pagina
            $url_pagina .= "&nbsp;";
            // url de pagina
            $url_pagina .= "</b></font>";
            // url de pagina
            // ----------------------------------------------------------------------------------------
        }
        // ----------------------------------------------------------------------------------------
        // se o numero de proxima pagina for negativo url e nula ------------
        if ($proxima_pagina_numero < 0) {
            $url_pagina = null;
            // url de pagina
        }
        // ----------------------------------------------------------------------------------------
    }
    // ----------------------------------------------------------------------------------------
    // pagina anterior e proxima --------------------------------------------------
    $pagina_anterior = $pagina_numero - 1;
    // pagina anterior
    $pagina_posterior = $proxima_pagina_numero + 1;
    // proxima pagina
    // ----------------------------------------------------------------------------------------
    // link pagina anterior ------------------------------------------------------------
    if ($pagina_anterior > -1) {
        $links[0] = "<a href='index.php?termo_pesquisa={$termo_pesquisa}&modo_pesquisa={$modo_pesquisa}&pagina_numero={$pagina_anterior}&busca_exata={$busca_exata}'>Anterior</a>";
        // primeiro link
    }
    // ----------------------------------------------------------------------------------------
    // link para proxima pagina ------------------------------------------------------
    if ($pagina_posterior < $numero_paginas) {
        $links[1] = "<a href='index.php?termo_pesquisa={$termo_pesquisa}&modo_pesquisa={$modo_pesquisa}&pagina_numero={$pagina_posterior}&busca_exata={$busca_exata}'>Mais</a>";
        // ultimo link
    }
    // ----------------------------------------------------------------------------------------
    // lista com links de retorno ----------------------------------------------------
    $lista_links_retorno .= "<div class='div_lista_links_retorno'>";
    // lista com links de retorno
    $lista_links_retorno .= $links[0];
    // lista com links de retorno
    $lista_links_retorno .= "&nbsp;";
    // lista com links de retorno
    $lista_links_retorno .= "&nbsp;";
    // lista com links de retorno
    $lista_links_retorno .= $url_pagina;
    // lista com links de retorno
    $lista_links_retorno .= "&nbsp;";
    // lista com links de retorno
    $lista_links_retorno .= "&nbsp;";
    // lista com links de retorno
    $lista_links_retorno .= $links[1];
    // lista com links de retorno
    $lista_links_retorno .= "</div>";
    // lista com links de retorno
    // ----------------------------------------------------------------------------------------
    // retorno ------------------------------------------------------------------------------
    return $lista_links_retorno;
    // retorno
    // ----------------------------------------------------------------------------------------
}
function retorne_array_site_contem_termo_pesquisa($array_termos_pesquisa, $url_link)
{
    // retorna o host da url ----------------------------------------------------------
    $host_url_link = retorna_host_url($url_link);
    // retorna o host da url
    // ----------------------------------------------------------------------------------------
    // titulo do link ----------------------------------------------------------------------
    $titulo_link = basename($url_link);
    // titulo do link
    // ----------------------------------------------------------------------------------------
    // converte titulo para minusculo --------------------------------------------
    $titulo_link = strtolower($titulo_link);
    // converte titulo para minusculo
    // --------------------------------------------------------------------------------------
    // array de retorno ----------------------------------------------------------------
    $array_retorno = array();
    // array de retorno
    // --------------------------------------------------------------------------------------
    // obtendo termos de pesquisa de array ----------------------------------
    foreach ($array_termos_pesquisa as $termo_pesquisa_array) {
        // retorna url de imagem -------------------------
        if (retorne_modo_pesquisa() == 2) {
            $url_link = retorna_url_imagem_string($url_link);
            // url de imagem
        }
        // --------------------------------------------------------
        // valida link ------------------------------------------
        if ($url_link == null) {
            return null;
            // retorno nulo
        }
        // --------------------------------------------------------
        // verifica se a busca e exata -------------------
        if (retorne_busca_exata() == 1) {
            // verifica se termo existe em array ------------
            if (strpos($url_link, $termo_pesquisa_array) == true) {
                // atualizando array --------------------------------
                $array_retorno[0] = true;
                // retorno verdadeiro
                $array_retorno[1] = $url_link;
                // endereco de link
                // --------------------------------------------------------
                // parando foreach --------------------------------
                break;
                // parando foreach
                // --------------------------------------------------------
            } else {
                // atualizando array --------------------------------
                $array_retorno[0] = false;
                // retorno falso
                $array_retorno[1] = $url_link;
                // sem link
                // --------------------------------------------------------
                // parando foreach --------------------------------
                break;
                // parando foreach
                // --------------------------------------------------------
            }
            // --------------------------------------------------------
        } else {
            // verifica se termo existe em array ------------
            if (strpos($url_link, $termo_pesquisa_array) == true or strpos($url_link, $termo_pesquisa_array) == false) {
                // atualizando array --------------------------------
                $array_retorno[0] = false;
                // retorno verdadeiro
                $array_retorno[1] = $url_link;
                // endereco de link
                // --------------------------------------------------------
                // parando foreach --------------------------------
                break;
                // parando foreach
                // --------------------------------------------------------
            }
            // --------------------------------------------------------
        }
        // --------------------------------------------------------
    }
    // --------------------------------------------------------------------------------------
    // retorna array --------------------------------------
    return $array_retorno;
    // retorna array
    // --------------------------------------------------------
}
function separa_imagens_busca($imagens_site_geral, $host_site)
{
    // global ------------------------------------------------------------------
    global $separador_dados_tabela;
    // separador de dados em tabela
    global $numero_maximo_imagens_host_busca_inteligente;
    // numero maximo de imagens a exibir por host de pesquisa no modo imagens
    $busca_exata = retorne_busca_exata();
    // busca exata
    // ----------------------------------------------------------------------------
    // termo de pesquisa --------------------------------------------------
    $termo_pesquisa = termo_pesquisa_get();
    // termo de pesquisa
    // ----------------------------------------------------------------------------
    // array com termos de pesquisa ------------------------------------
    $array_termos_pesquisa = retorne_array_termos_pesquisa($termo_pesquisa);
    // array com termos de pesquisa
    // ------------------------------------------------------------------------------
    // array de dados de imagens ------------------------------------
    $array_imagens = explode($separador_dados_tabela, $imagens_site_geral);
    // array de dados de imagens
    // ----------------------------------------------------------------------------
    // remove duplicatas se houver ------------------------------------
    $array_imagens = array_unique($array_imagens);
    // removendo duplicatas
    // ----------------------------------------------------------------------------
    // contador de resultados encontrados ------------------------
    $contador = 0;
    // contador de resultados encontrados
    // ----------------------------------------------------------------------------
    // verifica se a busca e exata ou parcial ------------------------
    if ($busca_exata == 1) {
        $procurar_ocorrencia_termo = true;
        // busca exata
    } else {
        $procurar_ocorrencia_termo = false;
        // busca nao exata
    }
    // ----------------------------------------------------------------------------
    // obtendo imagens --------------------------------------------------
    foreach ($array_imagens as $url_imagem) {
        // host da imagem ----------------------------------------------------
        $host_imagem = retorna_host_url($url_imagem);
        // host de imagem
        // ----------------------------------------------------------------------------
        // completa url de imagem em caso de host nulo ----------
        if ($host_imagem == null) {
            $url_imagem = "http://" . $host_site . "/" . $url_imagem;
            // completa url de imagem em caso de host nulo
        }
        // ----------------------------------------------------------------------------
        // titulo da imagem ----------------------------------------------------
        $titulo_imagem = basename($url_imagem);
        // titulo da imagem
        // ----------------------------------------------------------------------------
        // imagem encontrada ----------------------------------------------
        if ($host_imagem != null) {
            $imagem_encontrada .= "<a href='{$url_imagem}' target='_blank'>";
            // imagem encontrada
            $imagem_encontrada .= "<img class='imagem_resposta_busca_inteligente' src='{$url_imagem}' alt='{$titulo_imagem}' title='{$titulo_imagem}'>";
            // imagem encontrada
            $imagem_encontrada .= "</a>";
            // imagem encontrada
        }
        // ----------------------------------------------------------------------------
        // converte titulo de imagem para minusculo ------------------
        $titulo_imagem = strtolower($titulo_imagem);
        // converte titulo de imagem para minusculo
        // ----------------------------------------------------------------------------
        // termo encontrado dentro de array de links ------------------
        $termo_encontrado_resposta = retorne_array_site_contem_termo_pesquisa($array_termos_pesquisa, $url_imagem);
        // termo encontrado dentro de array de links
        $termo_encontrado_resposta = $termo_encontrado_resposta[0];
        // verifica se encontrou o link da imagem
        // ----------------------------------------------------------------------------
        // verifica se a imagem tem o termo de pesquisa ----------
        if ($termo_encontrado_resposta == $procurar_ocorrencia_termo) {
            // imagem completa ------------------------------------------------
            $imagem_completa .= $imagem_encontrada;
            // imagem completa
            // --------------------------------------------------------------------------
            // atualiza o contador ------------------------------------------------
            $contador++;
            // atualiza o contador
            // ----------------------------------------------------------------------------
            // verifica limite de numero de imagens ----------------------
            if ($contador >= $numero_maximo_imagens_host_busca_inteligente) {
                return $imagem_completa;
                // retorno
            }
            // ----------------------------------------------------------------------------
        }
        // ----------------------------------------------------------------------------
        // limpando dados ----------------------------------------------------
        $imagem_encontrada = null;
        // limpando
        // --------------------------------------------------------------------------
    }
    // ----------------------------------------------------------------------------
    // retorno ------------------------------------------------------------------
    return $imagem_completa;
    // retorno
    // ----------------------------------------------------------------------------
}
function buscar_host($nome_conexao)
{
    // globals ------------------------------------------------------------------
    global $numero_maximo_resultados_pagina_busca_inteligente;
    // numero maximo de resultados por pagina
    global $resultados_busca_termos;
    // resultados de busca inteligente
    // ----------------------------------------------------------------------------
    // termo de pesquisa -------------------------------------------------
    $termo_pesquisa = termo_pesquisa_get();
    // termo de pesquisa
    // ----------------------------------------------------------------------------
    // modo de pesquisa --------------------------------------------------
    $modo_pesquisa = retorne_modo_pesquisa();
    // modo de pesquisa
    // ----------------------------------------------------------------------------
    // tipo de busca ---------------------------------------------------------
    $busca_exata = retorne_busca_exata();
    // tipo de busca
    // ----------------------------------------------------------------------------
    // valida termo de pesquisa -----------------------------------------
    if ($termo_pesquisa == null) {
        return null;
        // valida termo de pesquisa
    }
    // ----------------------------------------------------------------------------
    // codifica para utf-8 --------------------------------------------------
    $termo_pesquisa = utf8_decodificar($termo_pesquisa);
    // codifica para utf-8
    // ----------------------------------------------------------------------------
    // dados de array de retorno --------------------------------------
    $dados_array_retorno = array();
    // dados de array de retorno
    // ----------------------------------------------------------------------------
    // query --------------------------------------------------------------------
    $query = retorna_query_pesquisa($termo_pesquisa);
    // query
    // ----------------------------------------------------------------------------
    // comando --------------------------------------------------------------
    $comando = comando_executa($query[0], $nome_conexao);
    // comando
    // ----------------------------------------------------------------------------
    // numero de linhas ----------------------------------------------------
    $numero_linhas = retorne_numero_linhas_comando($comando);
    // numero de linhas
    // ----------------------------------------------------------------------------
    // dados de pacote -----------------------------------------------------
    $dados_pacote = monta_pacote_retorno_busca($comando);
    // dados de pacote
    // ----------------------------------------------------------------------------
    // numero de resultados validos -----------------------------------
    $numero_resultados_validos = retorne_numero_linhas_query($query[1]);
    // numero de resultados validos
    // ----------------------------------------------------------------------------
    // lista dados de pacote ----------------------------------------------
    foreach ($dados_pacote as $conteudo_pacote) {
        // valida conteudo de pacote ---------------------------------------
        if ($conteudo_pacote != null) {
            $lista_resultados_retorno .= $conteudo_pacote;
            // atualizando
        }
        // ----------------------------------------------------------------------------
    }
    // ----------------------------------------------------------------------------
    // verifica o tipo de busca atual exata ou nao ------------------
    if ($busca_exata == 1) {
        $informacao_sobre_pesquisa_imagem .= "<br>";
        // informacao sobre pesquisa de imagem
        $informacao_sobre_pesquisa_imagem .= "Para otimizar a pesquisa de imagens, ";
        // informacao sobre pesquisa de imagem
        $informacao_sobre_pesquisa_imagem .= "apenas links de imagens que contenham <b>{$termo_pesquisa}</b> serĂ£o exibidas!";
        // informacao sobre pesquisa de imagem
        $informacao_sobre_pesquisa_imagem .= "<br>";
        // informacao sobre pesquisa de imagem
        $informacao_sobre_pesquisa_imagem .= "<br>";
        // informacao sobre pesquisa de imagem
        $informacao_sobre_pesquisa_imagem .= "<a href='index.php?termo_pesquisa={$termo_pesquisa}&modo_pesquisa={$modo_pesquisa}&pagina_numero=0&busca_exata=0' class='btn btn-primary btn-xs'><b>busca aproximada</b></a>";
        // informacao sobre pesquisa de imagem
    } else {
        $informacao_sobre_pesquisa_imagem .= "<br>";
        // informacao sobre pesquisa de imagem
        $informacao_sobre_pesquisa_imagem .= "<br>";
        // informacao sobre pesquisa de imagem
        $informacao_sobre_pesquisa_imagem .= "<a href='index.php?termo_pesquisa={$termo_pesquisa}&modo_pesquisa={$modo_pesquisa}&pagina_numero=0&busca_exata=1' class='btn btn-success btn-xs'><b>Busca exata!</b></a>";
        // informacao sobre pesquisa de imagem
    }
    // ------------------------------------------------------------------------------
    // div com resultados organizados --------------------------------
    $div_com_resultados_organizados .= "<div class='div_com_resultados_organizados'>";
    // div com resultados organizados
    $div_com_resultados_organizados .= $lista_resultados_retorno;
    // div com resultados organizados
    $div_com_resultados_organizados .= "</div>";
    // div com resultados organizados
    // ----------------------------------------------------------------------------
    // div com resultados organizados --------------------------------
    $div_com_resultados_organizados .= "<div class='div_com_resultados_organizados'>";
    // div com resultados organizados
    $div_com_resultados_organizados .= "<br>";
    // div com resultados organizados
    $div_com_resultados_organizados .= criar_tags_busca_inteligente();
    // div com resultados organizados
    $div_com_resultados_organizados .= proximas_paginas_busca_inteligente($numero_resultados_validos);
    // div com resultados organizados
    $div_com_resultados_organizados .= "</div>";
    // div com resultados organizados
    // -----------------------------------------------------------------------------
    // adiciona resultados ja organizados ----------------------------
    $lista_resultados_retorno = $div_com_resultados_organizados;
    // adiciona resultados ja organizados
    // ------------------------------------------------------------------------------
    // atualiza resultado final --------------------------------------------
    $resultados_busca_termos .= $lista_resultados_retorno;
    // atualizando
    // ----------------------------------------------------------------------------
    // div com resultados organizados --------------------------------
    $div_com_resultados_organizados = null;
    // div com resultados organizados
    $div_com_resultados_organizados .= "<div class='div_com_resultados_organizados'>";
    // div com resultados organizados
    $div_com_resultados_organizados .= "<div class='div_numero_resultados_busca_inteligente'>";
    // div com resultados organizados
    $div_com_resultados_organizados .= "Encontrados aproximadamente";
    // div com resultados organizados
    $div_com_resultados_organizados .= "&nbsp;";
    // div com resultados organizados
    $div_com_resultados_organizados .= "(";
    // div com resultados organizados
    $div_com_resultados_organizados .= $numero_resultados_validos;
    // div com resultados organizados
    $div_com_resultados_organizados .= ")";
    // div com resultados organizados
    $div_com_resultados_organizados .= "&nbsp;";
    // div com resultados organizados
    $div_com_resultados_organizados .= "sites contendo <b>{$termo_pesquisa}</b>.";
    // div com resultados organizados
    $div_com_resultados_organizados .= $informacao_sobre_pesquisa_imagem;
    // div com resultados organizados
    $div_com_resultados_organizados .= "</div>";
    // div com resultados organizados
    $div_com_resultados_organizados .= "</div>";
    // div com resultados organizados
    // ----------------------------------------------------------------------------
    // atualiza resultado final --------------------------------------------
    $resultados_busca_termos = $div_com_resultados_organizados . $resultados_busca_termos;
    // atualiza resultado final
    // ---------------------------------------------------------------------
}