• Модуль: intranet
  • Путь к файлу: ~/bitrix/modules/intranet/lib/controller/invite.php
  • Класс: BitrixIntranetControllerInvite
  • Вызов: Invite::registerAction
public function registerAction(array $fields)
{
	$errorList = [];
	$userIdList = CIntranetInviteDialog::registerNewUser(CSite::getDefSite(), $fields, $errorList);

	if (!empty($errorList))
	{
		$errorText = implode(
			"n",
			array_filter(
				$errorList,
				function ($value)
				{
					return !empty($value);
				}
			)
		);
		$this->addError(new Error($errorText, 'INTRANET_CONTROLLER_INVITE_REGISTER_ERROR'));
	}
	else
	{
		CIntranetInviteDialog::logAction(
			$userIdList,
			(
				isset($fields['DEPARTMENT_ID'])
				&& (int)$fields['DEPARTMENT_ID'] > 0
					? 'intranet'
					: 'extranet'
			),
			'invite_user',
			(
				!empty($fields['PHONE'])
					? 'sms_dialog'
					: 'invite_dialog'
			),
			(
				!empty($fields['CONTEXT'])
				&& $fields['CONTEXT'] === 'mobile'
					? 'mobile'
					: 'web'
			)
		);
	}

	return [
		'userIdList' => $userIdList,
		'errors' => []
	];
}