Artigos com o marcador Programação

Visitor Maps não mostra mapas.

0

Ao iniciar este blog me deparei com os vários plug-ins do WordPress, achei isso facinante, muitas utilidades com pouquissimo trabalho.

Navegando entre as milhões de opções achei um plug-in muito interessante chamado Visitor Maps and Who’s Online. Muitas funcionalidades foram informadas e acabei sendo convencido a instalar este surpreendende extra neste pequeno blog.

Para minha felicidade a instalação foi completamente descomplicada, em alguns cliques estava com varias informações geográficas sendo disponibilizadas no Painel e sem nenhum custo adicional de um serviço pago.

Após todas estas maravilhas tive que começar a descer do céu, pois o plug-in necessida de um banco de dados de aproximadamente 30Mb que deve ser colocado na sua pasta padrão. Tudo bem até que o Felippe fez o upload do arquivo rapidinho. Então novas funcionalidades surgiram: bandeiras dos países, coordenadas, latitude e longitude. Cada vez melhorando mais.

Até que me indago sobre: Visitor Maps, correto? Aonde estão os mapas? Depois de algumas visitas, cliques, tentativas … não consegui nada !!

Então acabei o espírito aventureiro falou mais alto fui me utilizar de recursos avançados com a ajuda do nosso ilustríssimo Homem Bit, Clemar.

Cenário:

  • WordPress 2.8.4
  • Visitor Maps 1.2.9

O problema:

A página é carregada, as localizações dos visitantes são informadas, mas o mapa de fundo não é exibido.

A pesquisa:

A partir deste problema, Clemar fez o download da imagem através do flashget e tentou abri-la, mas ocorreu o mesmo problema.

O próximo passo para diagnosticar o defeito da imagem utilizando um recurso muito útil na década de 80. Abrimos um prompt de comando e digitamos: “edit /70 imagem.jpg”

Edit DOS

Clemar verificou que o cabeçalho da imagem estava danificado, então a imagem foi alterada diretamente em seu código para tentar solucionar.

Então … Funcionou !! O visualizador do Windows conseguiu abrir a imagem sem problemas.

A nossa nova tarefa foi verificar se o arquivo que está no ftp não estava corrompido. Blz … O arquivo em perfeito estado.

A saída encontrada foi analisar o pacote de retorno do servidor para identificar o momento em que a imagem estava sendo corrompida. Para isso utilizamos um sniffer, um bem velinho, o Iris 4.0.

Com ele analisamos o tráfego:

Iris

Está explicado!! Estão sendo informados 3 CRLF de forma incorreta no cabeçalho da imagem e este foi o erro que conseguimos corrigir através do pré-histórico edit do DOS.

Mas como que descobrimos essa mágica. Nada melhor do que um pouco de teoria: part of Hypertext Transfer Protocol — HTTP/1.1 – RFC 2616 Fielding, et al. – Section 6 Response

Com este passo detectamos que o problema está no lado do servidor. Ufa, 50% a menos.

Examinando o código fonte chegamos ao class-wo-worldmap.php, um script que pega a imagem do servidor, faz algumas alterações e assim a exibe no navegador.

Após algumas horas de debug, chegamos a uma solução.

A solução:

Sabendo que o problema está na montagem do cabeçalho da imagem fomos direto ao ponto e colocando a prova todos os nossos conhecimentos de PHP, nos encontramos novamente com ob_end_clean.

Esta maravilhosa função limpa e desativa o buffer de saída, ou seja, qualquer lixo que exista é mandado embora. Como nós queremos somente o cabeçalho da imagem esta solução foi perfeita.

Um print para elucidar:

class-wo-worldmap

Conclusão:

Não temos certeza se esta é a melhor solução para o problema, ou se o desenvolvedor Mike Challis aprova.

Vamos entrar em contato e verificar a necessidade de correção, mas o nosso blog está exibindo os mapas!!

Dicas SQL – Limitando registros de uma consulta no BD

4

Começando com algumas dicas simples de MySQL:

Para mostrar o último registro de uma tabela podemos utilizar o seguinte comando:

select * from tabela order by id desc limit 1
O “desc” determina que os registros serão exibidos de forma decrescente.

Para exibir os 5 últimos registros de sua tabela:

select * from tabela order by id desc limit 5
Ou seja, o número após o “limit” é o que determina quantos registros serão exibidos.

Agora para mostrar apenas o penúltimo registro:

select * from tabela order by id desc limit 1,1

Sobre o comando acima, o primeiro número determina quantos registros serão “pulados”, e o segundo representa quantos registros serão mostrados.

Portanto, se quisermos mostrar o penúltimo e o antepenúltimo registro podemos utilizar o seguinte comando:

select * from tabela order by id desc limit 1,2

A partir daí dá pra conseguir muitos resultados específicos de uma tabela, lembrando que o campo id é um inteiro com auto incremento.

Até a próxima!!!

Go to Top
10 visitantes online agora
3 visitantes, 7 bots, 0 membros
Máx. de visitantes hoje: 16 às 07:59 am GMT+3
Este mês: 20 às 02-06-2012 06:23 pm GMT+3
Este ano: 30 às 01-15-2012 05:27 pm GMT+3
No total: 263 às 11-11-2009 02:50 pm GMT+3