3

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

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

有没有类似的东西来检查该用户是否是管理员?

4

2 回答 2

4

*blackops_programmer* 的答案中的代码检查用户是否可以保护页面。默认情况下,这将是 sysops,但可以从任何组分配或删除权限。

如果你想要做什么取决于保护页面的权限,那么检查权限是正确的方法(除了你应该使用 $this->getUser(),而不是 $wgUser)。但是,如果您真的想检查 sysop 组,请使用以下命令:

if ( in_array( 'sysop', $this->getUser()->getEffectiveGroups() ) {
  echo 'Hello People';
}
于 2013-09-01T11:35:06.310 回答
0

我想我明白了。我在我的皮肤模板中添加了以下内容,以便为管理员和非管理员添加特殊条件:

     <?php 

      global $wgUser;

      if($wgUser->isAllowed('protect')) {
         // if sysop
            echo 'Hello People';
        }

        else {
            echo 'Yo';
        }
      ?>            

我从这里得到了这个想法:检查用户是否是管理员

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

于 2013-08-31T18:30:38.823 回答