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

 找回密码
 立即注册
搜索

终于知道为什么“官方微博快速收听按钮” 不显示的原因了。

[复制链接]
垃圾猫 发表于 2014-8-9 10:29:51 | 显示全部楼层 |阅读模式
本帖最后由 垃圾猫 于 2014-8-9 10:34 编辑

最近很看到很多人说自己升级后,导致首页的QQ微博快速收听按钮消失了,很多人给出的建议是重新安装QQ互联或同步什么的,其实这些都不是问题的关键所在,今天对代码进行了仔细的分享后发现问题出在这里。。。。请仔细看。对照检查,99%的人问题都出在这里。

1、代码是存在数据库pre_common_setting表中的,首先运行sql语句.
  1. select `svalue` FROM `pre_common_setting` where `skey` = 'connect'
复制代码


2、取出sql的查询结果值来,
  1. a:21:{s:5:"allow";s:1:"1";s:4:"feed";a:2:{s:5:"allow";s:1:"0";s:5:"group";s:1:"0";}s:1:"t";a:2:{s:5:"allow";s:1:"0";s:5:"group";s:1:"0";}s:10:"like_allow";s:1:"0";s:7:"like_qq";s:0:"";s:10:"turl_allow";s:1:"1";s:7:"turl_qq";s:10:"2319297683";s:8:"like_url";s:0:"";s:17:"register_birthday";s:1:"0";s:15:"register_gender";s:1:"0";s:17:"register_uinlimit";s:1:"2";s:21:"register_rewardcredit";s:1:"1";s:18:"register_addcredit";s:1:"2";s:16:"register_groupid";s:1:"0";s:18:"register_regverify";s:1:"1";s:15:"register_invite";s:1:"1";s:10:"newbiespan";s:0:"";s:9:"turl_code";s:253:"<iframe src="http://follow.v.t.qq.com/index.php?c=follow&a=quick&name=lmmyyw&style=3&f=1" marginwidth="0" marginheight="0" allowtransparency="true" frameborder="0" height="20" scrolling="auto" width="168" style="margin:5px 0 0 0px;float:left;"></iframe>";s:13:"mblog_app_key";s:288:"b00fc655b3804133963cf0cbc346b8d7b00fc655b3804133963cf0cbc346b8d7b00fc655b3804133963cf0cbc346b8d7b00fc655b3804133963cf0cbc346b8d7b00fc655b3804133963cf0cbc346b8d7b00fc655b3804133963cf0cbc346b8d7b00fc655b3804133963cf0cbc346b8d7b00fc655b3804133963cf0cbc346b8d7b00fc655b3804133963cf0cbc346b8d7";s:12:"qshare_allow";s:1:"0";s:13:"qshare_appkey";s:0:"";}
复制代码


3、大体如上面的代码,但每一个站点有差别,这段值中间有一段iframe代码
  1. <iframe src="http://follow.v.t.qq.com/index.php?c=follow&a=quick&name=lmmyyw&style=3&f=1" marginwidth="0" marginheight="0" allowtransparency="true" frameborder="0" height="20" scrolling="auto" width="168" style="margin:5px 0 0 0px;float:left;"></iframe>
复制代码


如果你发现你的SQL查询结果没有这个iframe 代码(如下面的查询结果),那么你首页的 官方微博快速收听按钮 肯定是不会出现的。
而且随便你后台怎么修改设置,都无法出现(难道后台的修改设置没有写入SQL中?)。

  1. a:23:{s:5:"allow";s:1:"1";s:4:"feed";a:2:{s:5:"allow";s:1:"1";s:5:"group";s:1:"0";}s:1:"t";a:5:{s:5:"allow";s:1:"1";s:4:"fids";a:31:{i:0;s:2:"38";i:1;s:2:"40";i:2;s:2:"62";i:3;s:2:"42";i:4;s:2:"64";i:5;s:2:"63";i:6;s:2:"43";i:7;s:2:"44";i:8;s:2:"45";i:9;s:2:"65";i:10;s:2:"66";i:11;s:2:"67";i:12;s:2:"68";i:13;s:2:"48";i:14;s:2:"69";i:15;s:2:"70";i:16;s:2:"71";i:17;s:2:"47";i:18;s:2:"50";i:19;s:2:"72";i:20;s:2:"49";i:21;s:2:"57";i:22;s:2:"58";i:23;s:2:"59";i:24;s:2:"60";i:25;s:2:"53";i:26;s:2:"54";i:27;s:2:"55";i:28;s:2:"61";i:29;s:1:"2";i:30;s:2:"37";}s:5:"group";s:1:"0";s:5:"reply";s:1:"1";s:16:"reply_showauthor";s:1:"0";}s:10:"like_allow";s:1:"0";s:7:"like_qq";s:10:"1907108319";s:10:"turl_allow";s:1:"1";s:7:"turl_qq";s:10:"1907108319";s:8:"like_url";s:113:"http://open.qzone.qq.com/like?url=http%3A%2F%2Fuser.qzone.qq.com%2F1907108319&width=100&height=21&type=button_num";s:17:"register_birthday";s:1:"0";s:15:"register_gender";s:1:"0";s:17:"register_uinlimit";s:0:"";s:21:"register_rewardcredit";s:1:"2";s:18:"register_addcredit";s:1:"0";s:16:"register_groupid";s:1:"0";s:18:"register_regverify";s:1:"1";s:15:"register_invite";s:1:"0";s:10:"newbiespan";s:0:"";s:9:"turl_code";s:0:"";s:13:"mblog_app_key";s:0:"";s:13:"guest_groupid";s:2:"20";s:12:"qshare_allow";s:1:"1";s:13:"qshare_appkey";s:9:"801374458";s:6:"oauth2";i:1;}
复制代码

问题原因找到了,但由于我对SQL不熟悉,无法直接修改让其恢复啊,此前很多回答的问题的热心人士都把问题推给了QQ,现在原因找到了,有技术来修正不?。。。。



回复

使用道具 举报

 楼主| 垃圾猫 发表于 2014-8-9 14:05:53 | 显示全部楼层
坐等修复方法,请熟悉SQL的朋友给出解决办法
回复

使用道具 举报

心灵刺客 发表于 2014-8-9 19:50:42 | 显示全部楼层
3.2问题很多,希望尽快升级哦
回复

使用道具 举报

 楼主| 垃圾猫 发表于 2014-8-11 10:02:31 | 显示全部楼层
今天上班了,官方的技术人员看下这个问题呗。
回复

使用道具 举报

imtest01 发表于 2014-8-11 10:15:37 | 显示全部楼层
学习了。顶楼主!
回复

使用道具 举报

 楼主| 垃圾猫 发表于 2014-8-11 12:18:26 | 显示全部楼层
不要来灌水啊,技术人员请帮忙看看
回复

使用道具 举报

 楼主| 垃圾猫 发表于 2014-8-11 15:57:08 | 显示全部楼层
技术上线了,能看下这个帖子吗???
回复

使用道具 举报

imtest01 发表于 2014-8-12 09:53:27 | 显示全部楼层
本帖最后由 imtest01 于 2014-8-12 09:54 编辑

按照楼主的说法,关键位置在那个iframe代码,反序列化楼主的代码,那个iframe在turl_code字段中。然后,我找到了这段代码(source/admincp/cloud/cloud_connect.php):
                $_GET['connectnew']['turl_code'] = '';
                $connectnew = serialize($_GET['connectnew']);
                $regconnectnew = !$setting['connect']['allow'] && $_GET['connectnew']['allow'] ? 1 : $setting['regconnect'];
                C::t('common_setting')->update_batch(array('regconnect' => $regconnectnew, 'connect' => $connectnew));

                $connectClient = Cloud::loadClass('Service_Client_Connect');
                try {
                        $res = $connectClient->sync($_GET['connectnew']['like_qq'], $_GET['connectnew']['turl_qq']);
                } catch (Cloud_Service_Client_RestfulException $e) {
                        $res = array('status' => false, 'msg' => cplang('qqgroup_msg_remote_exception', array('errmsg' => $e->getMessage(), 'errno' => $e->getCode())));
                }
                if(!is_array($res)) {
                        $res = array('status' => false, 'msg' => 'qqgroup_msg_remote_error');
                }
                if($res['mblogCode']) {
                        $_GET['connectnew']['turl_code'] = $res['mblogCode'];
                        $connectnew = serialize($_GET['connectnew']);
                        C::t('common_setting')->update('connect', $connectnew);
                }
从里面分析,turl_code字段的内容,是程序请求 $connectClient->sync方法返回的结果值的一部分。
而该方法是向http://api.discuz.qq.com/site_connect.php发post请求(参数是like_qq和turl_qq),从命名上分析,感觉似乎turl_code应该和这个turl_qq变量有关,而这个变量对应“官方微博QQ号码”。所以楼主试试修改这个变量再看看。
另外它调用的是(source/plugin/manyou/Service/Client/Restful.php,_callMethod方法,参数是connect.sync,刚刚那两个变量组成的数组),楼主也可以试试构造相同的请求,跟踪下返回结果
楼主可以试试查一下这个请求结果。
回复

使用道具 举报

 楼主| 垃圾猫 发表于 2014-8-12 13:51:52 | 显示全部楼层
本帖最后由 垃圾猫 于 2014-8-12 13:53 编辑
imtest01 发表于 2014-8-12 09:53
按照楼主的说法,关键位置在那个iframe代码,反序列化楼主的代码,那个iframe在turl_code字段中。然后,我 ...

感谢你的技术分析,我发现根本不是QQ的问题,而是官方的新版QQ互联程序有问题,我在另外一个网站也测试了,目前DZ官方的还正常的原因是,他根本没有升级到最新版的QQ互联。
在其他任何文件不动的情况,只要升级QQ互联这个插件,就会出现这个情况,问题应该是出这个QQ互联这个插件的文件里面。
回复

使用道具 举报

 楼主| 垃圾猫 发表于 2014-8-15 16:45:12 | 显示全部楼层
8.15 检测到DZ官方升级到1.18.2的QQ互联了,奇怪的是官方仍然显示了QQ收听按钮,难道官方已经修复这个BUG了?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-31 22:01 , Processed in 0.103828 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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