1

Question2Answer插件:qa Connect

qa Connect 是Question2Answer问答系统的一个插件,可以使用社交帐号登录,目前支持使用新浪微博和QQ帐号登录。

去年底搭建了 微问答,在试用tomheng开发的Socail Login插件时发现连接慢等一些问题,因为我有开发WordPress连接微博的经验,对社交帐号登录有一些研究,决定自己搞一个,在独享了几个月后,决定整理出来分享给大家使用。

打开演示地址

提示:使用新浪微博或者QQ时,要在插件页面填写您申请的开放平台key。否则登录图标不会显示。

qa Connect 插件除了能用社交帐号登录外,还增加了一些功能:

1、支持使用社交帐号的URL头像作为用户头像:

默认情况下,QA上传头像或者保存社交帐号头像时,是把图片的整个数据流保存在数据库,有点吓人。我做了一些改动,直接把社交头像的URL保存在数据库,避免数据库越来越臃肿。

2、将所有链接的相对地址设置为绝对地址

在使用中发现qa默认调用的是相对地址,在扩展一些链接时发现不少问题,所以改为绝对地址,就是加上http://你的qa地址

下载地址

如果你想把个人资料弄得跟我问答系统一样,即“使用社交帐号登录时可以选择社交帐号头像,其他方式注册的用户可以上传头像”,如下图所示:

可以修改 qa-include/qa-page-account.php 文件,

找到以下内容,293行(Question2Answe V1.5.4)

1
2
3
4
if (isset($useraccount['avatarblobid']))
	$avataroptions['uploaded']='<SPAN STYLE="margin:2px 0; display:inline-block;">'.
		qa_get_avatar_blob_html($useraccount['avatarblobid'], $useraccount['avatarwidth'], $useraccount['avatarheight'], 32).
		'</SPAN>'.$avataroptions['uploaded'];

改成

1
2
3
4
5
6
7
if (isset($useraccount['avatarblobid'])) {
	$avataroptions['uploaded'] = '<SPAN STYLE="margin:2px 0; display:inline-block;">' . qa_get_avatar_blob_html($useraccount['avatarblobid'], $useraccount['avatarwidth'], $useraccount['avatarheight'], 32) . '</SPAN> ' . $avataroptions['uploaded'];
} else {
	if (!empty($userprofile['social_avatar'])) {
		$avataroptions['uploaded'] = '<SPAN STYLE="margin:2px 0; display:inline-block;"><img src="' . $userprofile['social_avatar'] . '" width="32" height="32" class="qa-avatar-image" /> 社交帐号头像</SPAN>';
	} 
}

因为含有中文,请把修改后的文件保存为utf-8的格式。或者自定义语言,

已有 0 用户参与0
0 : 0
+1已打分
分享到:
已有 1 条评论
  1. 你好,在插件页面里面qa Connect 后面看不见填写appkey的地方

    2014年7月22日 12:48来自新浪微博1 1 回复