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版本下发现,其他版本未验证。