function Show($RESULT_ID, $TEMPLATE = "", $TEMPLATE_TYPE = "show", $SHOW_ADDITIONAL = "N", $SHOW_ANSWER_VALUE = "Y", $SHOW_STATUS = "N") { global $DB, $MESS, $APPLICATION, $USER, $HTTP_POST_VARS, $HTTP_GET_VARS, $arrRESULT_PERMISSION, $arrFIELDS; $err_mess = CAllFormResult::err_mess() . "<br>Function: Show<br>Line: "; $z = CFormResult::GetByID($RESULT_ID); if ($zr = $z->Fetch()) { $arrResult = $zr; InitBVar($SHOW_ADDITIONAL); $additional = $SHOW_ADDITIONAL == "Y" ? "ALL" : "N"; $WEB_FORM_ID = $FORM_ID = CForm::GetDataByID($arrResult["FORM_ID"], $arForm, $arQuestions, $arAnswers, $arDropDown, $arMultiSelect, $additional); CForm::GetResultAnswerArray($WEB_FORM_ID, $arrResultColumns, $arrResultAnswers, $arrResultAnswersVarname, array("RESULT_ID" => $RESULT_ID)); $arrResultAnswers = $arrResultAnswers[$RESULT_ID]; // проверим общие права на результат $F_RIGHT = CForm::GetPermission($WEB_FORM_ID); if (intval($F_RIGHT) >= 20 || $F_RIGHT >= 15 && $zr["USER_ID"] == $USER->GetID()) { // проверим права в зависимости от статуса результата $arrRESULT_PERMISSION = CFormResult::GetPermissions($RESULT_ID, $v); if (in_array("VIEW", $arrRESULT_PERMISSION)) { if (strlen(trim($TEMPLATE)) > 0) { $template = $TEMPLATE; } else { if ($TEMPLATE_TYPE == "show") { if (strlen($arrResult["SHOW_RESULT_TEMPLATE"]) <= 0) { $template = "default.php"; } else { $template = $arrResult["SHOW_RESULT_TEMPLATE"]; } } elseif ($TEMPLATE_TYPE == "print") { if (strlen($arrResult["PRINT_RESULT_TEMPLATE"]) <= 0) { $template = "default.php"; } else { $template = $arrResult["PRINT_RESULT_TEMPLATE"]; } } } require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/form/include.php"; if ($TEMPLATE_TYPE == "show") { $path = COption::GetOptionString("form", "SHOW_RESULT_TEMPLATE_PATH"); } elseif ($TEMPLATE_TYPE == "print") { $path = COption::GetOptionString("form", "PRINT_RESULT_TEMPLATE_PATH"); } IncludeModuleLangFile($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/form/include.php"); include GetLangFileName($_SERVER["DOCUMENT_ROOT"] . $path . "lang/", "/" . $template); if ($APPLICATION->GetShowIncludeAreas()) { $arIcons = array(); if (CModule::IncludeModule("fileman")) { $arIcons[] = array("URL" => "/bitrix/admin/fileman_file_edit.php?lang=" . LANGUAGE_ID . "&site=" . SITE_ID . "&full_src=Y&path=" . urlencode($path . $template), "SRC" => "/bitrix/images/form/panel/edit_template.gif", "ALT" => GetMessage("FORM_PUBLIC_ICON_TEMPLATE")); $arrUrl = parse_url($_SERVER["REQUEST_URI"]); $arIcons[] = array("URL" => "/bitrix/admin/fileman_file_edit.php?lang=" . LANGUAGE_ID . "&site=" . SITE_ID . "&full_src=Y&path=" . urlencode($arrUrl["path"]), "SRC" => "/bitrix/images/form/panel/edit_file.gif", "ALT" => GetMessage("FORM_PUBLIC_ICON_HANDLER")); } $arIcons[] = array("URL" => "/bitrix/admin/form_edit.php?lang=" . LANGUAGE_ID . "&ID=" . $WEB_FORM_ID, "SRC" => "/bitrix/images/form/panel/edit_form.gif", "ALT" => GetMessage("FORM_PUBLIC_ICON_SETTINGS")); echo $APPLICATION->IncludeStringBefore($arIcons); } include $_SERVER["DOCUMENT_ROOT"] . $path . $template; if ($APPLICATION->GetShowIncludeAreas()) { echo $APPLICATION->IncludeStringAfter(); } } } } }
/** * Form initializing and checking. If form's wrong, returns false * Use ShowErrorMsg() to output error code * * @param array $arParams * @return bool */ function Init($arParams, $admin = false) { global $APPLICATION, $USER; $this->bSimple = COption::GetOptionString("form", "SIMPLE", "Y") == "Y" ? true : false; $this->comp2 = !empty($arParams["COMPONENT"]); $this->SHOW_INCLUDE_AREAS = $APPLICATION->GetShowIncludeAreas(); if ($admin) { $FORM_RIGHT = $APPLICATION->GetGroupRight("form"); if ($FORM_RIGHT <= "D") { $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); } $this->__admin = true; } $this->arParams = $arParams; $this->RESULT_ID = intval($arParams["RESULT_ID"]); if (intval($this->RESULT_ID) <= 0) { $this->RESULT_ID = intval($_REQUEST["RESULT_ID"]); } // if there's result ID try to get form ID if (intval($this->RESULT_ID) > 0) { $DBRes = CFormResult::GetByID($this->RESULT_ID); if ($arrResult = $DBRes->Fetch()) { $this->WEB_FORM_ID = intval($arrResult["FORM_ID"]); } } if (intval($this->WEB_FORM_ID) <= 0) { $this->WEB_FORM_ID = intval($arParams["WEB_FORM_ID"]); } // if there's no WEB_FORM_ID, try to get it from $_REQUEST; if (intval($this->WEB_FORM_ID) <= 0) { $this->WEB_FORM_ID = intval($_REQUEST["WEB_FORM_ID"]); } // check WEB_FORM_ID and get web form data $this->WEB_FORM_ID = CForm::GetDataByID($this->WEB_FORM_ID, $this->arForm, $this->arQuestions, $this->arAnswers, $this->arDropDown, $this->arMultiSelect, $this->__admin || $this->arParams["SHOW_ADDITIONAL"] == "Y" || $this->arParams["EDIT_ADDITIONAL"] == "Y" ? "ALL" : "N", $this->__admin ? 'Y' : 'N'); $this->WEB_FORM_NAME = $this->arForm["SID"]; // if wrong WEB_FORM_ID return error; if ($this->WEB_FORM_ID > 0) { // insert chain item if (strlen($this->arParams["CHAIN_ITEM_TEXT"]) > 0) { $APPLICATION->AddChainItem($this->arParams["CHAIN_ITEM_TEXT"], $this->arParams["CHAIN_ITEM_LINK"]); } // check web form rights; $this->F_RIGHT = intval(CForm::GetPermission($this->WEB_FORM_ID)); // in no form access - return error if ($this->isAccessForm()) { if (!empty($_REQUEST["strFormNote"])) { $this->strFormNote = $_REQUEST["strFormNote"]; } if (!$this->comp2 || $this->arParams["COMPONENT"]["componentName"] != "bitrix:form.result.list" || $this->isAccessFormResultList()) { if ($this->RESULT_ID) { if ($this->isAccessFormResult($arrResult)) { $this->arrRESULT_PERMISSION = CFormResult::GetPermissions($this->RESULT_ID, $v); // check result rights if (!$this->comp2 && !$this->isAccessFormResultEdit() || $this->comp2 && ($this->arParams["COMPONENT"]["componentName"] == "bitrix:form.result.edit" && !$this->isAccessFormResultEdit() || $this->arParams["COMPONENT"]["componentName"] == "bitrix:form.result.view" && !$this->isAccessFormResultView())) { $this->__error_msg = "FORM_RESULT_ACCESS_DENIED"; } else { if (!$arrResult) { $z = CFormResult::GetByID($this->RESULT_ID); $this->arResult = $z->Fetch(); } else { $this->arResult = $arrResult; } if ($this->arResult) { if ($this->comp2 && $this->arParams["COMPONENT"]["componentName"] == "bitrix:form.result.view") { CForm::GetResultAnswerArray($this->WEB_FORM_ID, $this->arrResultColumns, $this->arrVALUES, $this->arrResultAnswersSID, array("RESULT_ID" => $this->RESULT_ID)); $this->arrVALUES = $this->arrVALUES[$this->RESULT_ID]; } else { $this->arrVALUES = CFormResult::GetDataByIDForHTML($this->RESULT_ID, $this->arParams["EDIT_ADDITIONAL"]); } } else { $this->__error_msg = "FORM_RECORD_NOT_FOUND"; } } } else { $this->__error_msg = "FORM_ACCESS_DENIED"; } $this->arForm["USE_CAPTCHA"] = "N"; } else { // if form uses CAPCHA initialize it if ($this->arForm["USE_CAPTCHA"] == "Y") { $this->CaptchaInitialize(); } } } else { $this->__error_msg = "FORM_ACCESS_DENIED"; } } else { $this->__error_msg = "FORM_ACCESS_DENIED"; } // endif ($F_RIGHT>=10); } else { $this->__error_msg = "FORM_NOT_FOUND"; } // endif ($WEB_FORM_ID>0); return empty($this->__error_msg); }
/** * <p>Возвращает массив значений <a href="http://dev.1c-bitrix.ru/api_help/form/terms.php#answer">ответов</a> на <a href="http://dev.1c-bitrix.ru/api_help/form/terms.php#question">вопросы</a> веб-формы, а также значения <a href="http://dev.1c-bitrix.ru/api_help/form/terms.php#field">полей</a> веб-формы для указанного <a href="http://dev.1c-bitrix.ru/api_help/form/terms.php#result">результата</a>. </p> <p>Ключи возвращаемого массива в точности соответствуют <a href="http://dev.1c-bitrix.ru/api_help/form/htmlnames.php">правилам</a> формирования имен HTML полей для веб-формы.</p> <p> Пример массива, возвращаемого функцией: </p> <pre class="syntax">Array ( [form_text_586] => Иванов Иван Иванович [form_date_587] => 10.03.1992 [form_textarea_588] => г. Мурманск [form_radio_VS_MARRIED] => 589 [form_checkbox_VS_INTEREST] => Array ( [0] => 592 [1] => 593 [2] => 594 ) [form_dropdown_VS_AGE] => 597 [form_multiselect_VS_EDUCATION] => Array ( [0] => 603 [1] => 604 ) [form_text_606] => 2345 [form_image_607] => 1045 )</pre> * * * * * @param int $result_id ID результата. * * * * @param string $get_fields = "N" Если значение данного параметра равно "Y", то в в массиве * возвращаемом данной функцией будет также значения <a * href="http://dev.1c-bitrix.ru/api_help/form/terms.php#field">полей</a> веб-формы; в противном * случае, в возвращаемом массиве будут только значения <a * href="http://dev.1c-bitrix.ru/api_help/form/terms.php#answer">ответов</a> на <a * href="http://dev.1c-bitrix.ru/api_help/form/terms.php#question">вопросов</a> веб-формы.<br><br> * Параметр необязательный. По умолчанию - "N". * * * * @return array * * * <h4>Example</h4> * <pre> * Array * ( * [form_text_586] => Иванов Иван Иванович * [form_date_587] => 10.03.1992 * [form_textarea_588] => г. Мурманск * [form_radio_VS_MARRIED] => 589 * [form_checkbox_VS_INTEREST] => Array * ( * [0] => 592 * [1] => 593 * [2] => 594 * ) * * [form_dropdown_VS_AGE] => 597 * [form_multiselect_VS_EDUCATION] => Array * ( * [0] => 603 * [1] => 604 * ) * * [form_text_606] => 2345 * [form_image_607] => 1045 * )Параметры функции <tr> <th width="15%">Параметр</th> * <th>Описание</th> * </tr> <tr> <td><i>result_id</i></td> * <td>ID результата.</td> * </tr> <tr> <td><i>get_fields</i></td> * <td>Если значение данного параметра равно "Y", то в в массиве возвращаемом данной функцией будет также значения <a href="/api_help/form/terms.php#field">полей</a> веб-формы; в противном случае, в возвращаемом массиве будут только значения <a href="/api_help/form/terms.php#answer">ответов</a> на <a href="/api_help/form/terms.php#question">вопросов</a> веб-формы.<br><br> * Параметр необязательный. По умолчанию - "N". * </td> * </tr> * <? * $RESULT_ID = 189; // ID результата * * // получим данные результата * $arValues = <b>CFormResult::GetDataByIDForHTML</b>($RESULT_ID, "Y"); * * // выведем ответ на вопрос "Фамилия, имя, отчество" * echo $arValues["form_text_586"]; // "Иванов Василий" * * // выведем фотографию загруженную в качестве ответа на вопрос "Фотография" * CFile::ShowImage($arValues["form_image_607"], 200, 200, "border=0", "", true); * * // выведем значение поля веб-формы "Рассчитанная стоимость" * echo $arValues["form_textarea_ADDITIONAL_149"]; // 134 руб. * ?> * </pre> * * * * <h4>See Also</h4> * <ul> <li> <a href="http://dev.1c-bitrix.ru/api_help/form/htmlnames.php">Имена HTML полей</a> </li> <li> <a * href="http://dev.1c-bitrix.ru/api_help/form/classes/cformresult/add.php">CFormResult::Add</a> </li> <li> <a * href="http://dev.1c-bitrix.ru/api_help/form/classes/cformresult/update.php">CFormResult::Update</a> </li> <li> <a * href="http://dev.1c-bitrix.ru/api_help/form/classes/cform/check.php">CForm::Check</a> </li> </ul><a name="examples"></a> * * * @static * @link http://dev.1c-bitrix.ru/api_help/form/classes/cformresult/getdatabyidforhtml.php * @author Bitrix */ public static 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 == 0 ? 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; } }
if ($arResult["F_RIGHT"] >= 15) { if ($arParams["RESULT_ID"]) { if ($arResult["F_RIGHT"] >= 20 || $arResult["F_RIGHT"] >= 15 && $USER->GetID() == $arResultData["USER_ID"]) { $arResult["arrRESULT_PERMISSION"] = CFormResult::GetPermissions($arParams["RESULT_ID"], $v); // check result rights if (!in_array("VIEW", $arResult["arrRESULT_PERMISSION"])) { $arResult["ERROR"] = "FORM_RESULT_ACCESS_DENIED"; } else { if (!$arResultData) { $z = CFormResult::GetByID($arParams["RESULT_ID"]); $arResult["arResultData"] = $z->Fetch(); } else { $arResult["arResultData"] = $arResultData; } if ($arResult["arResultData"]) { CForm::GetResultAnswerArray($arParams["WEB_FORM_ID"], $arResult["arrResultColumns"], $arResult["arrVALUES"], $arResult["arrResultAnswersSID"], array("RESULT_ID" => $arParams["RESULT_ID"])); $arResult["arrVALUES"] = $arResult["arrVALUES"][$arParams["RESULT_ID"]]; } else { $arResult["arrVALUES"] = CFormResult::GetDataByIDForHTML($arResult["RESULT_ID"], $arParams["SHOW_ADDITIONAL"]); } } } else { $arResult["ERROR"] = "FORM_ACCESS_DENIED"; } } else { $arResult["ERROR"] = "FORM_RECORD_NOT_FOUND"; } } else { $arResult["ERROR"] = "FORM_ACCESS_DENIED"; } } else {
?> </td> </tr> <?php } //endif(CModule::IncludeModule("statistic")); ?> </table></td> <?php } //endif;($F_RIGHT>=25) ?> <?php if ($res_counter > 0) { $arFilter = array("IN_RESULTS_TABLE" => "Y", "RESULT_ID" => implode(" | ", $arRID)); CForm::GetResultAnswerArray($WEB_FORM_ID, $arrColumns, $arrAnswers, $arrAnswersSID, $arFilter); } else { $arFilter = array("IN_RESULTS_TABLE" => "Y"); $rsFields = CFormField::GetList($WEB_FORM_ID, "ALL", $v1 = "s_c_sort", $v2 = "asc", $arFilter, $v3); while ($arField = $rsFields->Fetch()) { $arrColumns[$arField["ID"]] = $arField; } } $colspan = 4; if (is_array($arrColumns)) { reset($arrColumns); while (list($key, $arrCol) = each($arrColumns)) { if (!is_array($arrNOT_SHOW_TABLE) || !in_array($arrCol["SID"], $arrNOT_SHOW_TABLE)) { if ($arrCol["ADDITIONAL"] == "Y" && $SHOW_ADDITIONAL == "Y" || $arrCol["ADDITIONAL"] != "Y") { $colspan++; if (strlen($arrCol["RESULTS_TABLE_TITLE"]) <= 0) {
$arrUsers[$arRes["USER_ID"]]["USER_LAST_NAME"] = $arRes["USER_LAST_NAME"]; $arrUsers[$arRes["USER_ID"]]["USER_SECOND_NAME"] = $arRes["USER_SECOND_NAME"]; $arrUsers[$arRes["USER_ID"]]["LOGIN"] = $arRes["LOGIN"]; } else { $arRes["USER_FIRST_NAME"] = $arrUsers[$arRes["USER_ID"]]["USER_FIRST_NAME"]; $arRes["USER_LAST_NAME"] = $arrUsers[$arRes["USER_ID"]]["USER_LAST_NAME"]; $arRes["USER_SECOND_NAME"] = $arrUsers[$arRes["USER_ID"]]["USER_SECOND_NAME"]; $arRes["LOGIN"] = $arrUsers[$arRes["USER_ID"]]["LOGIN"]; } } $arResult["arrResults"][] = $arRes; } // get columns titles if ($arResult["res_counter"] > 0) { $arFilter = array("IN_RESULTS_TABLE" => "Y", "RESULT_ID" => implode(" | ", $arResult["arRID"])); CForm::GetResultAnswerArray($arParams["WEB_FORM_ID"], $arResult["arrColumns"], $arResult["arrAnswers"], $arResult["arrAnswersSID"], $arFilter); } else { $arFilter = array("IN_RESULTS_TABLE" => "Y"); $rsFields = CFormField::GetList($arParams["WEB_FORM_ID"], "ALL", $v1 = "s_c_sort", $v2 = "asc", $arFilter, $v3); while ($arField = $rsFields->Fetch()) { $arResult["arrColumns"][$arField["ID"]] = $arField; } } if (is_array($arResult["arrAnswers"])) { foreach ($arResult["arrAnswers"] as $res_key => $arrResult) { foreach ($arrResult as $q_key => $arAnswers) { foreach ($arAnswers as $a_key => $arrA) { if (strlen(trim($arrA["USER_TEXT"])) > 0) { $arrA["USER_TEXT"] = intval($arrA["USER_FILE_ID"]) > 0 ? htmlspecialcharsbx($arrA["USER_TEXT"]) : TxtToHTML($arrA["USER_TEXT"], true, 100); } if (strlen(trim($arrA["USER_DATE"])) > 0) {
if (intval($RESULT_ID) <= 0) { $RESULT_ID = intval($_REQUEST["RESULT_ID"]); } $z = CFormResult::GetByID($RESULT_ID); if ($arrResult = $z->Fetch()) { if (strlen($arParams["CHAIN_ITEM_TEXT"]) > 0) { $APPLICATION->AddChainItem($arParams["CHAIN_ITEM_TEXT"], $arParams["CHAIN_ITEM_LINK"]); } $WEB_FORM_ID = intval($arrResult["FORM_ID"]); $F_RIGHT = intval(CForm::GetPermission($WEB_FORM_ID)); if ($F_RIGHT >= 20 || $F_RIGHT >= 15 && $USER->GetID() == $arrResult["USER_ID"]) { $arrRESULT_PERMISSION = CFormResult::GetPermissions($RESULT_ID, $v); if (in_array("VIEW", $arrRESULT_PERMISSION)) { $additional = $SHOW_ADDITIONAL == "Y" ? "ALL" : "N"; CForm::GetDataByID($WEB_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]; echo ShowError($strError); echo ShowNote($strFormNote); if (!(defined("ADMIN_SECTION") && ADMIN_SECTION === true)) { ?> <table cellspacing="0" cellpadding="3" class="tablebody"> <tr> <?php // check user permission for access to web-form if ($F_RIGHT >= 20 || $F_RIGHT >= 15 && $arrResult["USER_ID"] == $USER->GetID()) { // check user permission to access in dependence of status $arrRESULT_PERMISSION = CFormResult::GetPermissions($RESULT_ID, $v); if (in_array("EDIT", $arrRESULT_PERMISSION)) { ?> <td><font class="tablebodytext">[ <a class="tablebodylink" href="<?php
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(); while (list($key, $arQuestion) = each($arQuestions)) { if ($arQuestion["ADDITIONAL"] != "Y") { $FIELD_SID = $arQuestion["SID"]; if (is_array($arAnswers[$FIELD_SID])) { reset($arAnswers[$FIELD_SID]); while (list($key, $arAnswer) = each($arAnswers[$FIELD_SID])) { $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 "text": case "password": case "textarea": case "date": case "email": case "url": 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; } } } } 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; } } } return $DB_VARS; } }
<td valign="top"><?php echo GetMessage("FORM_GUEST_ID"); ?> </td> <td valign="top"><?php echo GetMessage("FORM_SESSION_ID"); ?> </td> <?php } ?> <?php } ?> <?php CForm::GetResultAnswerArray($WEB_FORM_ID, $arrColumns, $arrAnswers, $arrAnswersSID, array("IN_EXCEL_TABLE" => "Y")); $colspan = 5; reset($arrColumns); while (list($key, $arrCol) = each($arrColumns)) { if (!is_array($arrNOT_SHOW_TABLE) || !in_array($arrCol["SID"], $arrNOT_SHOW_TABLE)) { if ($arrCol["ADDITIONAL"] == "Y" && $SHOW_ADDITIONAL == "Y" || $arrCol["ADDITIONAL"] != "Y") { $colspan++; if (strlen($arrCol["RESULTS_TABLE_TITLE"]) <= 0) { $title = $arrCol["TITLE_TYPE"] == "html" ? strip_tags($arrCol["TITLE"]) : htmlspecialcharsbx($arrCol["TITLE"]); } else { $title = htmlspecialcharsbx($arrCol["RESULTS_TABLE_TITLE"]); } ?> <td valign="top"><?php if ($F_RIGHT >= 25) { ?>