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

COpenIDClient::GetRedirectUrl: метод Битрикс

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

//    COpenIDClient::GetRedirectUrl()
//    /bitrix/modules/main/classes/general/openid.php:52

    function GetRedirectUrl($identity, $return_to=false)
    {
        if (strlen($identity) <= 0)
        {
            $GLOBALS['APPLICATION']->ThrowException(GetMessage('OPENID_CLIENT_EMPTY_IDENTITY'));
            return false;
        }

        if (strlen($identity) > 1024)
            $identity = substr($identity, 0, 1024); // may be 256 ????

        $port = ($_SERVER['SERVER_PORT'] > 0 && $_SERVER['SERVER_PORT'] <> 80? ':'.$_SERVER['SERVER_PORT']:'');

        if ($return_to === false)
            $return_to = 'http://'.$_SERVER['SERVER_NAME'].$port.$GLOBALS['APPLICATION']->GetCurPageParam('', array(), false);

        if (strpos(strtolower($identity), 'http://') === false && strpos(strtolower($identity), 'https://') === false)
            $identity = 'http://' . $identity;

        $_SESSION['BX_OPENID_IDENTITY'] = $identity;

        if ($arOpenidServerTags = $this->GetOpenIDServerTags($identity))
        {
            if (!$this->CheckTrustProviders($arOpenidServerTags['server']))
            {
                $GLOBALS['APPLICATION']->ThrowException(GetMessage('OPENID_CLIENT_CHECK_TRUST_PRIVIDERS_FAULT'));
                return false;
            }

            if (strlen($arOpenidServerTags['delegate']) > 0)
                $identity = $arOpenidServerTags['delegate'];

            $trust_root = COption::GetOptionString('main', 'OPENID_TRUST_ROOT', '', SITE_ID);
            if (strlen($trust_root) <= 0)
                $trust_root = 'http://'.$_SERVER['SERVER_NAME'].$port.'/';

            $url = $arOpenidServerTags['server'] . (strpos($arOpenidServerTags['server'], '?')!==false ? '&' : '?') .
                'openid.mode=checkid_setup' .
                '&openid.return_to=' . urlencode($return_to) .
                '&openid.identity=' . urlencode($identity) .
                '&openid.trust_root=' . urlencode($trust_root);

            $sreg_required = COption::GetOptionString('main', 'OPENID_SREG_REQUIRED', 'email,fullname,gender');
            if (strlen($sreg_required) > 0)
                $url .= '&openid.sreg.required=' . urlencode($sreg_required);

            return $url;
        }
        return false;
    }
';

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

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

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

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

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

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

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

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