Список пользователей с требуемым разрешением

Иногда требуется узнать идентификаторы пользователей с заданными полномочиями на форуме. Делается в несколько строк.

Где искать

Нужная функция находится в /Sources/Subs-Members.php и называется membersAllowedTo:

array membersAllowedTo(string permission, int board_id = null)
    - получает список пользователей, которым разрешено указанное разрешение (permission).
    - если указан board_id, проверка будет произведена только внутри соответствующего раздела.
    - учитывает настройки имеющихся прав доступа.
    - принимает во внимание возможных модераторов.
    - возвращает массив с идентификаторами пользователей.

Пример запроса:

global $sourcedir;
require_once($sourcedir . '/Subs-Members.php');
$members = membersAllowedTo('post_new');

Готово! Теперь в переменной $members хранится массив пользователей, с правами создания новых тем на форуме. Можно и сузить зону поиска, ограничившись конкретным разделом:

$members = membersAllowedTo('post_new', 1);

Как видите, дополнительным параметром указывается идентификатор нужного раздела.

P. S. В табличной форме увидеть разрешения разных групп пользователей можно с помощью генератора отчётов (см. Основные настройки).