Список пользователей с требуемым разрешением
Иногда требуется узнать идентификаторы пользователей с заданными полномочиями на форуме. Делается в несколько строк.
Как найти⚓︎
Нужная функция находится в /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);
Как видите, дополнительным параметром указывается идентификатор нужного раздела.
Полезно знать
В табличной форме увидеть разрешения разных групп пользователей можно с помощью генератора отчётов (раздел Основные настройки).