• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

织梦吧 - dedecms,网站模板,建站教程,图片素材免费下载

DedeCMS视频教程
当前位置: 织梦吧 > CMS教程 > discuz教程 >

x2签名长度限制无效的问题分析及改进方法

来源: www.dedecms8.com 编辑:织梦吧 时间:2012-02-07点击:
 



问题表现:
后台设置的签名文字最大长度无效,导致被人在签名里挂广告。

原因分析
出现这个问题的原因是由于官方QQ互联里内置了微博签名的功能,因为使用微博签名的话会导致签名长度设置无效。

具体代码分析:
找到source\plugin\qqconnect\connect.class.php文件

  1. if(submitcheck('profilesubmit')) {  
  2.         $_G['group']['maxsigsize'] = $_G['group']['maxsigsize'] < 200 ? 200 : $_G['group']['maxsigsize'];  
  3.         return;  

其中的$_G['group']['maxsigsize']即为后台设置的签名最大长度,此处可知如果此值小于200,则置为200字节。
此处更改了最大长度的默认值,从而导致后台设置的此用户组的签名最大长度无效。

下面给出改进方法
在source\plugin\qqconnect\connect.class.php文件里,搜索代码:

  1. if(submitcheck('profilesubmit')) {  
  2.         $_G['group']['maxsigsize'] = $_G['group']['maxsigsize'] < 200 ? 200 : $_G['group']['maxsigsize'];  
  3.         return;  

注释掉这段代码。

同时搜索代码:

  1. if($result['status'] == 0) {  
  2.         $js = 'a.onclick = function () { seditor_insertunit(\'sightml\', \'[wb='.$result['result']['username'].']'.$result['result']
    ['signature_url'].'[/wb]\'); };';  
  3. } else {  
  4.         $js = 'a.onclick = function () { showDialog(\''.lang('plugin/qqconnect', 'connect_wbsign_no_account').'\'); };';  

改为下面的代码:

  1. if($_G['group']['maxsigsize'] > 200){  
  2. if($result['status'] == 0) {  
  3.         $js = 'a.onclick = function () { seditor_insertunit(\'sightml\', \'[wb='.$result['result']['username'].']
    '.$result['result']['signature_url'].'[/wb]\'); };';  
  4. } else {  
  5.         $js = 'a.onclick = function () { showDialog(\''.lang('plugin/qqconnect', 'connect_wbsign_no_account').'\'); };';  
  6. }  
  7. }else{  
  8.         $js = 'a.onclick = function () { showDialog(\''.'您所在用户组的签名长度不够使用微博签名,
    点击查看
    <a href="home.php?mod=spacecp&ac=usergroup">当前用户组的签名长度</a>'.'\'); };';  
标签:
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 tom@tiptop.cn ,  QQ