Инструменты пользователя

Инструменты сайта


programming:1c-bitrix:access_check

Проверка прав доступа на доступ к функционалу компонента

в файл параметров добавить:

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();

// список групп получаем
$arUserGroups = array();
$dbGroups = CGroup::GetList($b = "NAME", $o = "ASC", array("ACTIVE" => "Y"));
while ($arGroup = $dbGroups->GetNext())
    $arUserGroups[$arGroup["ID"]] = "[".$arGroup["ID"]."] ".$arGroup["NAME"];

$arComponentParameters = array(
	"GROUPS" => array(
	),
	"PARAMETERS" => array(
    
    "USERGROUPS_LIST" => array(
            "PARENT" => "BASE",
            "NAME" => 'Может смотреть всех сотрудников:',
            "TYPE" => "LIST",
            "MULTIPLE" => "Y",
            "VALUES" => $arUserGroups,
        ),    
    
    
		"CACHE_TIME"  =>  Array("DEFAULT"=>180),
	),
);

В компонент вписываем:

if (!Is_Array($arParams["USERGROUPS_XLS"])){
    if (IntVal($arParams["USERGROUPS_XLS"]) > 0)
        $arParams["USERGROUPS_XLS"] = array($arParams["USERGROUPS_XLS"]);
    else
        $arParams["USERGROUPS_XLS"] = array();
}

//Рассчитываем число вхождений в группы
$arResult['USER_IN_GROUP_XLS'] = Count(Array_Intersect(CUser::GetUserGroupArray(), $arParams["USERGROUPS_XLS"]));

if($arResult['USER_IN_GROUP_XLS'])die('FUN-FUN!!!');
programming/1c-bitrix/access_check.txt · Последнее изменение: 2017/03/27 11:26 — artur

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki