如何在Mediawiki中使用Php检查用户是否是Sysop?

时间:2013-08-31 13:31:17

标签: mediawiki

我正在尝试在我的侧边栏中添加一个div,我只想让这个块显示给管理员。如何检查用户是否是php的管理员?我试图将此添加到myskin.php文件,不知道如何做到这一点。我一直在使用这样的东西来检查用户是否已登录,

<?php if($this->data['loggedin']) { ?> 

是否有类似的内容来检查该用户是否为sysop?

2 个答案:

答案 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

如果有更好的方法,请告诉我。但到目前为止,当我将该代码添加到我的皮肤的基本模板时,上述内容似乎有效。