$arFields["arMENU"] = array(); foreach ($arFormMenuLang as $arrL) { $arFields["arMENU"][$arrL["LID"]] = $_REQUEST["MENU_" . $arrL["LID"]]; } // access rights $arFields["arGROUP"] = array(); foreach ($arGroups as $arrG) { $arFields["arGROUP"][$arrG["ID"]] = $_REQUEST["PERMISSION_" . $arrG["ID"]]; } $res = intval(CForm::Set($arFields, $ID)); if ($res > 0) { if ($bEditTemplate && $USE_DEFAULT_TEMPLATE == "N") { // structure $FORM_STRUCTURE = $_REQUEST["FORM_STRUCTURE"]; $arrFS = CheckSerializedData($FORM_STRUCTURE) ? unserialize($FORM_STRUCTURE) : array(); if (CFormOutput::CheckTemplate($FORM_TEMPLATE, $arrFS)) { $GLOBALS['CACHE_MANAGER']->ClearByTag('form_' . $res); foreach ($arrFS as $arQuestion) { $arQuestionFields = array("FORM_ID" => $res, "TITLE" => $arQuestion["CAPTION_UNFORM"], "TITLE_TYPE" => $arQuestion["isHTMLCaption"] == "N" ? "text" : "html", "SID" => $arQuestion["FIELD_SID"], "REQUIRED" => $arQuestion["isRequired"] == "N" ? "N" : "Y", "IN_RESULTS_TABLE" => $arQuestion["inResultsTable"] == "Y" ? "Y" : "N", "IN_EXCEL_TABLE" => $arQuestion["inExcelTable"] == "Y" ? "Y" : "N", "ACTIVE" => CForm::isFieldInTemplate($arQuestion["FIELD_SID"], $FORM_TEMPLATE) ? "Y" : "N", 'FILTER_TITLE' => $arQuestion['FILTER_TITLE']); $FIELD_ID = $arQuestion["isNew"] == "Y" ? false : $arQuestion["ID"]; $QID = CFormField::Set($arQuestionFields, $FIELD_ID, 'Y', 'N'); if ($QID) { foreach ($arQuestion["structure"] as $arAnswer) { if (strlen($arAnswer["MESSAGE"]) <= 0) { if ($arAnswer['ANS_NEW'] != 'Y' && in_array($arAnswer['FIELD_TYPE'], array('dropdown', 'multiselect', 'checkbox', 'radio'))) { CFormAnswer::Delete($arAnswer['ID'], $QID); } continue; } if (isset($arAnswer['DEFAULT'])) { if ($arAnswer["FIELD_TYPE"] == "dropdown" || $arAnswer['FIELD_TYPE'] == "multiselect") {