修改Typecho程序解决Gravatar被墙

Dec 07, 2014

我素来不是辣么暴力的一个人。当Gravatar刚被墙的时候,我只是简单的在主题文件中对Gravatar地址进行了修改。这原本是一件十分简单又美好的事情,我也没有破坏te程序。但紧接着,我后面蛋疼的开始调整新皮、换主题,于是简单而美好的方法让我最终饱受其痛苦,我总是在最后才想起要修改Gravatar地址。

于是,在简洁主义的带领下,我直接对te程序进行了修改( ˘ ³˘)♥,嗯,下面把方法记录于下。


typecho(0.9)
打开 /var/Widget/Abstract/Comments.php
然后搜索$url = $host . '/avatar/'
大概在413行左右的位置,修改如下

 //$url = $host . '/avatar/';
 $url = 'https://secure.gravatar.com/avatar/';

然后保存离开就OK啦,( •́ .̫ •̀ )

这本该也是一个简单又美好的事情,但是我今天又闲的DT的升级了typecho程序,升级到了typecho1.0(141010)。当我开打comments.php文件,想要再次习惯性的修改那行代码,然后见证奇迹的时候,尼玛发现,我去,那行代码呢,去哪了~然后在熟悉的位置上,我看到了,$url = Typecho_Common::gravatarUrl($this->mail, $size, $rating, $default, $this->request->isSecure()); ,我揍、莫要欺负我读书少,尼玛你把gravatarUrl方法收集到哪里去了!!!

(●´∀`●)不过,哼,鱼唇的中原人啊,像寡人这么天资聪慧、肿么可能找不到,想到这,我用我智慧满满的CPU猜了下文件的位置,哦呵呵呵哈哈哈哈哈哈……


typecho(1.0)
打开 /var/Typecho/Common.php
然后搜索 gravatarUrl
大概在937行左右的位置,找到了gravatarUrl方法,修改如下

//$url = $isSecure ? 'https://secure.gravatar.com' : 'http://www.gravatar.com';
$url = $isSecure ? 'https://secure.gravatar.com' : 'https://secure.gravatar.com';

然后保存离开就可以啦~(๑乛◡乛๑)

最后,原谅我,实在是懒得改了,才用这么暴力的方法解决问题~


typecho(1.2)

在网站源目录/var/Typecho/Common.php文件第826-839行(836行)之间的代码

if (defined('__TYPECHO_GRAVATAR_PREFIX__')) {
    $url = __TYPECHO_GRAVATAR_PREFIX__;
} else {
    #$url = $isSecure ? 'https://secure.gravatar.com' : 'http://www.gravatar.com';
    $url = $isSecure ? 'https://sdn.geekzu.org' : 'https://gravatar.proxy.ustclug.org';
    $url .= '/avatar/';
}

修改https://secure.gravatar.com为国内第三方镜像源地址,修改/avatar/为镜像源的文件夹,如此操作后台即可正常显示Gravatar头像。


p.s. 最近有点想看看php的书换换口味,有没有好的入门级的php书可推荐的~

✨ 如果你愿意留下点痕迹,我会特别开心的!✨ * 6

  1. 第四度

    好个性的地方

  2. chasonma

    路过,表示不用那么麻烦,可以直接往functions文件里丢代码(扣鼻表情)

    1. 15

      =。= 那换皮肤的时候麻烦啊,这样多一劳永逸

  3. JV

    看页面源代码,你的样式表也被压缩成A.style.css.pagespeed.cf.xxx.css 这样的形式了,不知道是不是Technetcal搞的鬼。 害我查了半天。

  4. JV

    那笑声:“哦呵呵呵哈哈哈哈哈哈……”
    ……
    ……
    很有坏蛋的既视感,让我弱小的心灵感到了战栗。▔▽▔||

    1. 15

      这便是王霸之气哇ε=ε=ε=ε=ε=ε=┌(; ̄◇ ̄)┘

Join the discussion