• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/controller_member.php
  • Класс: CControllerClient
  • Вызов: CControllerClient::SetTaskSecurity
static function SetTaskSecurity($task_id, $module_id, $arOperations, $letter = '')
{
	$ID = 0;
	$dbr_task = CTask::GetList(Array(), Array('NAME'=>$task_id, 'MODULE_ID'=>$module_id, "BINDING" => 'module'));
	if($ar_task = $dbr_task->Fetch())
	{
		if($ar_task['SYS']=='Y')
			return false;
		$ID = $ar_task['ID'];
	}

	$arFields = array(
			"NAME" => $task_id,
			"LETTER" => $letter,
			"BINDING" => 'module',
			"MODULE_ID" => $module_id
		);

	if($ID>0)
		$res = CTask::Update($arFields, $ID);
	else
	{
		$ID = CTask::Add($arFields);
		$res = ($ID>0);
		if($res)
		{
			$arBackup = CControllerClient::GetBackup();
			$arBackup['security_task'][] = $ID;
			CControllerClient::SetBackup($arBackup);
		}
	}

	if($res)
	{
		CTask::SetOperations($ID, $arOperations, true);
	}
}