• Модуль: imopenlines
  • Путь к файлу: ~/bitrix/modules/imopenlines/lib/crm/fields.php
  • Класс: BitrixImOpenLinesCrmFields
  • Вызов: Fields::setDataFromUser
public function setDataFromUser($userId = 0): self
{
	if (!empty($this->session) && !empty($this->session->getData('USER_ID')) && $this->session->getData('USER_ID') > 0)
	{
		$userId = $this->session->getData('USER_ID');
	}

	if (!empty($userId) && $userId>0)
	{
		$user = ImUser::getInstance($userId);

		if (!empty($user))
		{
			if (!$user->getLastName() && !$user->getName())
			{
				$this->setPersonName($user->getFullName(false));
			}
			else
			{
				$this->setPersonName($user->getName());
			}
			$this
				->setPersonLastName($user->getLastName())
				->setPersonSecondName('')
			;

			$email = $user->getEmail();
			if (!empty($email) && ToolsEmail::validate($email))
			{
				$this->setPersonEmail($email);
			}
			elseif (empty($email))
			{
				$this->setPersonEmail('');
			}
			$phone = $user->getPhone();
			if (
				!empty($phone)
				&& $this->skipPhoneValidate !== true
				&& ToolsPhone::validate($phone)
			)
			{
				$this->setPersonPhone($phone);
			}
			elseif (
				!empty($phone)
				&& $this->skipPhoneValidate === true
				&& ToolsPhone::extractNumbers($phone)
			)
			{
				$this->setPersonPhone($phone);
			}
			elseif (empty($phone))
			{
				$this->setPersonPhone('');
			}

			$this->setPersonWebsite($user->getWebsite());
		}
	}

	return $this;
}