Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[展示] UCHOME 2.0新浪微博整合登录插件|QQ登录|人人网登录都已整合好

  [复制链接]
sianke731 发表于 2011-8-10 18:33:51 | 显示全部楼层 |阅读模式
本帖最后由 sianke731 于 2011-10-30 23:49 编辑

2011-10-30修改内容:
修复新浪接口'statuses/upload_url_text'不能上传小站图片的问题,改用'statuses/upload'接口
新增加豆瓣登录+文字同步(豆瓣不支持图片)
同步UCHOME日志,修改source/function_blog.php中的blog_post方法,加入以下代码,并且在这个方法的global那一行里加入$sina_install
  1. //同步新浪微博 JTee 2011-10-30 QQ13237589
  2. if($sina_install){
  3. $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('sina_bind_info')." WHERE uid=".$_SGLOBAL['supe_uid']);
  4. if($value = $_SGLOBAL['db']->fetch_array($query)) {
  5. include_once(S_ROOT.'./connect/sina/app.cfg.php');
  6. include_once(S_ROOT.'./connect/sina/sina.class.php');
  7. $o = new WeiboClient( APP_KEY , APP_SECRET_KEY, $value['token'] , $value['tsecret']);
  8. $temp = iconv('GBK','UTF-8',strip_tags($_POST['subject']).'>>>我把 @'.$_SCONFIG['sitename'].' 发表的日志分享给大家'.$_SC['siteurl'].'/'.$url);
  9. if($titlepic){
  10. $o->upload($temp,$_SC['siteurl'].'/'.$titlepic); //换另外一个接口
  11. }else{
  12. $o->update($temp);
  13. }
  14. //echo 'sina success';
  15. }
  16. }
复制代码



2011-10-26修改内容:
新浪图片+文字同步
人人图片+文字同步
腾讯图片+文字同步
只需要把下面的代码放到相应的需要同步发布的页面


  1. //同步新浪微博
  2. if($sina_install){
  3. $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('sina_bind_info')." WHERE uid=".$_SGLOBAL['supe_uid']);
  4. if($value = $_SGLOBAL['db']->fetch_array($query)) {
  5. include_once(S_ROOT.'./connect/sina/app.cfg.php');
  6. include_once(S_ROOT.'./connect/sina/sina.class.php');
  7. $o = new WeiboOAuth( APP_KEY , APP_SECRET_KEY, $value['token'] , $value['tsecret']);
  8. if($images[0]){
  9. $o->post('statuses/upload_url_text',array('status'=>getstr(strip_tags($message),200).'...>>>我把 @'.$_SCONFIG['sitename'].' 链接分享给大家'.$_SC['siteurl'],'url'=>$images[0]));
  10. }else{
  11. $o->post('statuses/update',array('status'=>strip_tags($message)));
  12. }
  13. }
  14. }
  15. //同步人人
  16. if($renren_install){
  17. $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('renren_bind_info')." WHERE uid=".$_SGLOBAL['supe_uid']);
  18. if($value = $_SGLOBAL['db']->fetch_array($query)) {
  19. include_once(S_ROOT.'./connect/renren/app.cfg.php');
  20. require_once S_ROOT."/connect/renren/common.cfg.php";
  21. include_once(S_ROOT.'./connect/renren/renren.class.php');
  22. $rrObj = new RenRenClient;
  23. $rrObj->setSessionKey($value['tsecret']);
  24. $rrObj->post('feed.publishFeed', array($_SC['siteurl'],'更多内容请访问...',strip_tags($message),count($images)>0?$images[0]:''));
  25. }
  26. }
  27. //同步QQ
  28. if($qq_install){
  29. $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('qq_bind_info')." WHERE uid=".$_SGLOBAL['supe_uid']);
  30. if($value = $_SGLOBAL['db']->fetch_array($query)) {
  31. include_once(S_ROOT.'./connect/qq/app.cfg.php');
  32. require_once S_ROOT."/connect/qq/common.cfg.php";
  33. include_once(S_ROOT.'./connect/qq/qq.class.php');
  34. $parlist['content'] = getstr(strip_tags($message),200).'...>>>我把 @'.$_SCONFIG['sitename'].' 链接分享给大家'.$_SC['siteurl'];
  35. $parlist['type'] = 1;
  36. $parlist["img"] = $images[0];
  37. $url = 'http://openapi.qzone.qq.com/wb/add_weibo';
  38. $qq->do_post($url, APP_KEY, APP_SECRET_KEY, $value['token'], $value['tsecret'], $value['qq_uid'],$parlist);
  39. }
  40. }
