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

CForumUser::GetFormattedNameFieldsForSelect: метод Битрикс

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

//    CForumUser::GetFormattedNameFieldsForSelect()
//    /bitrix/modules/forum/classes/mysql/user.php:642

    public static function GetFormattedNameFieldsForSelect($arParams = array(), $bReturnAll = true)
    {
        $arParams = (is_array($arParams) ? $arParams : array($arParams));
        $arParams["sNameTemplate"] = trim($arParams["sNameTemplate"]);
        $arParams["sUserTablePrefix"] = rtrim((!empty($arParams["sUserTablePrefix"]) ? $arParams["sUserTablePrefix"] : "U"), ".").".";
        $arParams["sForumUserTablePrefix"] = rtrim((!empty($arParams["sForumUserTablePrefix"]) ? $arParams["sForumUserTablePrefix"] : "FU"), ".").".";
        $arParams["sFieldName"] = (!empty($arParams["sFieldName"]) ? $arParams["sFieldName"] : "AUTHOR_NAME_FRMT");
        $arParams["sUserIDFieldName"] = (!empty($arParams["sUserIDFieldName"]) ? $arParams["sUserIDFieldName"] : "F.LAST_POSTER_ID");
        $res = array(
            "select" =>
                "CASE ".
                    " WHEN (".
                        $arParams["sForumUserTablePrefix"]."USER_ID > 0 ".
                        " AND ".
                        $arParams["sForumUserTablePrefix"]."SHOW_NAME = 'Y' ".
                        " AND ".
                        "LENGTH(TRIM(CONCAT_WS('',".
                            CForumUser::GetNameFieldsForQuery(
                                $arParams["sNameTemplate"],
                                $arParams["sUserTablePrefix"])."))) > 0".
                    ") ".
                    " THEN TRIM(REPLACE(CONCAT_WS(' ',".
                        CForumUser::GetNameFieldsForQuery(
                            $arParams["sNameTemplate"],
                            $arParams["sUserTablePrefix"])."), ' ', ' '))".
                    " ELSE ".$arParams["sUserTablePrefix"]."LOGIN ".
                " END AS ".$arParams["sFieldName"],
            "join" =>
                "LEFT JOIN b_forum_user ".rtrim($arParams["sForumUserTablePrefix"], ".").
                    " ON (".$arParams["sUserIDFieldName"]."=".$arParams["sForumUserTablePrefix"]."USER_ID) ".
                "LEFT JOIN b_user ".rtrim($arParams["sUserTablePrefix"], ".").
                    " ON (".$arParams["sUserIDFieldName"]."=".$arParams["sUserTablePrefix"]."ID) "
        );
        if ($bReturnAll)
            return $res;
        return $res["select"];
    }

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

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

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

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

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

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

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

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