- Модуль: form
- Путь к файлу: ~/bitrix/modules/form/classes/general/form_callformresult.php
- Класс: CAllFormResult
- Вызов: CAllFormResult::GetDataByID
static function GetDataByID($RESULT_ID, $arrFIELD_SID, &$arrRES, &$arrANSWER)
{
global $DB, $strError;
$err_mess = (CAllFormResult::err_mess())."
Function: GetDataByID
Line: ";
$arrReturn = array();
$RESULT_ID = intval($RESULT_ID);
$z = CFormResult::GetByID($RESULT_ID);
if ($arrRES = $z->Fetch())
{
if (is_array($arrFIELD_SID) && count($arrFIELD_SID)>0)
{
foreach($arrFIELD_SID as $field) $str .= ",'".$DB->ForSql($field,50)."'";
$str = TrimEx($str,",");
if ($str <> '') $s = "and SID in ($str)";
}
$strSql = "SELECT ID, SID, SID as VARNAME FROM b_form_field WHERE FORM_ID='".$arrRES["FORM_ID"]."' ".$s;
$q = $DB->Query($strSql, false, $err_mess.__LINE__);
while ($qr = $q->Fetch())
{
$arrFIELDS[$qr["ID"]] = $qr["SID"];
}
if (is_array($arrFIELDS)) $arrKeys = array_keys($arrFIELDS);
CForm::GetResultAnswerArray($arrRES["FORM_ID"], $arrColumns, $arrAnswers, $arrAnswersSID, array("RESULT_ID"=>$RESULT_ID));
foreach ($arrAnswers[$RESULT_ID] as $fid => $arrAns)
{
if (is_array($arrKeys))
{
if (in_array($fid,$arrKeys))
{
$sid = $arrFIELDS[$fid];
$arrANSWER[$sid] = $arrAns;
$arrA = array_values($arrAns);
foreach($arrA as $arr) $arrReturn[$sid][] = $arr;
}
}
}
}
else return false;
if (is_array($arrANSWER)) reset($arrANSWER);
if (is_array($arrReturn)) reset($arrReturn);
if (is_array($arrRES)) reset($arrRES);
return $arrReturn;
}