x2个人资料的隐私更新问题分析及解决方法

问题描述:
后台设置某项用户栏目的默认隐私设为公开,这里以QQ为例。
然后注册一个新会员,设置个人资料里的QQ项。
更改后台此项用户栏目QQ的默认隐私为保密,但是此用户的空间里仍显示QQ项。

 

问题原因:
在source\module\forum\forum_viewthread.php文件判断隐私的地方并未对某项资料的全局隐私做判断,代码如下:

if(!empty($post['privacy']['profile'][$field])) {
	continue;
}

这里仅判断了用户此项资料的隐私设置,如果存在就跳出,不予显示,但是这里并未对这项资料的全局隐私做判断,会导致出现开头提到的问题。

修正方法:
在source\module\forum\forum_viewthread.php文件中,搜索下面代码

if(!empty($post['privacy']['profile'][$field])) {
	continue;
}

改为

if(!empty($post['privacy']['profile'][$field]) || $_G['setting']['privacy']['profile'][$field]) {
	continue;
}

此问题在1010版本下发现,其他版本未验证。

标签: x2, 个人资料, 隐私

添加新评论