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

GetFormatedUserName: метод Битрикс

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

//    GetFormatedUserName()
//    /bitrix/modules/sale/include.php:810

function GetFormatedUserName($userId, $bEnableId = true, $createEditLink = true)
{
    static $formattedUsersName = array();
    static $siteNameFormat = '';

    $result = (!is_array($userId)) ? '' : array();
    $newUsers = array();

    if (is_array($userId))
    {
        foreach ($userId as $id)
        {
            if (!isset($formattedUsersName[$id]))
                $newUsers[] = $id;
        }
    }
    else if(!isset($formattedUsersName[$userId]))
    {
        $newUsers[] = $userId;
    }

    if (count($newUsers) > 0)
    {
        $resUsers = \Bitrix\Main\UserTable::getList(
            array(
                'select' => array('ID', 'NAME', 'LAST_NAME', 'SECOND_NAME', 'LOGIN', 'EMAIL'),
                'filter' => array('ID' => $newUsers)
            )
        );
        while ($arUser = $resUsers->Fetch())
        {
            if (strlen($siteNameFormat) == 0)
                $siteNameFormat = CSite::GetNameFormat(false);
            $formattedUsersName[$arUser['ID']] = CUser::FormatName($siteNameFormat, $arUser, true, true);
        }
    }

    $publicMode = (defined("PUBLIC_MODE") && PUBLIC_MODE == 1);
    $selfFolderUrl = (defined("SELF_FOLDER_URL") ? SELF_FOLDER_URL : "/bitrix/admin/");
    if ($publicMode)
    {
        $bEnableId = false;
        global $adminSidePanelHelper;
        if (!is_object($adminSidePanelHelper))
        {
            require_once($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/interface/admin_lib.php");
            $adminSidePanelHelper = new CAdminSidePanelHelper();
        }
    }
    if (is_array($userId))
    {
        foreach ($userId as $uId)
        {
            if (CBXFeatures::IsFeatureEnabled('SaleAccounts') && !$createEditLink)
            {
                $userUrl = $selfFolderUrl."sale_buyers_profile.php?USER_ID=".$uId."&lang=".LANGUAGE_ID;
            }
            else
            {
                $userUrl = $selfFolderUrl."user_edit.php?ID=".$uId."&lang=".LANGUAGE_ID;
            }
            if ($publicMode)
            {
                $userUrl = $adminSidePanelHelper->editUrlToPublicPage($userUrl);
            }
            $formatted = '';
            if ($bEnableId)
                $formatted = '['.$uId.'] ';

            $formatted .= '';
            $formatted .= $formattedUsersName[$uId];

            $formatted .= '
';

            $result[$uId] = $formatted;
        }
    }
    else
    {
        if ($bEnableId)
            $result .= '['.$userId.'] ';

        if (CBXFeatures::IsFeatureEnabled('SaleAccounts') && !$createEditLink)
        {
            $userUrl = $selfFolderUrl."sale_buyers_profile.php?USER_ID=".$userId."&lang=".LANGUAGE_ID;
        }
        else
        {
            $userUrl = $selfFolderUrl."user_edit.php?ID=".$userId."&lang=".LANGUAGE_ID;
        }
        if ($publicMode)
        {
            $userUrl = $adminSidePanelHelper->editUrlToPublicPage($userUrl);
        }

        $result .= '';

        $result .= $formattedUsersName[$userId];

        $result .= '
';
    }

    return $result;
}

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

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

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

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

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

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

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

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