在主题中,如何检查用户是否已登录或是“admin”?

时间:2014-01-07 09:55:25

标签: php themes mediawiki skins

我正在为我的wiki创建一个mediawiki主题。它不仅仅是css,我也在改变布局,如mediawiki文档中所述。

我想使界面非常简单,所以我想只显示某些侧栏和其他内容,如果用户已登录或是“admin”用户(或者在mediawiki中调用它们的任何内容)。

更改布局是通过我在我的皮肤php中创建的php函数来完成的,以输出各种页面元素。

如何检查用户是否已登录?或者他们有什么权利/角色?我可以检查某种功能,还是由mediawiki设定常量?

1 个答案:

答案 0 :(得分:0)

我找到了答案,因为其他人需要它,它是:

$this->getSkin()->getUser()->isLoggedIn()

使用此功能,您可以检查用户是否为admin:

/**
 * Returns true if user is admin.
 */
protected function userIsAdmin() {
    $isAdmin = FALSE;

    if ($this->getSkin()->getUser()->isLoggedIn() === TRUE) {
        foreach ($this->getSkin()->getUser()->getGroups() as $key => $group) {
            if ($group == 'sysop') {
                $isAdmin = TRUE;

                break;
            }
        }
    }

    return $isAdmin;
}