- Модуль: controller
- Путь к файлу: ~/bitrix/modules/controller/classes/general/controllermember.php
- Класс: CAllControllerMember
- Вызов: CAllControllerMember::RegisterMemberByPHP
static function RegisterMemberByPHP($ar_member)
{
/** @global CMain $APPLICATION */
global $APPLICATION;
$controller_url = COption::GetOptionString("controller", "controller_url", ($APPLICATION->IsHTTPS()?"https://":"http://").$_SERVER['HTTP_HOST']);
if(!isset($ar_member['MEMBER_ID']))
$ar_member['MEMBER_ID'] = "m".BitrixMainSecurityRandom::getString(31);
if(!isset($ar_member['SECRET_ID']))
$ar_member['SECRET_ID'] = "m".BitrixMainSecurityRandom::getString(31);
$arParameters = Array(
"member_id" => $ar_member['MEMBER_ID'],
"member_secret_id" => $ar_member['SECRET_ID'],
"controller_url" => $controller_url,
"join_command" => '
COption::SetOptionString("main", "controller_member", "Y");
COption::SetOptionString("main", "controller_ticket", "");
RegisterModuleDependences("main", "OnUserLoginExternal", "main", "CControllerClient", "OnExternalLogin", 1);
RegisterModuleDependences("main", "OnExternalAuthList", "main", "CControllerClient", "OnExternalAuthList");
',
"disconnect_command" => '
CControllerClient::RestoreAll();
COption::SetOptionString("main", "controller_member", "N");
COption::SetOptionString("main", "controller_member_id", "");
COption::SetOptionString("main", "controller_url", "");
UnRegisterModuleDependences("main", "OnUserLoginExternal", "main", "CControllerClient", "OnExternalLogin");
UnRegisterModuleDependences("main", "OnExternalAuthList", "main", "CControllerClient", "OnExternalAuthList");
'
);
if($ar_member["ID"] = CControllerMember::Add($ar_member))
{
$ar_member["REG_PARAMS"] = $arParameters;
return $ar_member;
}
return false;
}