我正在编写一个扩展,它将允许我添加魔术词:CURRENTUSER
,CURRENTUSERREALNAME
,CURRENTUSERLANGABBR
,我想要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()
。这当然会返回一个数组,而不是分隔符分隔的字符串。