From 1be32c634c1ce71e07443d3f4a93a8082d022f68 Mon Sep 17 00:00:00 2001 From: loftor Date: Mon, 23 Jun 2014 09:22:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=B4=E5=83=8F=E5=9C=B0=E5=9D=80=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Avartar.php | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 Avartar.php diff --git a/Avartar.php b/Avartar.php new file mode 100644 index 0000000..b8e6904 --- /dev/null +++ b/Avartar.php @@ -0,0 +1,99 @@ +gravatar = array('Avartar', 'gravatar'); + return _t('启用成功,请进行相应设置!'); + } + + /** + * 禁用插件方法,如果禁用失败,直接抛出异常 + * + * @static + * @access public + * @return void + * @throws Typecho_Plugin_Exception + */ + public static function deactivate(){} + + /** + * 获取插件配置面板 + * + * @access public + * @param Typecho_Widget_Helper_Form $form 配置面板 + * @return void + */ + public static function config(Typecho_Widget_Helper_Form $form) + { + $http = new Typecho_Widget_Helper_Form_Element_Text('http', NULL, 'http://gravatar.duoshuo.com', + _t('http代理地址'), _t('请填写http代理地址!')); + $form->addInput($http); + + $https = new Typecho_Widget_Helper_Form_Element_Text('https', NULL, 'https://secure.gravatar.com', + _t('https代理地址'), _t('请填写https代理地址!')); + $form->addInput($https); + } + + /** + * 个人用户的配置面板 + * + * @access public + * @param Typecho_Widget_Helper_Form $form + * @return void + */ + public static function personalConfig(Typecho_Widget_Helper_Form $form){} + + + /** + * 输出用户头像 + * + * @access public + * @param array $file 上传的文件 + * @return mixed + */ + public static function gravatar($size, $rating, $default, $ctx) + { + $mailHash = NULL; + if (!empty($ctx->mail)) { + $mailHash = md5(strtolower($ctx->mail)); + } + $options = Typecho_Widget::widget('Widget_Options'); + if ($ctx->request->isSecure()) { + $host=$options->plugin('Avartar')->https; + } else { + $host=$options->plugin('Avartar')->http; + } + + $url = $host . '/avatar/'; + + if (!empty($ctx->mail)) { + $url .= $mailHash; + } + + $url .= '?s=' . $size; + $url .= '&r=' . $rating; + $url .= '&d=' . $default; + + echo '' .
+        $ctx->author . ''; + } +} \ No newline at end of file