2

我正在编写一个扩展程序,允许我添加神奇的词:CURRENTUSER, CURRENTUSERREALNAME, CURRENTUSERLANGABBR, and I want 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.php 、Manual:$wgGroupPermissionsHelp:User_rights。在他们中,我没有看到任何关于如何获得当前用户组的简单(逗号/分号/等)分隔列表的解释。任何人都可以帮助我吗?

4

1 回答 1

4

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

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

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

于 2012-04-18T20:25:18.503 回答