Artigos com o marcador Programação
Visitor Maps não mostra mapas.
0Ao 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”
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:
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:
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
4Começ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!!!

