Extension:RightFunctions/ru

This page is a translated version of the page Extension:RightFunctions and the translation is 98% complete.
Справка по расширениям MediaWiki
RightFunctions
Статус релиза: стабильно
Реализация Функция парсера
Описание Предоставляет функции парсера на основе разрешений
Автор(ы) Ryan Schmidt (Skizzerzобсуждение)
Последняя версия 1.13.0 (2020-08-08)
MediaWiki 1.23+
PHP 5.3+
Изменения в БД Нет
Лицензия Общественное достояние
Скачать
CHANGELOG

  • $wgRightFunctionsUserGroups
  • $wgRightFunctionsDisableFunctions
  • $wgRightFunctionsAllowExpensiveQueries
  • $wgRightFunctionsAllowCaching
Ежеквартальные загрузки 1 (Ranked 138th)
Переведите расширение RightFunctions, если оно доступно на translatewiki.net
Проблемы Открытые задачи · Сообщить об ошибке

Расширение RightFunctions проверяет различные разрешения страницы или участника и отображает текст на их основе.

Обратите внимание, что эти функции парсера могут использоваться для поверхностного сокрытия информации от тех, у кого есть определённые права. Также обратите внимание, что все функции отключают кэш на той странице, где они используются, если только вы не установили для $wgRightFunctionsAllowCaching значение true.

Использование

Ifright

Проверяет, имеет ли текущий участник заданное право, а затем отображает соответствующий текст. Если право не существует, то просто возвращается else. Если право не указано, то возвращается then. Эта функция игнорирует ограничения прав участника для каждой страницы, поэтому используйте #Ifpageright, если вам нужна эта возможность.

