我正在尝试在我的侧边栏中添加一个div,我只想让这个块显示给管理员。如何检查用户是否是php的管理员?我试图将此添加到myskin.php文件,不知道如何做到这一点。我一直在使用这样的东西来检查用户是否已登录,
<?php if($this->data['loggedin']) { ?>
是否有类似的内容来检查该用户是否为sysop?
答案 0 :(得分:3)
* blackops_programmer *回答的代码检查用户是否可以保护页面。默认情况下,这将是sysops,但可以从任何组分配或删除权限。
如果你想做什么取决于保护页面的权利,那么检查权限是正确的方法(除了你应该使用$ this-&gt; getUser(),而不是$ wgUser)。 但是,如果您确实要检查sysop组,请使用:
if ( in_array( 'sysop', $this->getUser()->getEffectiveGroups() ) {
echo 'Hello People';
}
答案 1 :(得分:0)
我想我明白了。我将以下内容添加到我的皮肤模板中,为sysops和非sysops添加特殊条件:
<?php
global $wgUser;
if($wgUser->isAllowed('protect')) {
// if sysop
echo 'Hello People';
}
else {
echo 'Yo';
}
?>
我从这里得到了这个想法:Check if user is sysop
如果有更好的方法,请告诉我。但到目前为止,当我将该代码添加到我的皮肤的基本模板时,上述内容似乎有效。