复制代码

2011-10-26修改内容:
同步记录到新浪微博(目前QQ等还需要单独申请同步API,所以没有测试)
测试地址:http://chemomo.com/home/space.php?uid=75&do=doing&view=all
修改source/cp_doing.php
找到updatestat('doing');下一行增加,如果申请到新浪upload_url_text就可以同时同步图片和文字,默认情况下只同步文字,如果其它地方也需要同步,复制下面的代码到相应的页面,做一些处理就可以了

  1. if($sina_install){
  2. $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('sina_bind_info')." WHERE uid=".$_SGLOBAL['supe_uid']);
  3. if($value = $_SGLOBAL['db']->fetch_array($query)) {
  4. include_once(S_ROOT.'./connect/sina/app.cfg.php');
  5. include_once(S_ROOT.'./connect/sina/sina.class.php');
  6. $o = new WeiboOAuth( APP_KEY , APP_SECRET_KEY, $value['token'] , $value['tsecret']);
  7. //if(count($images)>1){ //$o->post('statuses/upload_url_text',array('status'=>strip_tags($message).'>>>我把 @爱跳 链接分享给大家http://www.aitiao.com','pic'=>'http://www.2008duoduo.cn/uploadfile/picture/uploadpics/201010/201010201287536771.jpg'));
  8. //}else{
  9. $o->post('statuses/update',array('status'=>strip_tags($message)));
  10. //}
  11. }
  12. }
复制代码

2011-08-24修改内容:
1.增加个人设置页面的绑定、解绑功能
2.解决提示信息的乱码问题
源码打包:
GBK补丁:  (在源码基础上的补丁包)

2011-08-25修改内容:
1.解决绑定注册时用户名过长时无提示问题
2.解决GBK版本绑定、登录发生错误无提示问题
3.解决非法提交直接利用dologin进行登录的问题
UTF8:
GBK:

说明:本插件含新浪微博、QQ、人人网的登录,需要哪个就安装哪个,可以把不需要的删除,只需要删除相应的文件名的目录就可以了,如新浪-》sina,QQ-》qq,人人-》renren

安装方法:(以新浪为例,其它的安装只需要更换sina为相就的目录名)
1.下载插件,并解压到UCH根目录,如果是GBK版本的,请下载补丁进行覆盖
2.安装新浪微博登录插件,在浏览器中输入http://UCH目录/connect/sina/install/,根据提示一步一步进行安装
3.增加登录入口:修改template\default\do_login.htm,增加代码<a target="_top" href="connect.php?site=sina"><img class="vm" src="connect/common/images/bgimg/sina.png" alt="用新浪微博账号登陆" ></a>  
4.增加绑定、解绑:修改template\default\cp_profile.htm,
找到


  1. <tr>
  2. <th style="width:10em;">您的登录用户名:</th>
  3. <td>
  4. <!--{eval echo stripslashes($space['username']);}--> (<a href="cp.php?ac=password">修改登录密码</a>)
  5. </td>
  6. <td></td>
  7. </tr>