Использование: {{#ifright:right|then|else}}

Ifallowed

Проверяет, имеет ли текущий участник заданное право, а затем отображает соответствующий текст. Эта функция ничего не вернет, если участник не определён. Эта функция игнорирует ограничения прав участника для каждой страницы, поэтому используйте #Ifpageallowed, если вам нужна эта возможность.

Использование: {{#ifallowed:user|right|then|else}}

Switchright

Оператор switch, проверяющий наличие прав у текущего участника. Это работает как оператор ParserFunctions #switch.

Использование:

{{#switchright:
 right1=result1
|right2
|right3=result2 and 3
|right4=result4
|default (or #default=default if the default text contains =)
}}

Userrights

Перечисляет в неупорядоченном списке все права либо текущего, либо заданного участника. Если участник не определён, то функция срабатывает для текущего участника.

Использование:

  • {{#userrights:}} - для текущего участника
  • {{#userrights:user}} - для других участников

Usergroup

Возвращает наивысшую группу, к которой принадлежит участник. Группы определяются в порядке от низшего к высшему в массиве $wgRightFunctionsUserGroups. Если участник не определён, то функция срабатывает для текущего участника.

Usage:

  • {{#usergroup:}} - для текущего участника
  • {{#usergroup:user}} - для других участников

Ifgroup

Проверяет, входит ли заданный участник в указанную группу. Если участник не указан, то проверяется текущий участник. Если право не указано, то возвращается then.

Usage:

  • {{#ifgroup:group|then|else}} - для текущего участника
  • {{#ifgroup:group|then|else|user}} - для других участников

Switchgroup

Оператор switch, проверяющий, входит ли текущий участник в группу. This operates much like the ParserFunctions #switch statement.

Использование:

{{#switchgroup:
 group1=result1
|group2
|group3=result2 and 3
|group4=result4
|default (or #default=default if the default text contains =)
}}

Ifpageright

Tests whether the current user has the given right on the given page, then displays the appropriate text. If the right doesn't exist, it simply returns else. If no right is specified, it returns then. This function does not ignore per-page restrictions on a user's rights.

Использование:

  • {{#ifpageright:right|then|else|page}} - для тестирования других страниц
  • {{#ifpageright:right|then|else}} - для тестирования текущей страницы

Ifpageallowed

Tests whether the given user has the given right on the given page, then displays the appropriate text. If no user is specified, it returns nothing. If no page is specified, it checks the current page. If the right doesn't exist, it returns else and if no right is specified, it returns then. This function does not ignore per-page restrictions on a user's rights.

Использование:

  • {{#ifpageallowed:user|right|then|else|page}} - для проверки других страниц
  • {{#ifpageallowed:user|right|then|else}} - для проверки текущей страницы

Ifprotected

Tests whether the given page is protected, then displays the appropriate text. If no page is given, it tests the current page. It will return then if the page is either fully-protected, semi-protected, protected because it is included in a cascading-protected page, or if it is namespace-protected. You may control which of these are tested by adding the letters "f", "s", "c", and/or "n" (standing for fully-protected, semi-protected, cascading-protected, and namespace-protected, respectively) to the fourth parameter of the page (by default all 4 are tested).

Usage:

  • {{#ifprotected:then|else|page}} - для проверки других страниц
  • {{#ifprotected:then|else}} - для проверки текущей страницы
  • {{#ifprotected:then|else|page|fns}} - для проверки только определённых видов защиты

Getrestrictions

Определяет, какое право требуется для выполнения действия на данной странице. Если страница не указана, то проверяется текущая. Если право не указано, проверяется право 'edit'. If there are no restrictions on that page for the particular right, it returns the empty string (""). If the page has cascading restrictions as well, it returns the highest restriction level for the page (from all cascading sources and the local page itself). If you would like all the restrictions to be listed instead, set the third parameter to "true". If you do, the output format changes to be more detailed, depending on what restrictions exist for the current page, cascading-protected sources, and namespace protection.

Использование:

  • {{#getrestrictions:right|page}} - для проверки других страниц
  • {{#getrestrictions:right}} - для проверки текущей страницы
  • {{#getrestrictions:right|page|true}} - для перечисления всех ограничений, а не только высшего

Установка

  • Скачайте и распакуйте файл(ы) в папку с названием RightFunctions в вашей папке extensions/.
    Вместо этого разработчикам и соавторам кода следует установить расширение из Git, используя:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/RightFunctions
  • Добавьте следующий код в конце вашего файла LocalSettings.php :
    wfLoadExtension( 'RightFunctions' );
    
  • Настройте так, как вам требуется
  •   Готово – Перейдите на страницу Special:Version на своей вики, чтобы удостовериться в том, что расширение успешно установлено.

Настройка

Эти переменные управляют работой различных функций парсера. На данный момент существуют четыре переменные.

$wgRightFunctionsUserGroups

Default value: array( '*', 'user', 'autoconfirmed', 'sysop', 'bureaucrat' ) An array of groups to test for in #Usergroup. Они расположены в порядке от наименьшего к наибольшему для группового тестирования.

$wgRightFunctionsAllowCaching

Значение по умолчанию: false

Если установлено значение true, функции не отключают кэш синтаксического анализатора и не вызывают повторное кэширование при получении групп участника. It is recommended that you leave this as false.

$wgRightFunctionsAllowExpensiveQueries

Значение по умолчанию: true

Если установлено значение true, использование ifpageright и ifpageallowed будет проверять права более тщательно (например, с помощью каскадной защиты), поэтому это даст более точные результаты, но потребует больше ресурсов сервера. Рекомендуется оставить это значение как true.

$wgRightFunctionsDisableFunctions

Значение по умолчанию: array()

Функции в этом массиве не будут оцениваться и ничего не вернут.

Журнал изменений

Version 1.12
Removed backwards compatible I18n shim
Version 1.11
Converted I18n to use json files including providing a backwards compatible shim
Version 1.10
Many bugfixes. Messages for getrestrictions are now more customizable, ifprotected and getrestrictions now properly detect namespace protection, fixed typo in variable name that caused getrestrictions to crash.
Version 1.9
Moved to Subversion. Was accidentally changed to "2.0" when some test stuff was removed, please be aware that it is not actually 2.0, but 1.9
Version 1.8
Added two parser functions for easier multi-testing of rights/groups: switchright and switchgroup.
Version 1.7
Fixed title bug (side issue in bug 12420), removed restrictions for viewing other users' rights, removed warnings, added in variable to disable functions, modified ifallowed and ifpageallowed to require a user be defined.
Version 1.6
Getrestrictions now only returns the highest-level restriction by default, a list of all restrictions can be had by setting the third parameter true.
Version 1.5
Major bugfix in getrestrictions, should now work as expected (yay)
Version 1.4
Getrestrictions now checks cascading sources (albeit not very efficiently), now allows user to pick protection types to check for in ifprotected, bugfix in return of getrestrictions.
Version 1.3
Cleaned up code for less redundancy, added $wgRightFunctionsAllowCaching to allow caching, added ifgroup, made usergroup actually work off of real user groups instead of rights that mimicked group names, changed $wgRightFunctionsOtherUsers to test groups instead of rights. $wgRightFunctionsAllowExpensiveQueries is now true by default.
Version 1.2
Added four parser functions ifpageright, ifpageallowed, ifprotected, and getrestrictions. Added in variable for hiding warning messages and a variable for enabling more server-intensive queries for the ifpageright and ifpageallowed functions.
Version 1.1
Added safeguard against those trying to access extension directly, and an additional parser function usergroup.
Version 1.0
Initial release defined three parser functions, ifright, ifallowed, and userrights.