public static function PrepareFilter($WEB_FORM_ID, $arFilter) { $err_mess = (CAllFormResult::err_mess())."<br>Function: PrepareFilter<br>Line: "; global $DB, $strError; $arrFilterReturn = $arFilter; if (array_key_exists("FIELDS", $arFilter)) { $arFilterFields = $arFilter["FIELDS"]; $rsForm = CForm::GetByID($WEB_FORM_ID); $arForm = $rsForm->Fetch(); $WEB_FORM_NAME = $arForm["SID"]; if (is_array($arFilterFields) && count($arFilterFields) > 0) { foreach ($arFilterFields as $arr) { if (strlen($arr["SID"]) > 0) $arr["CODE"] = $arr["SID"]; else $arr["SID"] = $arr["CODE"]; $FIELD_SID = $arr["SID"]; $FILTER_TYPE = (strlen($arr["FILTER_TYPE"]) > 0) ? $arr["FILTER_TYPE"] : "text"; if (strtoupper($FILTER_TYPE) == "ANSWER_ID") $FILTER_TYPE = "dropdown"; $PARAMETER_NAME = (strlen($arr["PARAMETER_NAME"]) > 0) ? $arr["PARAMETER_NAME"] : "USER"; $PART = $arr["PART"]; $FILTER_KEY = $arForm["SID"]."_".$FIELD_SID."_".$PARAMETER_NAME."_".$FILTER_TYPE; if (strlen($PART) > 0) $FILTER_KEY .= "_".intval($PART); $arrFilterReturn[$FILTER_KEY] = $arr["VALUE"]; if ($FILTER_TYPE=="text") { $EXACT_MATCH = ($arr["EXACT_MATCH"]=="Y") ? "Y" : "N"; $arrFilterReturn[$FILTER_KEY."_exact_match"] = $EXACT_MATCH; } } } unset($arrFilterReturn["FIELDS"]); } return $arrFilterReturn; }
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(); } } } } }
function PrepareFilter($WEB_FORM_ID, $arFilter) { $err_mess = CAllFormResult::err_mess() . "<br>Function: PrepareFilter<br>Line: "; global $DB, $strError; $arrFilterReturn = $arFilter; $arFilterKeys = array_keys($arFilter); if (in_array("FIELDS", $arFilterKeys)) { $arFilterFields = $arFilter["FIELDS"]; $rsForm = CForm::GetByID($WEB_FORM_ID); $arForm = $rsForm->Fetch(); $WEB_FORM_NAME = $arForm["SID"]; if (is_array($arFilterFields) && count($arFilterFields) > 0) { reset($arFilterFields); while (list(, $arr) = each($arFilterFields)) { if (strlen($arr["SID"]) > 0) { $arr["CODE"] = $arr["SID"]; } else { $arr["SID"] = $arr["CODE"]; } $FIELD_SID = $arr["SID"]; $FILTER_TYPE = strlen($arr["FILTER_TYPE"]) > 0 ? $arr["FILTER_TYPE"] : "text"; if (strtoupper($FILTER_TYPE) == "ANSWER_ID") { $FILTER_TYPE = "dropdown"; } $PARAMETER_NAME = strlen($arr["PARAMETER_NAME"]) > 0 ? $arr["PARAMETER_NAME"] : "USER"; $PART = $arr["PART"]; $FILTER_KEY = $arForm["SID"] . "_" . $FIELD_SID . "_" . $PARAMETER_NAME . "_" . $FILTER_TYPE; if (strlen($PART) > 0) { $FILTER_KEY .= "_" . intval($PART); } $arrFilterReturn[$FILTER_KEY] = $arr["VALUE"]; if ($FILTER_TYPE == "text") { $EXACT_MATCH = $arr["EXACT_MATCH"] == "Y" ? "Y" : "N"; $arrFilterReturn[$FILTER_KEY . "_exact_match"] = $EXACT_MATCH; } } } unset($arrFilterReturn["FIELDS"]); } return $arrFilterReturn; }