Поддержка серверов

CControllerMember::RegisterMemberByPHP: метод Битрикс

Постоянная ссылка: http://bxapi.ru/src/?id=186405

//    CControllerMember::RegisterMemberByPHP()
//    /bitrix/modules/controller/classes/general/controllermember.php:1103

    public 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".\Bitrix\Main\Security\Random::getString(31);

        if(!isset($ar_member['SECRET_ID']))
            $ar_member['SECRET_ID'] = "m".\Bitrix\Main\Security\Random::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;
    }

Блог разработчика

9 августа 2016 ResizeImageGet и простой водяной знак налету

Сегодня поговорим о том как проще всего воткнуть водяной знак на картинки в Битрикс. Например, на все изображения каталога.

21 июля 2016 Добавление вкладки в CRM коробки Битрикс24

В этом посте я покажу, как легко и просто добавить вкладку в сущность CRM. И не просто добавить, а вывести там свой контент.

21 июля 2016 Как просто обращаться из коробки Битрикс24 на сайт на базе Битрикс

К примеру вам хочется внутренним скриптом дернуть с сайта-магазина информацию, которая там, в свою очередь, закрыта некоторыми правами. Например, админскими. Можно конечно мутить свой REST, или иной формат общения, но проще всего воспользоваться штатным инструментом:

Текст сообщения*
Загрузить изображение