• Модуль: 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;
}