2014-01-07 2 views
2

Я создаю тему mediawiki для своей вики. Это больше, чем просто css, я тоже меняю макет, как описано в документах mediawiki.В теме, как вы можете проверить, зарегистрирован ли пользователь или является «администратором»?

Я хотел бы сделать интерфейс очень простым, поэтому я хочу показывать только определенные боковые панели и другой контент, если пользователь вошел в систему или является пользователем «admin» (или тем, что вызывается в mediawiki).

Изменение макета выполняется с помощью php-функций, которые я создаю в своем php-интерфейсе для вывода различных элементов страницы.

Вопрос/ответ Как вы проверте, зарегистрирован ли пользователь? Или какие права/роль у них есть? Есть ли какая-то функция, которую я могу проверить, или постоянную, установленную mediawiki?

+0

Этот вопрос, как представляется, offtopic, потому что речь идет о документации, которая даже не полностью читается из OP (http://www.mediawiki.org/wiki/Manual:User_rights) –

+0

http://www.mediawiki.org/wiki/Manual:User_rights –

+0

Nothinng чтобы сделать то, что я спросил, ваш комментарий оффтопный, потому что он касается настроек для меди iawiki. вы даже не полностью прочитали оригинальный пост. –

ответ

0

Я нашел ответ, упаковывают кто-либо нуждается в нем, это:

$this->getSkin()->getUser()->isLoggedIn() 

и с помощью этой функции вы можете проверить, является ли пользователь администратора:

/** 
* Returns true if user is admin. 
*/ 
protected function userIsAdmin() { 
    $isAdmin = FALSE; 

    if ($this->getSkin()->getUser()->isLoggedIn() === TRUE) { 
     foreach ($this->getSkin()->getUser()->getGroups() as $key => $group) { 
      if ($group == 'sysop') { 
       $isAdmin = TRUE; 

       break; 
      } 
     } 
    } 

    return $isAdmin; 
} 
Смежные вопросы