discuz签名长度限制无效的问题分析及改进方法
问题表现:
后台设置的签名文字最大长度无效,导致被人在签名里挂广告。
原因分析:
出现这个问题的原因是由于官方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').'/'); };';
}
免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。
热门教程
discuz电脑版、手机版去除标题title中的PoweredbyDisc2018-12-27
Discuz 触屏手机版支持视频播放的方法2018-12-27
discuz手机版支持视频播放的修改方法2018-12-27
Discuz! 程序 X3.2、X3.3升级3.4教程2018-12-27
discuz X3以及X3.4论坛搬家完美详细教程2019-01-02
怎么开启手机版2018-12-25
去掉Discuz论坛底部的Powered 等版权信息2018-12-27
discuz! x3.4插件位置DZ论坛X3版本插件在哪个文件夹?2018-12-26
Mysql修改端口号后织梦dedecms的修改方法2018-12-27
Discuz!X3.2论坛实现全站HTTPS终极方法教程2018-12-28