- 积分
- 127581
- 在线时间
- 小时
- 注册时间
- 2010-9-23
- 最后登录
- 1970-1-1
|
问题表现:
后台设置的签名文字最大长度无效,导致被人在签名里挂广告。
原因分析:
出现这个问题的原因是由于官方QQ互联里内置了微博签名的功能,因为使用微博签名的话会导致签名长度设置无效。
具体代码分析:
找到source\plugin\qqconnect\connect.class.php文件- if(submitcheck('profilesubmit')) {
- $_G['group']['maxsigsize'] = $_G['group']['maxsigsize'] < 200 ? 200 : $_G['group']['maxsigsize'];
- return;
- }
复制代码 其中的$_G['group']['maxsigsize']即为后台设置的签名最大长度,此处可知如果此值小于200,则置为200字节。
此处更改了最大长度的默认值,从而导致后台设置的此用户组的签名最大长度无效。
下面给出改进方法:
在source\plugin\qqconnect\connect.class.php文件里,搜索代码:- if(submitcheck('profilesubmit')) {
- $_G['group']['maxsigsize'] = $_G['group']['maxsigsize'] < 200 ? 200 : $_G['group']['maxsigsize'];
- return;
- }
复制代码 注释掉这段代码。
同时搜索代码:- if($result['status'] == 0) {
- $js = 'a.onclick = function () { seditor_insertunit(\'sightml\', \'[wb='.$result['result']['username'].']'.$result['result']['signature_url'].'[/wb]\'); };';
- } else {
- $js = 'a.onclick = function () { showDialog(\''.lang('plugin/qqconnect', 'connect_wbsign_no_account').'\'); };';
- }
复制代码 改为下面的代码:- if($_G['group']['maxsigsize'] > 200){
- if($result['status'] == 0) {
- $js = 'a.onclick = function () { seditor_insertunit(\'sightml\', \'[wb='.$result['result']['username'].']'.$result['result']['signature_url'].'[/wb]\'); };';
- } else {
- $js = 'a.onclick = function () { showDialog(\''.lang('plugin/qqconnect', 'connect_wbsign_no_account').'\'); };';
- }
- }else{
- $js = 'a.onclick = function () { showDialog(\''.'您所在用户组的签名长度不够使用微博签名,点击查看<a href="home.php?mod=spacecp&ac=usergroup">当前用户组的签名长度</a>'.'\'); };';
- }
复制代码
|
|