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

CExtranet::getMyGroupsUsersSimple: метод Битрикс

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

//    CExtranet::getMyGroupsUsersSimple()
//    /bitrix/modules/extranet/classes/general/extranet.php:426

    public static function getMyGroupsUsersSimple($extranetSite, $params = array())
    {
        global $USER, $obUsersCache;

        $result = array();

        if (strlen($extranetSite) < 0)
        {
            return $result;
        }

        $userId = 0;

        if (
            is_array($params)
            && isset($params['userId'])
            && intval($params['userId']) > 0
        )
        {
            $userId = intval($params['userId']);
        }
        elseif (
            is_object($USER)
            && $USER->isAuthorized()
        )
        {
            $userId = $USER->getId();
        }

        if ($userId <= 0)
        {
            return $result;
        }

        $arUsersInMyGroups = $obUsersCache->get($extranetSite, false, $userId);

        if (is_array($arUsersInMyGroups))
        {
            return $arUsersInMyGroups;
        }

        $arUsersInMyGroups = array();

        if (CModule::IncludeModule('socialnetwork'))
        {
            $query = new \Bitrix\Main\Entity\Query(\Bitrix\Socialnetwork\UserToGroupTable::getEntity());
            $query->setSelect(array('GROUP_ID'));
            $query->setFilter(array(
                '<=ROLE' => \Bitrix\Socialnetwork\UserToGroupTable::ROLE_USER,
                '=USER_ID' => $userId,
                '=GROUP.ACTIVE' => 'Y',
                '=GROUP.WorkgroupSite:GROUP.SITE_ID' => $extranetSite
            ));

            $subQuery = $query->getQuery();

            $res = \Bitrix\Socialnetwork\UserToGroupTable::getList(array(
                'order' => array(),
                'filter' => array(
                    '@GROUP_ID' => new \Bitrix\Main\DB\SqlExpression($subQuery),
                    '<=ROLE' => \Bitrix\Socialnetwork\UserToGroupTable::ROLE_USER,
                    '=USER.ACTIVE' => 'Y',
                ),
                'select' => array('USER_ID'),
                'group' => array('USER_ID')
            ));

            while ($arUserInGroup = $res->fetch())
            {
                $arUsersInMyGroups[] = $arUserInGroup["USER_ID"];
            }
        }

        $obUsersCache->SetForKey($userId."_".$extranetSite."_N", $arUsersInMyGroups);

        return $arUsersInMyGroups;
    }

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

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

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

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

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

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

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

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