复制代码
下一行添加
  1. <!--{if $sina_install}-->
  2. <tr>
  3. <th style="width:10em;">新浪微博帐号:</th>
  4. <td>
  5. <!--{if $_SGLOBAL['is_sina_bind']}-->
  6. 已绑定 <a href="connect.php?site=sina&ac=unbind">解除绑定</a>
  7. <!--{else}-->
  8. 未绑定 <a href="connect.php?site=sina&ac=login"><img src="connect/common/images/bgimg/sina2.png" /></a>
  9. <!--{/if}-->
  10. </td>
  11. <td></td>
  12. </tr>
  13. <!--{/if}-->
  14. <!--{if $qq_install}-->
  15. <tr>
  16. <th style="width:10em;">腾讯QQ帐号:</th>
  17. <td>
  18. <!--{if $_SGLOBAL['is_qq_bind']}-->
  19. 已绑定 <a href="connect.php?site=qq&ac=unbind">解除绑定</a>
  20. <!--{else}-->
  21. 未绑定 <a href="connect.php?site=qq&ac=login"><img src="connect/common/images/bgimg/qq2.png" /></a>
  22. <!--{/if}-->
  23. </td>
  24. <td></td>
  25. </tr>
  26. <!--{/if}-->
  27. <!--{if $renren_install}-->
  28. <tr>
  29. <th style="width:10em;">人人网帐号:</th>
  30. <td>
  31. <!--{if $_SGLOBAL['is_renren_bind']}-->
  32. 已绑定 <a href="connect.php?site=renren&ac=unbind">解除绑定</a>
  33. <!--{else}-->
  34. 未绑定 <a href="connect.php?site=renren&ac=login"><img src="connect/common/images/bgimg/renren2.png" /></a>
  35. <!--{/if}-->
  36. </td>
  37. <td></td>
  38. </tr>
  39. <!--{/if}-->
复制代码

5.打开common.php,找到
  1. ?>
复制代码

在上一行加入
  1. //JTee 2011-08-23 检测登录插件 start
  2. if($_SGLOBAL['supe_uid'] && is_file( S_ROOT.'./connect/check.php' ) ){
  3. require_once S_ROOT.'./connect/check.php';
  4. }
  5. //JTee 2011-08-23 检测登录插件 end
复制代码


6.登录后台更新缓存

第一步

点击“新浪图标”,腾讯、人人的暂时还未做开发
第二步


第三步




问题解决整理中:
1.回调地址发生404错误
   解决办法:登录uchome后台,检查站点设置中站点访问url地址是否是完整的uchome的访问地址

2.人人网不能正常连接
   解决办法:登录http://app.renren.com/developers/app/155908/settings
  如域名是abc.com,修改网站信息:网站url为http://abc.com,网站根域名为abc.com,修改高级设置:授权回调地址为http://abc.com/connect.php?site=renren&ac=callback

3.解决这个多了个“/”的问题,修改sina/qq/renren/目录下的common.cfg.php,搜索getsiteurl(),去掉后面的“/”,同样修改connect\common\tpl目录下的register.tpl.php


目前新浪登录、QQ登录、人人网登录都已整合好
测试地址:
http://chemomo.com/home/do.php?ac=575fcc2d796253cfb995d70a6af54dac
欢迎大家提出意见


评分

1

查看全部评分

kuan123168 发表于 2011-8-10 19:27:38 | 显示全部楼层
能共享插件吗 ?
回复

使用道具 举报

kuan123168 发表于 2011-8-10 19:28:01 | 显示全部楼层
很给力得呀!
回复

使用道具 举报

kuan123168 发表于 2011-8-10 19:28:22 | 显示全部楼层
hzlj@sohu.com 我顶的高高的!
回复

使用道具 举报

 楼主| sianke731 发表于 2011-8-10 20:54:38 | 显示全部楼层
kuan123168 发表于 2011-8-10 19:27
能共享插件吗 ?

目前插件还不完善,完善后会和大家分享的

评分

1

查看全部评分

回复

使用道具 举报

Dicky.Net 发表于 2011-8-11 13:21:24 | 显示全部楼层
好东东啊
回复

使用道具 举报

apollocq 发表于 2011-8-11 19:08:20 | 显示全部楼层
留下足迹,期待楼主兑现,先行感谢了 4734851@qq.com
回复

使用道具 举报

justinshi 发表于 2011-8-11 23:31:56 | 显示全部楼层
哇塞 ,,,一定要顶起   期待很久了~~~~~~
回复

使用道具 举报

yimin247 发表于 2011-8-12 10:29:28 | 显示全部楼层
好东东啊 ~~期待好久了 希望楼主能快点共享~~ 顶顶顶
回复

使用道具 举报

飞翔小伙计 发表于 2011-8-12 12:05:05 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-15 15:50 , Processed in 0.032927 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表