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 :$wgGroupPermissions、およびHelp: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 に答える