Перейти к содержанию

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

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

Как найти⚓︎

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

<?php

/**
 * Получает список пользователей, которым разрешено указанное разрешение
 * @param string $permission Имя разрешения (например, 'post_new')
 * @param int|null $board_id ID раздела (если нужны права внутри раздела)
 * @return array Массив с идентификаторами пользователей
 */
function membersAllowedTo(string $permission, ?int $board_id = null): array

Функция: - Получает список пользователей, которым разрешено указанное разрешение. - Если указан board_id, проверка будет произведена только внутри соответствующего раздела. - Учитывает настройки имеющихся прав доступа. - Принимает во внимание модераторов. - Возвращает массив с идентификаторами пользователей.

Пример использования⚓︎

<?php

global $sourcedir;

require_once($sourcedir . '/Subs-Members.php');

// Получить всех пользователей с правом "post_new"
$members = membersAllowedTo('post_new');

// Или только пользователей с правом внутри раздела #1
$members = membersAllowedTo('post_new', 1);

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

Полезно знать

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

Комментарии