vBulletins session table 的 loggedin 列是什么意思?

What does the loggedin column of vBulletins session table mean?

在 vBulletin 4.2 中,session table 有一个列 loggedin。由于 VB 似乎没有官方数据库文档,我想知道它到底是什么意思,因为该列是 SMALLINT 而不是简单的布尔值。

我之前的逆向工程:0表示未登录。12是用于登录用户,但我看不出有什么区别。我与 loggedin=2.

有常规用户会话和管理面板会话

试图通过 运行 grep 在 vBulletins php 文件上获取更多信息,运气不佳

所以我的具体问题是:

我了解到我对 *.php 文件的过滤器破坏了 greps 递归扫描方法。为 'loggedin' 扫描 all php 文件的正确命令(在引号中,因为 vB 在它的 $vbulletin->session 对象上以这种方式使用它们)是:

grep -rn --include \*.php "'loggedin'" .

这给出了一些结果。最有趣:

./includes/functions.php:7558:                  $vbulletin->session->set('loggedin', 2);

打开 functions.php 我们看到了调用,我们感到幸运,至少在代码中 vB 开发人员决定评论是有用的:

if ($vbulletin->session->vars['loggedin'] == 1 AND !$vbulletin->session->created)
{
      # If loggedin = 1, this is out first page view after a login so change value to 2 to signify we are past the first page view
      # We do a DST update check if loggedin = 1
      $vbulletin->session->set('loggedin', 2);
      // ...
}

所以我们可以说 1/2 没有提供有关会话类型的信息。它可以是普通用户,也可以是管理员会话。尽管 loggedin 指示用户是否已经查看了其他页面,但 vB 开发人员为何需要将其分开。