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 .= " "; // url de pagina $url_pagina .= " "; // 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 .= " "; // url de pagina $url_pagina .= " "; // 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 .= " "; // lista com links de retorno $lista_links_retorno .= " "; // lista com links de retorno $lista_links_retorno .= $url_pagina; // lista com links de retorno $lista_links_retorno .= " "; // lista com links de retorno $lista_links_retorno .= " "; // 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 .= " "; // 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 .= " "; // 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 // --------------------------------------------------------------------- }