Документация для разработчиков
Темная тема

GetUserGroup

array
CUser::GetUserGroup(
	int id
)

Возвращает массив ID групп, которым принадлежит пользователь с кодом id. GetUserGroup получает данные из записи о пользователях в базе данных. Статический метод.

Параметры

Параметр Описание
id ID пользователя.

Смотрите также

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

<?
// получим массив групп пользователя ID=12
$arGroups = CUser::GetUserGroup(12);
echo "<pre>"; print_r($arGroups); echo "</pre>";
?>

Принадлежит ли пользователь группе:

// для любого пользователя
echo in_array($group_id, CUser::GetUserGroup($user_id));

// для текущего пользователя
echo in_array($group_id, $USER->GetUserGroupArray());

Принадлежит ли пользователь, который состоит во многих группах заданным:

<?$arGroupAvalaible = array(1,9,12,13,14,15); // массив групп, которые в которых нужно проверить доступность пользователя
$arGroups = CUser::GetUserGroup($USER->GetID()); // массив групп, в которых состоит пользователь
$result_intersect = array_intersect($arGroupAvalaible, $arGroups);// далее проверяем, если пользователь вошёл хотя бы в одну из групп, то позволяем ему что-либо делать
if(!empty($result_intersect)):     print "мне разрешено находится на данной странице или просматривать данную часть страницы";endif;?>


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
0
BGSmile
Сообщение не промодерировано, возможны ошибки и неточности.
А как по аналогии с этим кодом сделать проверку на принадлежность пользователя группу до авторизации, что бы адрес админки видели только определенные группы пользователей?
Код
global $USER;

$str = stripos($_SERVER["REQUEST_URI"], '/bitrix/admin');
if (($str !== false) && (!$USER->IsAdmin()) ) {
LocalRedirect('/404.php');
}  
 
7
Евгений Малков
Для решения многих задач удобней использовать CSite::InGroup.
Приведенный выше пример с помощью функции CSite::InGroup:

Код
if (CSite::InGroup(array(1)))
echo 'Admins';
1
Роберт Басыров
Задача: Необходимо сокрытие части текста внутри обычной страницы, т.е. для всех пользователей страница одинакова, но для определенных групп доступны новые элементы (ссылки).

Решение:
Код
$arGroups = CUser::GetUserGroup($USER->GetID());
for ($i=0; $i < count($arGroups); $i++) if ($arGroups[$i] == 1) echo 'Admins'; 


где 1, это id нужной группы
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх