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

CFormStatus::GetDropdown: метод Битрикс

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

//    CFormStatus::GetDropdown()
//    /bitrix/modules/form/classes/mysql/form_cformstatus.php:125

    function GetDropdown($FORM_ID, $PERMISSION = array("MOVE"), $OWNER_ID=0)
    {
        $err_mess = (CFormStatus::err_mess())."
Function: GetDropdown
Line: ";
        global $DB, $USER, $strError;
        $FORM_ID = intval($FORM_ID);
        if (CForm::IsAdmin())
        {
            $strSql = "
                SELECT
                    S.ID                                REFERENCE_ID,
                    concat('[',S.ID,'] ',S.TITLE)        REFERENCE
                FROM
                    b_form_status S
                WHERE
                    S.FORM_ID = $FORM_ID
                and S.ACTIVE = 'Y'
                ORDER BY S.C_SORT
                ";
        }
        else
        {
            if (is_array($PERMISSION)) $arrPERMISSION = $PERMISSION;
            else
            {
                if (intval($PERMISSION)==2) $PERMISSION = "MOVE";
                if (intval($PERMISSION)==1) $PERMISSION = "VIEW, MOVE";
                $arrPERMISSION = explode(",",$PERMISSION);
            }
            $str = "''";
            $arrPERM = array();
            if (is_array($arrPERMISSION) && count($arrPERMISSION)>0)
            {
                foreach ($arrPERMISSION as $perm)
                {
                    $arrPERM[] = trim($perm);
                    $str .= ",'".$DB->ForSql(trim($perm))."'";
                }
            }
            $arGroups = $USER->GetUserGroupArray();
            if (!is_array($arGroups)) $arGroups[] = 2;
            if ($OWNER_ID==$USER->GetID() || (in_array("VIEW",$arrPERM) && in_array("MOVE",$arrPERM))) $arGroups[] = 0;
            if (is_array($arGroups) && count($arGroups)>0) $groups = implode(",",$arGroups);
            $strSql = "
                SELECT
                    S.ID                                REFERENCE_ID,
                    concat('[',S.ID,'] ',S.TITLE)        REFERENCE
                FROM
                    b_form_status S,
                    b_form_status_2_group G
                WHERE
                    S.FORM_ID = $FORM_ID
                and S.ACTIVE = 'Y'
                and G.STATUS_ID = S.ID
                and G.GROUP_ID in ($groups)
                and G.PERMISSION in ($str)
                GROUP BY
                    S.ID, S.TITLE
                ORDER BY S.C_SORT
                ";
        }
        //echo "
".$strSql."
";
        $z = $DB->Query($strSql, false, $err_mess.__LINE__);
        return $z;
    }

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

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

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

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

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

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

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

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