如何列出用户在我的MediaWiki扩展中属于哪些组


How do I list which groups a user is in for my MediaWiki extension?

我正在编写一个扩展,它将允许我添加魔术词:CURRENTUSERCURRENTUSERREALNAMECURRENTUSERLANGABBR,我想要CURRENTUSERGROUPS。我的代码的这一部分目前是:

function wfGetCustomVariable(&$parser,&$cache,&$index,&$ret) {
    switch ($index) {
        case MAG_CURRENTUSER:
            $parser->disableCache(); # Mark this content as uncacheable
            $ret = $GLOBALS['wgUser']->mName;
            break;
        case MAG_CURRENTUSERREALNAME:
            $parser->disableCache(); # Mark this content as uncacheable
            $ret = $GLOBALS['wgUser']->mRealName;
            break;
        case MAG_CURRENTUSERLANGABBR
            $parser->disableCache(); # Mark this content as uncacheable
            $ret = $GLOBALS['wgLang']->getCode();
            break;
    }
    return true;
}

但是,我似乎无法在MediaWiki文档中的任何地方找到用户所在的组数组的$GLOBAL。 我查看了Manual:Configuration_settings,Manual:LocalSettings.php,Manual:CommonSettings.php,Manual:$wgGroupPermissions和Help:User_rights。 在他们中,我没有看到任何关于如何获得当前用户组的简单(逗号/分号/等)分隔列表的解释。 谁能帮我?

看看 http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/includes/User.php?view=markup#l2300:

$GLOBALS['wgUser']->getGroups()

。这当然会返回一个数组,而不是分隔符分隔的字符串。