修复emlog下Gravatar头像的问题

  因为之前的域名和空间代理商跑路了,所以我的博客消失了一年多。

  前段时间买了个搬瓦工的VPS,拿来搭建威皮恩的同时也在那上面重新建立起我的博客。

  代理商跑路之前没来得及备份真坑爹!一直弄到今天总算是搞完大部分内容。

  结果今天装完发现之前的读者墙和评论的头像都无法显示了,郁闷……

  =-=-=-=-=-=-=我是吐槽结束分割线=-=-=-=-=-=-=

  接下来就是慢慢查找解决过程了,首先查看了一下模板里面的代码,

  发现模板是通过调用EMLOG自带的“getGravatar”函数来获取Gravatar头像的,

  这个函数的位置在“\include\lib\function.base.php”的639行,

  函数内容如下:

1
2
3
4
5
function getGravatar($email, $s = 40, $d = 'mm', $g = 'g') {
$hash = md5($email);
$avatar = "http://www.gravatar.com/avatar/$hash?s=$s&d=$d&r=$g";
return $avatar;
}

  从代码中可以看出,这是从 www.gravatar.com 获取头像,而这个域名现在已经失效了……

  (直接访问进去变成了一个页游,不知道是域名被劫持还是域名拥有方自己作,全球最大的邮箱头像提供商竟沦落至此……)

  上网查了一下,现在有其他的网站可以提供Gravatar的缓存,比如 img.cache.so、gravatar.duoshuo.com 等等,

  不过后面用 curl 命令查了一下,发现最终还是跳转到 en.gravatar.com 这个域名的,所以就决定把这里改成这个域名了。

  改动后的代码如下:

1
2
3
4
5
function getGravatar($email, $s = 40, $d = 'mm', $g = 'g') {
$hash = md5($email);
$avatar = "https://en.gravatar.com/avatar/$hash?s=$s&d=$d&r=$g";
return $avatar;
}

  改动完覆盖到EMLOG的目录下,终于之前的头像可以正常显示了~

  附上一个改动后的 function.base.php 文件方便懒人~function.base.zip

  整改改动过程就此完成,以上~

  =-=-=-=-=-=-=继续分割线=-=-=-=-=-=-=

  话说现在大部分EMLOG的模板都自己另外编写获取Gravatar头像的函数了,

  他们的函数大多使用 http://secure.gravatar.com 这个地址,

  其实ping过去IP地址都一样啦,反正没存在这个问题的就不需要改了~

  我用的模板比较传统比较旧,所以才做这个改动,顺便写下来方便以后查阅~

文章目录
|