• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/controller_member.php
  • Класс: CControllerClient
  • Вызов: CControllerClient::JoinToControllerEx
static function JoinToControllerEx($controller_url, $controller_login, $controller_password, $arMemberParams = Array())
{
	if(COption::GetOptionString("main", "controller_member", "N")=="Y")
		return false;

	if($arMemberParams["URL"] == '')
		$arMemberParams["URL"] = $_SERVER['HTTP_HOST'];

	list($member_id, $member_secret_id, $ticket_id) = CControllerClient::InitTicket($controller_url);

	// send to controller
	$arVars =
		Array(
			"member_secret_id" => $member_secret_id,
			"ticket_id" => $ticket_id,
			"admin_login" => $controller_login,
			"admin_password" => $controller_password,
			"url" => $arMemberParams["URL"],
			"name" => $arMemberParams["NAME"],
			"contact_person" => $arMemberParams["CONTACT_PERSON"],
			"email" => $arMemberParams["EMAIL"],
			"shared_kernel" => ($arMemberParams["SHARED_KERNEL"]?"Y":"N"),
			);

	if($arMemberParams["CONTROLLER_GROUP"]>0)
		$arVars['group_id'] = $arMemberParams["CONTROLLER_GROUP"];

	$oRequest = new CControllerClientRequestTo("join", $arVars);
	if(($oResponse = $oRequest->Send())==false)
		return false;

	if(!$oResponse->OK())
	{
		$e = new CApplicationException(GetMessage("MAIN_CMEMBER_ERR3").": ".$oResponse->text);
		$GLOBALS["APPLICATION"]->ThrowException($e);
		return false;
	}

	COption::SetOptionString("main", "controller_member", "Y");

	global $USER;
	$USER->Authorize($USER->GetID());

	return true;
}