/** @return \CDBResult */ public function getData() { $formId = $this->getFieldValue('FORM', null); $propertyNameId = $this->getFieldValue('PROPERTY_NAME', null); $propertyEmailId = $this->getFieldValue('PROPERTY_EMAIL', null); $formResultsDb = new \CDBResult(); if ($formId && $propertyEmailId) { $dataResult = array(); $filter = array(); $formResultDb = \CFormResult::GetList($formId, $by = "s_timestamp", $order = "asc", $filter, $filtered, "N"); while ($formResult = $formResultDb->Fetch()) { $answerList = \CFormResult::GetDataByID($formResult['ID'], array(), $formResult, $answerList2); $data = array(); foreach ($answerList as $fieldCode => $arFieldsAnswer) { if ($arFieldsAnswer[0]['TITLE_TYPE'] == 'text') { if ($arFieldsAnswer[0]['FIELD_ID'] == $propertyNameId) { $data['NAME'] = $arFieldsAnswer[0]['USER_TEXT']; } if ($arFieldsAnswer[0]['FIELD_ID'] == $propertyEmailId) { $data['EMAIL'] = $arFieldsAnswer[0]['USER_TEXT']; } } } if (!empty($data['EMAIL'])) { if (intval($formResult['USER_ID']) > 0) { $data['USER_ID'] = intval($formResult['USER_ID']); } $dataResult[] = $data; } } $formResultsDb->InitFromArray($dataResult); } return $formResultsDb; }
public function resultsById($RESULT_ID) { $data = \CFormResult::GetDataByID($RESULT_ID); $result = array(); foreach ($data as $d) { $result[$d[0]['FIELD_ID']] = $d[0]['USER_TEXT']; } return $result; }
public static function AddLead($FORM_ID, $RESULT_ID, $arLink = null) { $FORM_ID = intval($FORM_ID); $RESULT_ID = intval($RESULT_ID); if ($FORM_ID <= 0 || $RESULT_ID <= 0) return false; if (!is_array($arLink)) { $dbRes = CFormCrm::GetByFormID($FORM_ID); $arLink = $dbRes->Fetch(); } if (!$arLink) return false; $arResultFields = array(); $arAnswers = array(); CFormResult::GetDataByID($RESULT_ID, array(), $arResultFields, $arAnswers); $ob = new CFormCrmSender($arLink['CRM_ID']); $arCrmF = $ob->GetFields(); $arCrmFields = array(); foreach ($arCrmF as $ar) $arCrmFields[$ar['ID']] = $ar; $arLeadFields = array(); $dbRes = CFormCrm::GetFields($arLink['ID']); while ($arRes = $dbRes->Fetch()) { if (intval($arRes['FIELD_ID']) > 0) { $bFound = false; foreach ($arAnswers as $sid => $arAnswer) { foreach ($arAnswer as $answer_id => $arAns) { if ($arAns['FIELD_ID'] == $arRes['FIELD_ID']) { $bFound = true; if ($arCrmFields[$arRes['CRM_FIELD']]) { switch ($arCrmFields[$arRes['CRM_FIELD']]['TYPE']) { case 'enum': { if ($arAns['FIELD_TYPE'] == 'dropdown' || $arAns['FIELD_TYPE'] == 'checkbox' || $arAns['FIELD_TYPE'] == 'radio' || $arAns['FIELD_TYPE'] == 'multiselect') { $arLeadFields[$arRes['CRM_FIELD']] = $arAns['VALUE']; } else { $arLeadFields[$arRes['CRM_FIELD']] = $arAns['ANSWER_TEXT']; } } break; case 'boolean': $arLeadFields[$arRes['CRM_FIELD']] = 'Y'; break; default: $arLeadFields[$arRes['CRM_FIELD']] = (strlen($arAns['USER_TEXT']) > 0 ? $arAns['USER_TEXT'] : ( strlen($arAns['ANSWER_TEXT']) > 0 ? $arAns['ANSWER_TEXT'] : $arAns['VALUE'] ) ); } } } } } if (!$bFound && $arCrmFields[$arRes['CRM_FIELD']] && $arCrmFields[$arRes['CRM_FIELD']]['TYPE'] == 'boolean') { $arLeadFields[$arRes['CRM_FIELD']] = 'N'; } } elseif (strlen($arRes['FIELD_ALT']) > 0) { switch($arRes['FIELD_ALT']) { case 'RESULT_ID': $arLeadFields[$arRes['CRM_FIELD']] = $arResultFields['ID']; break; case 'FORM_SID': $arLeadFields[$arRes['CRM_FIELD']] = $arResultFields['SID']; break; case 'FORM_NAME': $arLeadFields[$arRes['CRM_FIELD']] = $arResultFields['NAME']; break; case 'SITE_ID': $arLeadFields[$arRes['CRM_FIELD']] = SITE_ID; break; case 'FORM_ALL': $arLeadFields[$arRes['CRM_FIELD']] = self::_getAllFormFields($FORM_ID, $RESULT_ID, $arAnswers); break; case 'FORM_ALL_HTML': $arLeadFields[$arRes['CRM_FIELD']] = self::_getAllFormFieldsHTML($FORM_ID, $RESULT_ID, $arAnswers); break; } } } $result = $ob->AddLead($arLeadFields); if ($result->code() != 201) { $GLOBALS['APPLICATION']->ThrowException($result->error(), $result->code()); return false; } else { CFormResult::SetCRMFlag($RESULT_ID, 'Y'); return $result->field('ID'); } }
/** * <p>Создает почтовое событие для отсылки данных <a href="http://dev.1c-bitrix.ru/api_help/form/terms.php#result">результата</a> по e-mail. Возвращает "true" в случае успеха, в противном случае - "false".</p> * * * * * @param int $result_id ID <a href="http://dev.1c-bitrix.ru/api_help/form/terms.php#result">результата</a>. * * * * @param mixed $template_id = false ID почтового шаблона.<br><br> Параметр необязательный. По умолчанию - * "false" (будут использованы почтовые шаблоны из настроек * соответствующей веб-формы). * * * * @return bool * * * <h4>Example</h4> * <pre> * <? * $RESULT_ID = 189; // ID результата * * // создадим почтовое событие для отсылки по EMail данных результата * if (<b>CFormResult::Mail</b>($RESULT_ID)) * { * echo "Почтовое событие успешно создано."; * } * else // ошибка * { * global $strError; * echo $strError; * } * ?> * </pre> * * * @static * @link http://dev.1c-bitrix.ru/api_help/form/classes/cformresult/mail.php * @author Bitrix */ public static function Mail($RESULT_ID, $TEMPLATE_ID = false) { global $APPLICATION, $DB, $MESS, $strError; $err_mess = (CAllFormResult::err_mess())."<br>Function: Mail<br>Line: "; $RESULT_ID = intval($RESULT_ID); CTimeZone::Disable(); $arrResult = CFormResult::GetDataByID($RESULT_ID, array(), $arrRES, $arrANSWER); CTimeZone::Enable(); if ($arrResult) { $z = CForm::GetByID($arrRES["FORM_ID"]); if ($arrFORM = $z->Fetch()) { $TEMPLATE_ID = intval($TEMPLATE_ID); $arrFormSites = CForm::GetSiteArray($arrRES["FORM_ID"]); $arrFormSites = (is_array($arrFormSites)) ? $arrFormSites : array(); if (!defined('SITE_ID') || !in_array(SITE_ID, $arrFormSites)) return true; $rs = CSite::GetList(($by="sort"), ($order="asc"), array('ID' => implode('|', $arrFormSites))); $arrSites = array(); while ($ar = $rs->Fetch()) { if ($ar["DEF"]=="Y") $def_site_id = $ar["ID"]; $arrSites[$ar["ID"]] = $ar; } $arrFormTemplates = CForm::GetMailTemplateArray($arrRES["FORM_ID"]); $arrFormTemplates = (is_array($arrFormTemplates)) ? $arrFormTemplates : array(); $arrTemplates = array(); $rs = CEventMessage::GetList($by="id", $order="asc", array( "ACTIVE" => "Y", "SITE_ID" => SITE_ID, "EVENT_NAME" => $arrFORM["MAIL_EVENT_TYPE"] )); while ($ar = $rs->Fetch()) { if ($TEMPLATE_ID>0) { if ($TEMPLATE_ID == $ar["ID"]) { $arrTemplates[$ar["ID"]] = $ar; break; } } elseif (in_array($ar["ID"],$arrFormTemplates)) $arrTemplates[$ar["ID"]] = $ar; } foreach($arrTemplates as $arrTemplate) { $OLD_MESS = $MESS; $MESS = array(); IncludeModuleLangFile($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/form/admin/form_mail.php", $arrSites[$arrTemplate["SITE_ID"]]["LANGUAGE_ID"]); $USER_AUTH = " "; if (intval($arrRES["USER_ID"])>0) { $w = CUser::GetByID($arrRES["USER_ID"]); $arrUSER = $w->Fetch(); $USER_ID = $arrUSER["ID"]; $USER_EMAIL = $arrUSER["EMAIL"]; $USER_NAME = $arrUSER["NAME"]." ".$arrUSER["LAST_NAME"]; if ($arrRES["USER_AUTH"]!="Y") $USER_AUTH="(".GetMessage("FORM_NOT_AUTHORIZED").")"; } else { $USER_ID = GetMessage("FORM_NOT_REGISTERED"); $USER_NAME = ""; $USER_AUTH = ""; $USER_EMAIL = ""; } $arEventFields = array( "RS_FORM_ID" => $arrFORM["ID"], "RS_FORM_NAME" => $arrFORM["NAME"], "RS_FORM_VARNAME" => $arrFORM["SID"], "RS_FORM_SID" => $arrFORM["SID"], "RS_RESULT_ID" => $arrRES["ID"], "RS_DATE_CREATE" => $arrRES["DATE_CREATE"], "RS_USER_ID" => $USER_ID, "RS_USER_EMAIL" => $USER_EMAIL, "RS_USER_NAME" => $USER_NAME, "RS_USER_AUTH" => $USER_AUTH, "RS_STAT_GUEST_ID" => $arrRES["STAT_GUEST_ID"], "RS_STAT_SESSION_ID" => $arrRES["STAT_SESSION_ID"] ); $w = CFormField::GetList($arrFORM["ID"], "ALL", $by, $order, array(), $is_filtered); while ($wr=$w->Fetch()) { $answer = ""; $answer_raw = ''; if (is_array($arrResult[$wr["SID"]])) { //echo '<pre>'; print_r($wr); echo '</pre>'; //echo '<pre>'; print_r($arrResult[$wr['SID']]); $bHasDiffTypes = false; $lastType = ''; foreach ($arrResult[$wr['SID']] as $arrA) { if ($lastType == '') $lastType = $arrA['FIELD_TYPE']; elseif ($arrA['FIELD_TYPE'] != $lastType) { $bHasDiffTypes = true; break; } } foreach($arrResult[$wr["SID"]] as $arrA) { if ($wr['ADDITIONAL'] == 'Y') $arrA['FIELD_TYPE'] = $wr['FIELD_TYPE']; $USER_TEXT_EXIST = (strlen(trim($arrA["USER_TEXT"]))>0); $ANSWER_TEXT_EXIST = (strlen(trim($arrA["ANSWER_TEXT"]))>0); $ANSWER_VALUE_EXIST = (strlen(trim($arrA["ANSWER_VALUE"]))>0); $USER_FILE_EXIST = (intval($arrA["USER_FILE_ID"])>0); //echo 'USER_TEXT_EXIST '.$USER_TEXT_EXIST.' '.$USER_TEXT.'<br />'; //echo 'ANSWER_TEXT_EXIST '.$ANSWER_TEXT_EXIST.' '.$ANSWER_TEXT.'<br />'; //echo 'ANSWER_VALUE_EXIST '.$ANSWER_VALUE_EXIST.' '.$ANSWER_VALUE.'<br />'; //echo 'USER_FILE_EXIST '.$USER_FILE_EXIST.' '.$USER_FILE.'<br />'; if ($arrTemplate["BODY_TYPE"]=="html") { if ( $bHasDiffTypes && !$USER_TEXT_EXIST && ( $arrA['FIELD_TYPE'] == 'text' || $arrA['FIELD_TYPE'] == 'textarea' ) ) continue; if (strlen(trim($answer))>0) $answer .= "<br />"; if (strlen(trim($answer_raw))>0) $answer_raw .= ","; if ($ANSWER_TEXT_EXIST) $answer .= $arrA["ANSWER_TEXT"].': '; switch ($arrA['FIELD_TYPE']) { case 'text': case 'textarea': case 'hidden': case 'date': case 'password': case 'integer': if ($USER_TEXT_EXIST) { $answer .= trim($arrA["USER_TEXT"]); $answer_raw .= trim($arrA["USER_TEXT"]); } break; case 'email': case 'url': if ($USER_TEXT_EXIST) { $answer .= '<a href="'.($arrA['FIELD_TYPE'] == 'email' ? 'mailto:' : '').trim($arrA["USER_TEXT"]).'">'.trim($arrA["USER_TEXT"]).'</a>'; $answer_raw .= trim($arrA["USER_TEXT"]); } break; case 'checkbox': case 'multiselect': case 'radio': case 'dropdown': if ($ANSWER_TEXT_EXIST) { $answer = substr($answer, 0, -2).' '; $answer_raw .= $arrA['ANSWER_TEXT']; } if ($ANSWER_VALUE_EXIST) { $answer .= '('.$arrA['ANSWER_VALUE'].') '; if (!$ANSWER_TEXT_EXIST) $answer_raw .= $arrA['ANSWER_VALUE']; } if (!$ANSWER_VALUE_EXIST && !$ANSWER_TEXT_EXIST) $answer_raw .= $arrA['ANSWER_ID']; $answer .= '['.$arrA['ANSWER_ID'].']'; break; case 'file': case 'image': if ($USER_FILE_EXIST) { $f = CFile::GetByID($arrA["USER_FILE_ID"]); if ($fr = $f->Fetch()) { $file_size = CFile::FormatSize($fr["FILE_SIZE"]); $url = ($APPLICATION->IsHTTPS() ? "https://" : "http://").$_SERVER["HTTP_HOST"]. "/bitrix/tools/form_show_file.php?rid=".$RESULT_ID. "&hash=".$arrA["USER_FILE_HASH"]."&lang=".LANGUAGE_ID; if ($arrA["USER_FILE_IS_IMAGE"]=="Y") { $answer .= "<a href=\"$url\">".$arrA["USER_FILE_NAME"]."</a> [".$fr["WIDTH"]." x ".$fr["HEIGHT"]."] (".$file_size.")"; } else { $answer .= "<a href=\"$url&action=download\">".$arrA["USER_FILE_NAME"]."</a> (".$file_size.")"; } $answer_raw .= $arrA['USER_FILE_NAME']; } } break; } } else { //echo $bHasDiffTypes.'*'.$USER_TEXT_EXIST.'<br />'; if ( $bHasDiffTypes && !$USER_TEXT_EXIST && ( $arrA['FIELD_TYPE'] == 'text' || $arrA['FIELD_TYPE'] == 'textarea' ) ) continue; if (strlen(trim($answer)) > 0) $answer .= "\n"; if (strlen(trim($answer_raw)) > 0) $answer_raw .= ","; if ($ANSWER_TEXT_EXIST) $answer .= $arrA["ANSWER_TEXT"].': '; switch ($arrA['FIELD_TYPE']) { case 'text': case 'textarea': case 'email': case 'url': case 'hidden': case 'date': case 'password': case 'integer': if ($USER_TEXT_EXIST) { $answer .= trim($arrA["USER_TEXT"]); $answer_raw .= trim($arrA["USER_TEXT"]); } break; case 'checkbox': case 'multiselect': case 'radio': case 'dropdown': if ($ANSWER_TEXT_EXIST) { $answer = substr($answer, 0, -2).' '; $answer_raw .= $arrA['ANSWER_TEXT']; } if ($ANSWER_VALUE_EXIST) { $answer .= '('.$arrA['ANSWER_VALUE'].') '; if (!$ANSWER_TEXT_EXIST) { $answer_raw .= $arrA['ANSWER_VALUE']; } } if (!$ANSWER_VALUE_EXIST && !$ANSWER_TEXT_EXIST) { $answer_raw .= $arrA['ANSWER_ID']; } $answer .= '['.$arrA['ANSWER_ID'].']'; break; case 'file': case 'image': if ($USER_FILE_EXIST) { $f = CFile::GetByID($arrA["USER_FILE_ID"]); if ($fr = $f->Fetch()) { $file_size = CFile::FormatSize($fr["FILE_SIZE"]); $url = ($APPLICATION->IsHTTPS() ? "https://" : "http://").$_SERVER["HTTP_HOST"]. "/bitrix/tools/form_show_file.php?rid=".$RESULT_ID. "&hash=".$arrA["USER_FILE_HASH"]."&action=download&lang=".LANGUAGE_ID; if ($arrA["USER_FILE_IS_IMAGE"]=="Y") { $answer .= $arrA["USER_FILE_NAME"]." [".$fr["WIDTH"]." x ".$fr["HEIGHT"]."] (".$file_size.")\n".$url; } else { $answer .= $arrA["USER_FILE_NAME"]." (".$file_size.")\n".$url."&action=download"; } } $answer_raw .= $arrA['USER_FILE_NAME']; } break; } } } } $arEventFields[$wr["SID"]] = (strlen($answer)<=0) ? " " : $answer; $arEventFields[$wr["SID"].'_RAW'] = (strlen($answer_raw)<=0) ? " " : $answer_raw; } CEvent::Send($arrTemplate["EVENT_NAME"], $arrTemplate["SITE_ID"], $arEventFields, "Y", $arrTemplate["ID"]); $MESS = $OLD_MESS; } //foreach($arrTemplates as $arrTemplate) return true; } else $strError .= GetMessage("FORM_ERROR_FORM_NOT_FOUND")."<br>"; } else $strError .= GetMessage("FORM_ERROR_RESULT_NOT_FOUND")."<br>"; return false; }
} if ($arForm) { if ($arParams['LIST_URL']) { $arForm['__LINK'] = str_replace('#FORM_ID#', $FORM_ID, $arParams['LIST_URL']); } $arResult['FORMS'][$FORM_ID] = $arForm; $arResult['RESULTS'][$FORM_ID] = array(); $dbRes = CFormResult::GetList($FORM_ID, $by = 's_timestamp', $order = 'desc', array('USER_ID' => $USER->GetID()), $is_filtered, 'Y', $arParams['NUM_RESULTS']); $bFirst = true; while ($arRes = $dbRes->GetNext()) { //if ($FORM_ID == 6) print_r($arRes); if ($bFirst) { $arResult['FORMS'][$FORM_ID]['__LAST_TS'] = MakeTimeStamp($arRes['TIMESTAMP_X']); $bFirst = false; } $arValues = CFormResult::GetDataByID($arRes['ID'], array(), $arRes1 = null, $arAnswers = null); //if ($FORM_ID == 6) print_r($arValues); reset($arValues); list(, $first_res) = each($arValues); $arRes['__TITLE'] = trim($first_res[0]['USER_TEXT'] ? $first_res[0]['USER_TEXT'] : $first_res[0]['MESSAGE']); $arRes['__RIGHTS'] = CFormResult::GetPermissions($arRes['ID'], $status); if ($arParams['EDIT_URL'] && in_array('EDIT', $arRes['__RIGHTS'])) { $arRes['__LINK'] = str_replace(array('#FORM_ID#', '#RESULT_ID#'), array($FORM_ID, $arRes['ID']), $arParams['EDIT_URL']); } elseif ($arParams['VIEW_URL']) { $arRes['__LINK'] = str_replace(array('#FORM_ID#', '#RESULT_ID#'), array($FORM_ID, $arRes['ID']), $arParams['VIEW_URL']); } $arResult['RESULTS'][$FORM_ID][] = $arRes; } } if (!is_array($arResult['RESULTS'][$FORM_ID]) || count($arResult['RESULTS'][$FORM_ID]) <= 0) { unset($arResult['FORMS'][$FORM_ID]);
function GetResultFields($RESULT_ID, $arrFIELD_VARNAME, &$arrRES, &$arrANSWER) { return CFormResult::GetDataByID($RESULT_ID, $arrFIELD_VARNAME, $arrRES, $arrANSWER); }
public static function getFormResults($form_id, $arOrder, $selectAnswerFields, $arFilter, $use_cache = true) { $param_string = serialize(func_get_args()); if (!is_array($arOrder) || !count($arOrder)) { $arOrder = array('ID' => 'ASC'); } $by = key($arOrder); $order = current($arOrder); $is_filtered = true; if ($use_cache) { $result = static::getCache(__FUNCTION__ . $param_string . '_form_result'); } if (!is_array($result['RESULT'])) { \CModule::IncludeModule('form'); $dbResult = \CFormResult::GetList($form_id, $by, $order, $arFilter, $is_filtered); static::setCache(__FUNCTION__ . $param_string . '_section', $result['RESULT']); while ($next = $dbResult->GetNext()) { \CFormResult::GetDataByID($next['ID'], $selectAnswerFields, $arResultFields, $arAnswers); $next = array_merge($next, $arResultFields); $next['ANSWERS'] = $arAnswers; $result['RESULT'][] = $next; } static::setCache(__FUNCTION__ . $param_string . '_form_result', $result['RESULT']); } return $result; }
function Mail($RESULT_ID, $TEMPLATE_ID = false) { global $DB, $MESS, $strError; $err_mess = CAllFormResult::err_mess() . "<br>Function: Mail<br>Line: "; $RESULT_ID = intval($RESULT_ID); if ($arrResult = CFormResult::GetDataByID($RESULT_ID, array(), $arrRES, $arrANSWER)) { $z = CForm::GetByID($arrRES["FORM_ID"]); if ($arrFORM = $z->Fetch()) { $TEMPLATE_ID = intval($TEMPLATE_ID); $rs = CSite::GetList($by = "sort", $order = "asc"); while ($ar = $rs->Fetch()) { $arrSites[$ar["ID"]] = $ar; } $arrFormSites = CForm::GetSiteArray($arrRES["FORM_ID"]); $arrFormSites = is_array($arrFormSites) ? $arrFormSites : array(); $arrFormTemplates = CForm::GetMailTemplateArray($arrRES["FORM_ID"]); $arrFormTemplates = is_array($arrFormTemplates) ? $arrFormTemplates : array(); $arrTemplates = array(); $rs = CEventMessage::GetList($by = "id", $order = "asc", array("ACTIVE" => "Y", "SITE_ID" => $arrFormSites, "EVENT_NAME" => $arrFORM["MAIL_EVENT_TYPE"])); while ($ar = $rs->Fetch()) { if ($TEMPLATE_ID > 0) { if ($TEMPLATE_ID == $ar["ID"]) { $arrTemplates[$ar["ID"]] = $ar; break; } } elseif (in_array($ar["ID"], $arrFormTemplates)) { $arrTemplates[$ar["ID"]] = $ar; } } foreach ($arrTemplates as $arrTemplate) { $OLD_MESS = $MESS; $MESS = array(); IncludeModuleLangFile($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/form/form_mail.php", $arrSites[$arrTemplate["SITE_ID"]]["LANGUAGE_ID"]); $USER_AUTH = " "; if (intval($arrRES["USER_ID"]) > 0) { $w = CUser::GetByID($arrRES["USER_ID"]); $arrUSER = $w->Fetch(); $USER_ID = $arrUSER["ID"]; $USER_EMAIL = $arrUSER["EMAIL"]; $USER_NAME = $arrUSER["NAME"] . " " . $arrUSER["LAST_NAME"]; if ($arrRES["USER_AUTH"] != "Y") { $USER_AUTH = "(" . GetMessage("FORM_NOT_AUTHORIZED") . ")"; } } else { $USER_ID = GetMessage("FORM_NOT_REGISTERED"); $USER_NAME = ""; $USER_AUTH = ""; $USER_EMAIL = ""; } $arEventFields = array("RS_FORM_ID" => $arrFORM["ID"], "RS_FORM_NAME" => $arrFORM["NAME"], "RS_FORM_VARNAME" => $arrFORM["SID"], "RS_FORM_SID" => $arrFORM["SID"], "RS_RESULT_ID" => $arrRES["ID"], "RS_DATE_CREATE" => $arrRES["DATE_CREATE"], "RS_USER_ID" => $USER_ID, "RS_USER_EMAIL" => $USER_EMAIL, "RS_USER_NAME" => $USER_NAME, "RS_USER_AUTH" => $USER_AUTH, "RS_STAT_GUEST_ID" => $arrRES["STAT_GUEST_ID"], "RS_STAT_SESSION_ID" => $arrRES["STAT_SESSION_ID"]); $w = CFormField::GetList($arrFORM["ID"], "ALL", $by, $order, array(), $is_filtered); while ($wr = $w->Fetch()) { $answer = ""; if (is_array($arrResult[$wr["SID"]])) { foreach ($arrResult[$wr["SID"]] as $arrA) { $USER_TEXT_EXIST = strlen(trim($arrA["USER_TEXT"])) > 0; $ANSWER_TEXT_EXIST = strlen(trim($arrA["ANSWER_TEXT"])) > 0; $ANSWER_VALUE_EXIST = strlen(trim($arrA["ANSWER_VALUE"])) > 0; $USER_FILE_EXIST = intval($arrA["USER_FILE_ID"]) > 0; if ($arrTemplate["BODY_TYPE"] == "html") { if (strlen(trim($answer)) > 0) { $answer .= "<br>"; } if ($USER_TEXT_EXIST) { $answer .= $arrA["USER_TEXT"]; if ($ANSWER_TEXT_EXIST || $ANSWER_VALUE_EXIST || $USER_FILE_EXIST) { $answer .= " "; } } if ($ANSWER_TEXT_EXIST) { $answer .= $arrA["ANSWER_TEXT"]; if ($ANSWER_VALUE_EXIST || $USER_FILE_EXIST) { $answer .= " "; } } if ($ANSWER_VALUE_EXIST) { $answer .= $arrA["ANSWER_VALUE"]; if ($USER_FILE_EXIST) { $answer .= " "; } } if ($USER_FILE_EXIST) { $f = CFile::GetByID($arrA["USER_FILE_ID"]); if ($fr = $f->Fetch()) { $a = array("b", "Kb", "Mb", "Gb"); $pos = 0; $size = $arrA["USER_FILE_SIZE"]; while ($size >= 1024) { $size /= 1024; $pos++; } $file_size = round($size, 2) . " " . $a[$pos]; if ($arrA["USER_FILE_IS_IMAGE"] == "Y") { $url = "http://" . $_SERVER["HTTP_HOST"] . "/" . COption::GetOptionString("main", "upload_dir", "upload") . "/" . $fr["SUBDIR"] . "/" . $fr["FILE_NAME"]; $answer .= "<a href=\"{$url}\">" . $arrA["USER_FILE_NAME"] . "</a> [" . $fr["WIDTH"] . " x " . $fr["HEIGHT"] . "] (" . $file_size . ")"; } else { $url = "http://" . $_SERVER["HTTP_HOST"] . "/bitrix/tools/form_show_file.php?rid=" . $RESULT_ID . "&hash=" . $arrA["USER_FILE_HASH"] . "&action=download&&lang=" . LANGUAGE_ID; $answer .= "<a href=\"{$url}\">" . $arrA["USER_FILE_NAME"] . "</a> (" . $file_size . ")"; } } } } else { if (strlen(trim($answer)) > 0) { $answer .= "\n"; } if ($USER_TEXT_EXIST) { $answer .= trim($arrA["USER_TEXT"]); if ($ANSWER_TEXT_EXIST || $ANSWER_VALUE_EXIST || $USER_FILE_EXIST) { $answer .= " "; } } if ($ANSWER_TEXT_EXIST) { $answer .= $arrA["ANSWER_TEXT"]; if ($ANSWER_VALUE_EXIST || $USER_FILE_EXIST) { $answer .= " "; } } if ($ANSWER_VALUE_EXIST) { $answer .= $arrA["ANSWER_VALUE"]; if ($USER_FILE_EXIST) { $answer .= " "; } } if ($USER_FILE_EXIST) { $f = CFile::GetByID($arrA["USER_FILE_ID"]); if ($fr = $f->Fetch()) { $a = array("b", "Kb", "Mb", "Gb"); $pos = 0; $size = $arrA["USER_FILE_SIZE"]; while ($size >= 1024) { $size /= 1024; $pos++; } $file_size = round($size, 2) . " " . $a[$pos]; if ($arrA["USER_FILE_IS_IMAGE"] == "Y") { $url = "http://" . $_SERVER["HTTP_HOST"] . "/" . COption::GetOptionString("main", "upload_dir", "upload") . "/" . $fr["SUBDIR"] . "/" . $fr["FILE_NAME"]; $answer .= $arrA["USER_FILE_NAME"] . " [" . $fr["WIDTH"] . " x " . $fr["HEIGHT"] . "] (" . $file_size . ")\n" . $url; } else { $url = "http://" . $_SERVER["HTTP_HOST"] . "/bitrix/tools/form_show_file.php?rid=" . $RESULT_ID . "&hash=" . $arrA["USER_FILE_HASH"] . "&action=download&&lang=" . LANGUAGE_ID; $answer .= $arrA["USER_FILE_NAME"] . " (" . $file_size . ")\n" . $url; } } } } } } $arEventFields[$wr["SID"]] = strlen($answer) <= 0 ? " " : $answer; } //echo "<pre>"; print_r($arEventFields); echo "</pre>"; CEvent::Send($arrTemplate["EVENT_NAME"], $arrTemplate["SITE_ID"], $arEventFields, "Y", $arrTemplate["ID"]); $MESS = $OLD_MESS; } //foreach($arrTemplates as $arrTemplate) return true; } else { $strError .= GetMessage("FORM_ERROR_FORM_NOT_FOUND") . "<br>"; } } else { $strError .= GetMessage("FORM_ERROR_RESULT_NOT_FOUND") . "<br>"; } return false; }