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 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 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 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 monta_pacote_retorno_busca($comando)
{
    // globals ----------------------------------------------------------------
    $modo_pesquisa = retorne_modo_pesquisa();
    // modo de pesquisa
    global $tamanho_maximo_descricao_exibir_site_pesquisa;
    // tamanho de caracteres de descricao
    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
    global $tamanho_maximo_titulo_resultado_pesquisa;
    // tamanho maximo de titulo de pesquisa
    // ----------------------------------------------------------------------------
    // termo de pesquisa --------------------------------------------------
    $termo_pesquisa = termo_pesquisa_get();
    // termo de pesquisa
    // ----------------------------------------------------------------------------
    // numero de linhas ----------------------------------------------------
    $numero_linhas = retorne_numero_linhas_comando($comando);
    // numero de linhas
    // ----------------------------------------------------------------------------
    // contador --------------------------------------------------------------
    $contador = 0;
    // contador
    // ----------------------------------------------------------------------------
    // dados de array de retorno --------------------------------------
    $dados_array_retorno = array();
    // dados de array de retorno
    // ----------------------------------------------------------------------------
    // varrendo dados ----------------------------------------------------
    for ($contador == $contador; $contador <= $numero_linhas; $contador++) {
        // dados ------------------------------------------------------------------
        $dados = mysql_fetch_array($comando, MYSQL_ASSOC);
        // dados
        // ----------------------------------------------------------------------------
        // separando dados --------------------------------------------------
        $host_site = $dados['host_site'];
        // dados de tabela
        $url_pagina = $dados['url_pagina'];
        // dados de tabela
        $titulo_site = codificacao_unicode($dados['titulo_site']);
        // dados de tabela
        $description_site = codificacao_unicode($dados['description_site']);
        // dados de tabela
        $links_internos_site = $dados['links_internos_site'];
        // dados de tabela
        $imagens_site_geral = $dados['imagens_site_geral'];
        // dados de tabela
        $conteudo_site = codificacao_unicode($dados['conteudo_site']);
        // conteudo do site
        // --------------------------------------------------------------------------
        // limita tamanho de titulo -------------------------------------------
        if (strlen($titulo_site) > $tamanho_maximo_titulo_resultado_pesquisa) {
            $titulo_site = substr($titulo_site, 0, $tamanho_maximo_titulo_resultado_pesquisa) . "...";
            // limita tamanho de titulo
        }
        // ----------------------------------------------------------------------------
        // primeiro link com termo de busca ----------------------------
        $link_termo_busca = retorne_primeiro_link_array_pesquisa_inteligente($links_internos_site, $termo_pesquisa, $host_site);
        // primeiro link com termo de busca
        // ---------------------------------------------------------------------------
        // link encontrado resposta ----------------------------------------
        if ($link_termo_busca != null) {
            $link_encontrado_resposta = true;
            // link encontrado
        } else {
            $link_encontrado_resposta = false;
            // link nao encontrado
        }
        // ----------------------------------------------------------------------------
        // adiciona link a titulo ----------------------------------------------
        if ($link_encontrado_resposta == true) {
            $titulo_site = "<a href='{$link_termo_busca}' title='{$titulo_site}' target='_blank' class='classe_link_titulo_pesquisa'>{$titulo_site}</a>";
            // adiciona link a titulo
        } else {
            $titulo_site = "<a href='{$url_pagina}' title='{$titulo_site}' target='_blank' class='classe_link_titulo_pesquisa'>{$titulo_site}</a>";
            // adiciona link a titulo
        }
        // ----------------------------------------------------------------------------
        // limita tamanho de descricao ----------------------------------
        if (strlen($description_site) > $tamanho_maximo_descricao_exibir_site_pesquisa) {
            $description_site = substr($description_site, 0, $tamanho_maximo_descricao_exibir_site_pesquisa) . "...";
        }
        // ----------------------------------------------------------------------------
        // separando imagens_busca ------------------------------------
        if ($modo_pesquisa == 2) {
            $imagens_busca = separa_imagens_busca($imagens_site_geral, $host_site);
            // separando imagens_busca
        }
        // ----------------------------------------------------------------------------
        // conteudo do host --------------------------------------------------
        if ($host_site != null) {
            // modo de pesquisa ------------------------------------------------
            if ($modo_pesquisa != 2) {
                // conteudo com link ------------------------------------------------
                $conteudo_host .= "<div class='div_resultado_busca_inteligente_web'>";
                // conteudo do host
                $conteudo_host .= $titulo_site;
                // conteudo do host
                $conteudo_host .= "<br>";
                // conteudo do host
                $conteudo_host .= "<b>";
                // conteudo do host
                $conteudo_host .= $host_site;
                // conteudo do host
                $conteudo_host .= "</b>";
                // conteudo do host
                $conteudo_host .= "<br>";
                // conteudo do host
                $conteudo_host .= $description_site;
                // conteudo do host
                $conteudo_host .= "</div>";
                // conteudo do host
                $conteudo_host .= "<br>";
                // conteudo do host
                // ----------------------------------------------------------------------------
            } else {
                // conteudo com imagem ------------------------------------------------
                if (count($imagens_busca) > 0) {
                    $conteudo_host .= "<div class='div_resultado_busca_inteligente_imagens'>";
                    // conteudo do host
                    $conteudo_host .= $titulo_site;
                    // conteudo do host
                    $conteudo_host .= "<br>";
                    // conteudo do host
                    $conteudo_host .= "<b>";
                    // conteudo do host
                    $conteudo_host .= $host_site;
                    // conteudo do host
                    $conteudo_host .= "</b>";
                    // conteudo do host
                    $conteudo_host .= "<br>";
                    // conteudo do host
                    $conteudo_host .= $description_site;
                    // conteudo do host
                    $conteudo_host .= "<br>";
                    // conteudo do host
                    $conteudo_host .= "<br>";
                    // conteudo do host
                    $conteudo_host .= $imagens_busca;
                    // conteudo do host
                    $conteudo_host .= "</div>";
                    // conteudo do host
                }
                // ----------------------------------------------------------------------------
            }
            // ----------------------------------------------------------------------------
        }
        // ----------------------------------------------------------------------------
        // modo de pesquisa de imagens ou web --------------------
        if ($modo_pesquisa == 2) {
            // modo imagens atualiza array ----------------------------------
            $dados_array_retorno[$contador] = $conteudo_host;
            // atualizando tabela
            // ----------------------------------------------------------------------------
        } else {
            // modo web atualiza array ----------------------------------------
            if ($link_encontrado_resposta == true) {
                $dados_array_retorno[$contador] = $conteudo_host;
                // atualizando tabela
            }
            // ----------------------------------------------------------------------------
        }
        // ----------------------------------------------------------------------------
        // limpando dados antigos ------------------------------------------
        $conteudo_host = null;
        // limpando dados antigos
        // ----------------------------------------------------------------------------
    }
    // ----------------------------------------------------------------------------
    // inverte a ordem de resultados ----------------------------------
    if (count($dados_array_retorno) > 0) {
        $dados_array_retorno = array_reverse($dados_array_retorno);
        // inverte a ordem de resultados
    }
    // ----------------------------------------------------------------------------
    // retorno de dados --------------------------------------------------
    return $dados_array_retorno;
    // retorno de dados
    // ----------------------------------------------------------------------------
}
function criar_tags_busca_inteligente()
{
    // globals ------------------------------------------------------------------
    $modo_pesquisa = retorne_modo_pesquisa();
    // modo de pesquisa
    global $nome_do_sistema;
    // nome do sistema
    // ----------------------------------------------------------------------------
    // 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
    // ----------------------------------------------------------------------------
    $lista_retorno_tags = null;
    // links de retorno com tags de pesquisa
    // obtendo termos de pesquisa de array ------------------------
    foreach ($array_termos_pesquisa as $termo_pesquisa_array) {
        // url de pesquisa ------------------------------------------------------
        $url_termo_pesquisa = "index.php?termo_pesquisa={$termo_pesquisa_array}&modo_pesquisa={$modo_pesquisa}&busca_exata=1";
        // url com termo de pesquisa
        // ----------------------------------------------------------------------------
        // atualiza lista de retorno --------------------------------------------
        if (strlen($termo_pesquisa_array) > 3) {
            $lista_retorno_tags .= "<a href='{$url_termo_pesquisa}' title='{$termo_pesquisa_array}' class='btn btn-primary btn-xs'>{$termo_pesquisa_array}</a>";
            // atualizando lista
            $lista_retorno_tags .= "&nbsp;";
            // atualizando lista
        }
        // ----------------------------------------------------------------------------
    }
    // ----------------------------------------------------------------------------
    // div de retorno --------------------------------------------------------
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "<div class='div_sugestoes_pesquisa_inteligente'>";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "<font size='5'>";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "Sugestões de pesquisa do {$nome_do_sistema}";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "</font>";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "<br>";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "Se você não encontrou o que queria, clique numa das sugestões abaixo.";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "<br>";
    // div de retorno
    $div_retorno .= "<br>";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= $lista_retorno_tags;
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "</div>";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    // ----------------------------------------------------------------------------
    // retorno ------------------------------------------------------------------
    return $div_retorno;
    // retorno
    // ----------------------------------------------------------------------------
}
예제 #7
0
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
    // ---------------------------------------------------------------------
}
function barra_pesquisa_pagina_inicial()
{
    // globals ------------------------------------------------------------------------
    global $nome_do_sistema;
    // nome do sistema
    $modo_pesquisa = retorne_modo_pesquisa();
    // modo de pesquisa
    global $opcoes_busca_site;
    // opcoes de busca
    global $imagem_de_logotipo_meio;
    // imagem de logotipo do meio
    global $endereco_url_site_global;
    // enderecos urls
    // ------------------------------------------------------------------------------------
    // link adicionar site ------------------------------------
    $link_adicionar_site = "<a href='{$endereco_url_site_global['7']}' title='Seu site aqui'>Seu site aqui</a>";
    // link adicionar site
    // --------------------------------------------------------
    // termo de pesquisa -------------------------------------------------
    $termo_pesquisa = termo_pesquisa_get();
    // termo de pesquisa
    // ----------------------------------------------------------------------------
    // informa o tipo de pesquisa atual --------------------------------------
    switch ($modo_pesquisa) {
        case 1:
            $pesquisa_selecionada[$modo_pesquisa] = "selected";
            // modo de pesquisa
            break;
        case 2:
            $pesquisa_selecionada[$modo_pesquisa] = "selected";
            // modo de pesquisa
            break;
        case 3:
            $pesquisa_selecionada[$modo_pesquisa] = "selected";
            // modo de pesquisa
            break;
    }
    // ------------------------------------------------------------------------------------
    // select de modo de pesquisa ------------------------------------------
    $select_modo_pesquisa .= "<select class='modo_pesquisa' name='modo_pesquisa'>";
    // select de modo de pesquisa
    $select_modo_pesquisa .= "<option value='1' {$pesquisa_selecionada['1']}>{$opcoes_busca_site['1']}</option>";
    // select de modo de pesquisa
    $select_modo_pesquisa .= "<option value='2' {$pesquisa_selecionada['2']}>{$opcoes_busca_site['2']}</option>";
    // select de modo de pesquisa
    $select_modo_pesquisa .= "<option value='3' {$pesquisa_selecionada['3']}>{$opcoes_busca_site['3']}</option>";
    // select de modo de pesquisa
    $select_modo_pesquisa .= "</select>";
    // select de modo de pesquisa
    // ------------------------------------------------------------------------------------
    // barra de pesquisa ----------------------------------------------------------
    $barra_pesquisa .= "<div id='div_pesquisa_pagina_inicial'>";
    // barra de pesquisa
    $barra_pesquisa .= "<form action='index.php' method='get'>";
    // barra de pesquisa
    $barra_pesquisa .= $imagem_de_logotipo_meio;
    // barra de pesquisa
    $barra_pesquisa .= "<br>";
    // barra de pesquisa
    $barra_pesquisa .= "<input type='text' name='termo_pesquisa' id='barra_pesquisa_pagina_inicial' value='{$termo_pesquisa}' placeholder='Tablet, celular, computador' class='form-control'>";
    // barra de pesquisa
    $barra_pesquisa .= "<br>";
    // barra de pesquisa
    $barra_pesquisa .= "<input type='submit' class='btn btn-primary' value='Pesquisar'>";
    // barra de pesquisa
    $barra_pesquisa .= "&nbsp;";
    // barra de pesquisa
    $barra_pesquisa .= "&nbsp;";
    // barra de pesquisa
    $barra_pesquisa .= "<input type='button' class='btn btn-default' value='Limpar' onclick='limpar_caixa_busca_pesquisa();'>";
    // barra de pesquisa
    $barra_pesquisa .= "&nbsp;";
    // barra de pesquisa
    $barra_pesquisa .= "&nbsp;";
    // barra de pesquisa
    $barra_pesquisa .= $select_modo_pesquisa;
    // barra de pesquisa
    $barra_pesquisa .= campo_select_muda_tipo_busca();
    // barra de pesquisa
    $barra_pesquisa .= "&nbsp;";
    // barra de pesquisa
    $barra_pesquisa .= "&nbsp;";
    // barra de pesquisa
    $barra_pesquisa .= $link_adicionar_site;
    // barra de pesquisa
    $barra_pesquisa .= "<input type='hidden' value='0' name='pagina_numero'>";
    // barra de pesquisa
    $barra_pesquisa .= "<input type='hidden' value='1' name='busca_exata'>";
    // barra de pesquisa
    $barra_pesquisa .= "</form>";
    // barra de pesquisa
    $barra_pesquisa .= "</div>";
    // barra de pesquisa
    // ----------------------------------------------------------------------------------
    // retorno ------------------------------------------------------------------------
    return $barra_pesquisa;
    // retorno
    // ----------------------------------------------------------------------------------
}