开启防刷新后,个人空间的访问数和日志的浏览数不更新的问题分析
今日无事看了下个人空间的访问数更新处理代码,结果发现开启防刷新后个人空间的访问数无法更新,看过代码后发现根本没有开启防刷新后的代码处理,即开启防刷新后个人空间的访问数不会更新。
下面以个人空间的访问数更新为例,具体分析:
source\include\space\space_index.php文件里,67行附近代码:
if(!$_G['setting']['preventrefresh'] || ($_G['uid'] && !$space['self'] && !in_array($space['uid'], $viewuids))) { member_count_update($space['uid'], array('views' => 1)); $viewuids[$space['uid']] = $space['uid']; dsetcookie('viewuids', implode('_', $viewuids)); }
1017日更新:
$_G['setting']['preventrefresh']为后台的查看数开启防刷新的设置,位置在全局->空间设置->基本设置下。
!$_G['setting']['preventrefresh']为未开启此设置。
($_G['uid'] && !$space['self'] && !in_array($space['uid'], $viewuids))为开启后的条件判断,当前登录用户的UID不在$viewuids数组中且不是访问的自己的空间。
$_G['uid']为登录用户的UID。
$space['self']为自己的空间。
$viewuids为从cookie里获取访问过此空间的用户的UID数组。
member_count_update($space['uid'], array('views' => 1));
此段代码即为更新表pre_common_member_home_field里views字段(访问量)。