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

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

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

<?php 
//    /bitrix/modules/sale/include.phpGetFormatedUserName()
//    824:

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$arUsertruetrue);
        }
    }

    
$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 '[<a href="/bitrix/admin/user_edit.php?ID='.$uId.'&lang='.LANGUAGE_ID.'">'.$uId.'</a>] ';

            
$formatted .= '<a href="'.$userUrl.'">';
            
$formatted .= $formattedUsersName[$uId];

            
$formatted .= '</a>';

            
$result[$uId] = $formatted;
        }
    }
    else
    {
        if (
$bEnableId)
            
$result .= '[<a href="/bitrix/admin/user_edit.php?ID='.$userId.'&lang='.LANGUAGE_ID.'">'.$userId.'</a>] ';

        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 .= '<a href="'.$userUrl.'">';

        
$result .= $formattedUsersName[$userId];

        
$result .= '</a>';
    }

    return 
$result;
}

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

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

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

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

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

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

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

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