如何列出用户在MediaWiki扩展中所属的组?

时间:2012-04-18 20:18:21

标签: php mediawiki

我正在编写一个扩展程序,允许我添加神奇的单词: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_settingsManual:LocalSettings.phpManual:CommonSettings.phpManual:$wgGroupPermissionsHelp:User_rights。我没有看到任何解释如何获得当前用户组的简单(逗号/分号/等等)分隔列表。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:3)

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

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

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