- Модуль: imopenlines
- Путь к файлу: ~/bitrix/modules/imopenlines/lib/quickanswers/listsdatamanager.php
- Класс: BitrixImOpenlinesQuickAnswersListsDataManager
- Вызов: ListsDataManager::getRights
static function getRights($rightCode, array $users, $userWithNoXmlId = 0, $additionalRights = [])
{
$result = array();
$userWithNoXmlId = intval($userWithNoXmlId);
if($userWithNoXmlId > 0)
{
$users[] = $userWithNoXmlId;
}
$rightsList = CIBlockRights::GetRightsList(false);
$rightTaskId = array_search($rightCode, $rightsList);
if($rightTaskId)
{
$i = 0;
foreach($users as $user)
{
$code = $user;
if($user && intval($user) == $user)
{
$code = 'U'.$user;
}
$result['n' . $i] = array(
'TASK_ID' => $rightTaskId,
'GROUP_CODE' => $code,
);
if($user != $userWithNoXmlId)
{
$result['n' . $i]['XML_ID'] = self::RIGHTS_XML_ID;
}
$i++;
if (in_array($code, $additionalRights))
{
$additionalRights = array_diff($additionalRights, [$code]);
}
}
foreach ($additionalRights as $additionalRight)
{
$result['n' . $i] = array(
'TASK_ID' => $rightTaskId,
'GROUP_CODE' => $additionalRight,
'XML_ID' => self::RIGHTS_XML_ID,
);
$i++;
}
}
return $result;
}