我正在编写一个扩展程序,允许我添加神奇的单词: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。我没有看到任何解释如何获得当前用户组的简单(逗号/分号/等等)分隔列表。有人可以帮帮我吗?
答案 0 :(得分:3)
查看http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/includes/User.php?view=markup#l2300:
$GLOBALS['wgUser']->getGroups()
...当然会返回一个数组,而不是分隔符分隔的字符串。