• Модуль: imopenlines
  • Путь к файлу: ~/bitrix/modules/imopenlines/lib/operator.php
  • Класс: BitrixImOpenLinesOperator
  • Вызов: Operator::transfer
public function transfer(array $params)
{
	$access = $this->checkAccess();
	if (!$access['RESULT'] || empty($params['TRANSFER_ID']))
	{
		return false;
	}
	if ($this->userId == $params['TRANSFER_ID'])
	{
		$this->error = new BasicError(__METHOD__, 'SELF_TRANSFER_FAIL', 'SELF_TRANSFER_FAIL');
		return false;
	}

	if (mb_substr($params['TRANSFER_ID'], 0, 5) == 'queue')
	{
		CUserCounter::Increment($this->userId, 'imopenlines_transfer_count_'.mb_substr($params['TRANSFER_ID'], 5));
	}

	$chat = new Chat($this->chatId);

	$transferResult = $chat->transfer([
		'FROM' => $this->userId,
		'TO' => $params['TRANSFER_ID']
	]);

	if (!$transferResult)
	{
		$this->error = new BasicError(__METHOD__, 'TRANSFER_FAIL', 'TRANSFER_FAIL');
	}

	return $transferResult;
}