Если права администратора
Если надо выполнять код для пользователей с правами админа, то можно использовать метод $USER->IsAdmin()
.
Возращает "true" - если пользователь принадлежит группе администраторов, в противном случае вернет "false".
<?
global $USER;
if ($USER->IsAdmin()) {
// код для пользователей с правами админа
}
?>
Если пользователь авторизован
Выполнять код только для авторизованных можно через метод $USER->IsAuthorized()
.
<?
global $USER;
if ($USER->IsAuthorized()) {
// код для авторизованных посетителей
}
?>
Если пользователь принадлежит группе
Принадлежит ли пользователь к одной из групп с допуском:
<?
global $USER;
$arGroupAvalaible = array(1,9,12,13,14,15); // группы с допуском
$arGroups = CUser::GetUserGroup($USER->GetID()); // массив групп, в которых состоит пользователь
$result_intersect = array_intersect($arGroupAvalaible, $arGroups); // если группы пользователя и группы с допуском совпадают
if(!empty($result_intersect)):
echo "У вас есть допуск";
endif;
?>
Получить массив групп текущего пользователя
Метод возвращает ID групп которым принадлежит текущий авторизованный пользователь.
<?
global $USER;
$arGroups = $USER->GetUserGroupArray();
echo "<pre>"; print_r($arGroups); echo "</pre>";
?>
Показать часть страницы по специальной ссылке
Что делать, если нужно поправить только часть страницы и, например, показать заказчику для утверждения? Показать только часть страницы и только нужным людям можно с помощью get-параметра в ссылке. В следующем примере, по параметру в строке ?preview=Y
будет выводиться кусок кода, не показываемый обычным посетителям:
<?
$request = Bitrix\Main\Application::getInstance()->getContext()->getRequest();
if($request->get("preview") == 'Y'):
?>
<p>Эта строка будет видна если в конце адресной строки добавить: ?preview=Y</p>
<?endif;?>