コード例 #1
0
 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();
                 }
             }
         }
     }
 }
コード例 #2
0
 /**
  * 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);
 }
コード例 #3
0
	/**
	 * <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] =&gt; Иванов Иван Иванович [form_date_587] =&gt; 10.03.1992 [form_textarea_588] =&gt; г. Мурманск [form_radio_VS_MARRIED] =&gt; 589 [form_checkbox_VS_INTEREST] =&gt; Array ( [0] =&gt; 592 [1] =&gt; 593 [2] =&gt; 594 ) [form_dropdown_VS_AGE] =&gt; 597 [form_multiselect_VS_EDUCATION] =&gt; Array ( [0] =&gt; 603 [1] =&gt; 604 ) [form_text_606] =&gt; 2345 [form_image_607] =&gt; 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] =&gt; Иванов Иван Иванович
	 *     [form_date_587] =&gt; 10.03.1992
	 *     [form_textarea_588] =&gt; г. Мурманск
	 *     [form_radio_VS_MARRIED] =&gt; 589
	 *     [form_checkbox_VS_INTEREST] =&gt; Array
	 *         (
	 *             [0] =&gt; 592
	 *             [1] =&gt; 593
	 *             [2] =&gt; 594
	 *         )
	 * 
	 *     [form_dropdown_VS_AGE] =&gt; 597
	 *     [form_multiselect_VS_EDUCATION] =&gt; Array
	 *         (
	 *             [0] =&gt; 603
	 *             [1] =&gt; 604
	 *         )
	 * 
	 *     [form_text_606] =&gt; 2345
	 *     [form_image_607] =&gt; 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>
	
	 * &lt;?
	 * $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 руб.
	 * ?&gt;
	 * </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;
		}
	}
コード例 #4
0
ファイル: component.php プロジェクト: Satariall/izurit
     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 {
コード例 #5
0
                ?>
</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) {
コード例 #6
0
ファイル: component.php プロジェクト: Satariall/izurit
             $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) {
コード例 #7
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">[&nbsp;<a class="tablebodylink" href="<?php 
コード例 #8
0
 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;
     }
 }
コード例 #9
0
		<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) {
                ?>