• Модуль: socialservices
  • Путь к файлу: ~/bitrix/modules/socialservices/lib/network.php
  • Класс: BitrixSocialservicesNetwork
  • Вызов: Network::addUser
public function addUser($params)
{
	$password = md5($params['XML_ID'].'|'.$params['CLIENT_DOMAIN'].'|'.rand(1000,9999).'|'.time().'|'.uniqid());
	$photo = CFile::MakeFileArray($params['PERSONAL_PHOTO_ORIGINAL']);
	$groups = Array();

	if(Loader::includeModule('extranet'))
	{
		$groups[] = CExtranet::GetExtranetUserGroupID();
	}

	$addParams = Array(
		'LOGIN' => $params['NETWORK_USER_ID'].'@'.$params['CLIENT_DOMAIN'],
		'NAME' => $params['NAME'],
		'EMAIL' => $params['EMAIL'],
		'LAST_NAME' => $params['LAST_NAME'],
		'SECOND_NAME' => $params['SECOND_NAME'],
		'PERSONAL_GENDER' => $params['PERSONAL_GENDER'],
		'PERSONAL_PHOTO' => $photo,
		'WORK_POSITION' => $params['CLIENT_DOMAIN'],
		'XML_ID' => $params['XML_ID'],
		'EXTERNAL_AUTH_ID' => self::EXTERNAL_AUTH_ID,
		"ACTIVE" => "Y",
		"PASSWORD" => $password,
		"CONFIRM_PASSWORD" => $password,
		"GROUP_ID" => $groups
	);
	if (isset($params['EMAIL']))
	{
		$addParams['EMAIL'] = $params['EMAIL'];
	}

	$user = new CUser;
	$userId = $user->Add($addParams);
	if (intval($userId) <= 0)
	{
		$this->errorCollection[] = new Error($user->LAST_ERROR, self::ERROR_REGISTER_USER);
		return false;
	}

	$event = new Event("socialservices", "OnAfterRegisterUserByNetwork", array($userId, $params['NETWORK_USER_ID'], $params['CLIENT_DOMAIN']));
	$event->send();

	return $userId;
}