• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/document/documenteditoruser.php
  • Класс: BitrixDiskDocumentDocumentEditorUser
  • Вызов: DocumentEditorUser::create
static function create(array $fields = []): ?EO_User
{
	$name = $fields['NAME'] ?? 'Guest';
	$lastName = $fields['LAST_NAME'] ?? '';

	$login = 'disk_document_editor_' . rand(1000, 9999) . SecurityRandom::getString(8);
	$password = md5($login . '|' . rand(1000, 9999) . '|' . time());
	$xmlId = self::EXTERNAL_AUTH_ID . '|' . md5(time() . $login . $password . uniqid());

	$userManager = new CUser;
	$userId = $userManager->add([
		'NAME' => $name,
		'LAST_NAME' => $lastName,
		'LOGIN' => $login,
		'PASSWORD' => $password,
		'CONFIRM_PASSWORD' => $password,
		'EXTERNAL_AUTH_ID' => self::EXTERNAL_AUTH_ID,
		'XML_ID' => $xmlId,
		'ACTIVE' => 'Y',
	]);

	return (
		$userId > 0
			? UserTable::getById($userId)->fetchObject()
			: null
	);
}