• Модуль: imopenlines
  • Путь к файлу: ~/bitrix/modules/imopenlines/lib/widget/formhandler.php
  • Класс: BitrixImOpenLinesWidgetFormHandler
  • Вызов: FormHandler::getUserFieldsToUpdate
private function getUserFieldsToUpdate(): array
{
	$fieldsToUpdate = [];

	if ($this->crmFields['FIRST_NAME'])
	{
		if ($this->user->getName() !== $this->crmFields['FIRST_NAME'])
		{
			$fieldsToUpdate['NAME'] = $this->crmFields['FIRST_NAME'];
		}
	}
	if ($this->crmFields['LAST_NAME'])
	{
		if ($this->user->getLastName() !== $this->crmFields['LAST_NAME'])
		{
			$fieldsToUpdate['LAST_NAME'] = $this->crmFields['LAST_NAME'];
		}
	}
	//validate, check and update email
	$email = $this->getEmailFieldValue();
	if (
		$email
		&& ToolsEmail::validate($email)
		&& !ToolsEmail::isSame($this->user->getEmail(), $email)
	)
	{
		$fieldsToUpdate['EMAIL'] = ToolsEmail::normalize($email);
	}
	//validate, check and update phone
	if (
		$this->crmFields['PHONE']
		&& ToolsPhone::validate($this->crmFields['PHONE'])
		&& !ToolsPhone::isSame($this->user->getPhone(ImUser::PHONE_MOBILE), $this->crmFields['PHONE'])
	)
	{
		$fieldsToUpdate['PERSONAL_MOBILE'] = $this->crmFields['PHONE'];
	}

	return $fieldsToUpdate;
}