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

Context::autodetectContext: метод Битрикс

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

//    Bitrix\Mobile\Context::autodetectContext()
//    /bitrix/modules/mobile/lib/context.php:31

    public static function autodetectContext()
    {

        global $USER;
        if(!self::$defaultContext)
        {
            $isExtranetModuleInstalled = \Bitrix\Main\Loader::includeModule("extranet");
            $siteDir = SITE_DIR;
            if ($isExtranetModuleInstalled)
            {
                $extranetSiteId = \CExtranet::getExtranetSiteId();
                if (!$extranetSiteId)
                {
                    $isExtranetModuleInstalled = false;
                }
            }
            $users = \CUser::GetList(
                ($by = ["last_name" => "asc", "name" => "asc"]),
                ($order = false),
                ["ID" => $USER->GetID()],
                ["SELECT"=>["UF_DEPARTMENT"]]
            );
            $user = $users->Fetch();
            $isExtranetUser = ($isExtranetModuleInstalled && intval($user["UF_DEPARTMENT"][0]) <= 0);
            $siteId = (
            $isExtranetUser
                ? $extranetSiteId
                : SITE_ID
            );

            if ($isExtranetUser)
            {
                $res = \CSite::getById($extranetSiteId);
                if(
                    ($extranetSiteFields = $res->fetch())
                    && ($extranetSiteFields["ACTIVE"] != "N")
                )
                {
                    $siteDir = $extranetSiteFields["DIR"];
                }
            }

            $moduleVersion = (defined("MOBILE_MODULE_VERSION") ? MOBILE_MODULE_VERSION : "default");
            if(array_key_exists("IS_WKWEBVIEW", $_COOKIE) && $_COOKIE["IS_WKWEBVIEW"] == "Y")
            {
                $moduleVersion .= "_wkwebview";
            }

            self::$defaultContext = [
                "extranet"=>$isExtranetUser,
                "siteId"=>$siteId,
                "siteDir"=>$siteDir,
                "version"=>$moduleVersion,
            ];
        }

        return self::$defaultContext;
    }

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

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

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

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

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

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

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

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