Требуется разработчик! Поддержка серверов

CFormResult::GetDataByIDForHTML: метод Битрикс

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

<?php 
//    CFormResult::GetDataByIDForHTML()
//    /bitrix/modules/form/classes/general/form_callformresult.php:184

    
function GetDataByIDForHTML($RESULT_ID$GET_ADDITIONAL="N")
    {
        
$err_mess = (CAllFormResult::err_mess())."<br>Function: GetDataByIDForHTML<br>Line: ";
        global 
$DB$strError;
        
$z CFormResult::GetByID($RESULT_ID);
        if (
$zr=$z->Fetch())
        {
            
$arrResult $zr;
            
$additional = ($GET_ADDITIONAL=="Y") ? "ALL" "N";

            
$WEB_FORM_ID CForm::GetDataByID($arrResult["FORM_ID"], $arForm$arQuestions$arAnswers$arDropDown$arMultiSelect$additional);

            
CForm::GetResultAnswerArray($WEB_FORM_ID$arrResultColumns$arrResultAnswers$arrResultAnswersSID, array("RESULT_ID" => $RESULT_ID));
            
$arrResultAnswers $arrResultAnswers[$RESULT_ID];

            
$DB_VARS = array();
            foreach (
$arQuestions as $key => $arQuestion)
            {
                if (
$arQuestion["ADDITIONAL"]!="Y")
                {
                    
$FIELD_SID $arQuestion["SID"];
                    if (
is_array($arAnswers[$FIELD_SID]))
                    {
                        foreach (
$arAnswers[$FIELD_SID] as $key => $arAnswer)
                        {
                            
$arrResultAnswer $arrResultAnswers[$arQuestion["ID"]][$arAnswer["ID"]];
                            
$FIELD_TYPE $arAnswer["FIELD_TYPE"];
                            switch (
$FIELD_TYPE) :

                                case 
"radio":
                                case 
"dropdown":
                                    if (
intval($arrResultAnswer["ANSWER_ID"])>0)
                                    {
                                        
$fname "form_".strtolower($FIELD_TYPE)."_".$FIELD_SID;
                                        
$DB_VARS[$fname] = $arrResultAnswer["ANSWER_ID"];
                                    }
                                break;

                                case 
"checkbox":
                                case 
"multiselect":
                                    if (
intval($arrResultAnswer["ANSWER_ID"])>0)
                                    {
                                        
$fname "form_".strtolower($FIELD_TYPE)."_".$FIELD_SID;
                                        
$DB_VARS[$fname][] = $arrResultAnswer["ANSWER_ID"];
                                    }
                                break;

                                case 
"date":
                                    if (
strlen($arrResultAnswer["USER_DATE"])>0)
                                    {
                                        
$arrResultAnswer["USER_TEXT"] = $DB->FormatDate(
                                            
$arrResultAnswer["USER_DATE"],
                                            
FORMAT_DATETIME,
                                            (
MakeTimeStamp($arrResultAnswer["USER_TEXT"])+date('Z'))%86400 == FORMAT_DATE FORMAT_DATETIME
                                        
);

                                        
$fname "form_".strtolower($FIELD_TYPE)."_".$arAnswer["ID"];
                                        
$DB_VARS[$fname] = $arrResultAnswer["USER_TEXT"];
                                    }

                                    break;

                                case 
"text":
                                case 
"password":
                                case 
"textarea":
                                case 
"email":
                                case 
"url":
                                case 
"hidden":
                                    if (
strlen($arrResultAnswer["USER_TEXT"])>0)
                                    {
                                        
$fname "form_".strtolower($FIELD_TYPE)."_".$arAnswer["ID"];
                                        
$DB_VARS[$fname] = $arrResultAnswer["USER_TEXT"];
                                    }
                                break;

                                case 
"image":
                                case 
"file":
                                    if (
intval($arrResultAnswer["USER_FILE_ID"])>0)
                                    {
                                        
$fname "form_".strtolower($FIELD_TYPE)."_".$arAnswer["ID"];
                                        
$DB_VARS[$fname] = $arrResultAnswer["USER_FILE_ID"];
                                    }
                                break;

                            endswitch;
                        } 
//endforeach;
                    
}
                }
                else
                {
                    
$FIELD_TYPE $arQuestion["FIELD_TYPE"];
                    
$arrResultAnswer $arrResultAnswers[$arQuestion["ID"]][0];
                    switch (
$FIELD_TYPE) :
                        case 
"text":
                            if (
strlen($arrResultAnswer["USER_TEXT"])>0)
                            {
                                
$fname "form_textarea_ADDITIONAL_".$arQuestion["ID"];
                                
$DB_VARS[$fname] = $arrResultAnswer["USER_TEXT"];
                            }
                            break;
                        case 
"integer":
                            if (
strlen($arrResultAnswer["USER_TEXT"])>0)
                            {
                                
$fname "form_text_ADDITIONAL_".$arQuestion["ID"];
                                
$DB_VARS[$fname] = $arrResultAnswer["USER_TEXT"];
                            }
                            break;
                        case 
"date":
                            
$fname "form_date_ADDITIONAL_".$arQuestion["ID"];
                            
$DB_VARS[$fname] = $arrResultAnswer["USER_TEXT"];
                            break;
                    endswitch;
                }
            }
//endforeach
            
return $DB_VARS;
        }
    }

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

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

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

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

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

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

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

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