Ontem a noite eu ativei o módulo do Gravatar aqui no site, para eu pelo menos ver as carinhas de quem está comentando aqui no Blog.
Como eu disse, o Gravatar facilita a vida de quem comenta em sites, porque é um local centralizado, onde, você mudando sua imagem lá, todos os sites automaticamente estarão mostrando ela na internet.
Como o módulo Gravatar do Drupal está em desenvolvimento, muita coisa pode ainda gerar alguns problemas no processo de uso do mesmo. Um deles é que o infeliz não mostrava de jeito nenhum o avatar anônimo, ou seja, alguém que não tivesse uma conta no site do Gravatar.
Fuçando ontem durante o processo de ativação do módulo, descobri que isto já era um bug documentado, mas ainda não resolvido. Bem, como nerd que é nerd não se contenta somente em usar ... lá foi o Ataliba fuçar no código do módulo.
Bem, a linha que monta a url é a 201 do arquivo gravatar.module, que contém o código php que executa as funções :
$grav_url .= "&default=" . urlencode(url($default));
Como ele recupera somente o caminho da imagem padrão do Drupal, ou seja, quando ele monta a url, ele simplesmente passa o endereço local da imagem. Como isto vai ser montado lá no site do Gravatar, a imagem não é mostrada de jeito nenhum no seu site.
A primeira versão da minha arrumação, não foi muito bonita :
$grav_url .= "&default=https://cybernetus.com" . urlencode(url($default));
Mas funcionou. O grande problema é que não era uma solução genérica. Bom, foi só gastar um pouco de massa encefálica e lembrar que o PHP resolve o problema. A variável $_SERVER do php ( que é na realidade um vetor ) tem uma posição ( SERVER_NAME ) que mostra o nome do servidor aonde o script está sendo executado.
Assim, a solução ideal para o problema, é montar a url do seguinte modo :
$grav_url .= "&default=http://".$_SERVER['SERVER_NAME'] . urlencode(url($default));
E pronto, tudo está funcionando do jeito que deveria. Já documentei lá no site do Drupal, mas nada como postar uma nerdice nova por aqui né ?
Estava realmente com saudade disto ....