Set
Описание и параметры
mixed CForm::Set( array fields, mixed form_id = false, string check_rights = "Y" )
Добавляет новую веб-форму или обновляет заданную. Возвращает ID обновленной или добавленной веб-формы в случае положительного результата, в противном случае - "false". Метод нестатический.
Примечание
При обновлении существующей веб-формы (или при добавлении новой веб-формы), автоматически обновляется тип почтового события (либо создаётся новый тип).
Параметры метода
Параметр | Описание |
---|---|
fields | Массив значений полей; в качестве ключей массива допустимы:
|
form_id | ID обновляемой веб-формы. Параметр необязательный. По умолчанию - "false" (добавление новой веб-формы). |
check_rights | Флаг необходимости проверки прав текущего пользователя. Возможны следующие значения:
Параметр необязательный. По умолчанию - "Y" (права необходимо проверить). |
Смотрите также
Примеры использования
<? /************************************************* Добавление веб-формы *************************************************/ // создадим массив описывающий изображение // находящееся в файле на сервере $arIMAGE = CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"]."/images/web_form.gif"); $arIMAGE["MODULE_ID"] = "form"; $arFields = array( "NAME" => "Анкета посетителя", "SID" => "VISITOR_FORM", "C_SORT" => 300, "BUTTON" => "Сохранить", "DESCRIPTION" => "Заполните пож-та анкету", "DESCRIPTION_TYPE" => "text", "STAT_EVENT1" => "form", "STAT_EVENT2" => "visitor_form", "arSITE" => array("r1"), "arMENU" => array("ru" => "Анкета посетителя", "en" => "Visitor Form"), "arGROUP" => array("2" => "15", "3" => "20"), "arIMAGE" => $arIMAGE ); // добавим новую веб-форму $NEW_ID = CForm::Set($arFields); if ($NEW_ID>0) echo "Добавлена веб-форма с ID=".$NEW_ID; else // ошибка { // выводим текст ошибки global $strError; echo $strError; } ?>
<? // пример обновления веб-формы параметры которой были визуально // отредактированы в административной части $w = CGroup::GetList($v1, $v2, Array("ADMIN"=>"N"), $v3); $arGroups = array(); while ($wr=$w->Fetch()) $arGroups[] = array("ID"=>$wr["ID"], "NAME"=>$wr["NAME"]); $z = CLanguage::GetList($v1, $v2, array("ACTIVE" => "Y")); $arFormMenuLang = array(); while ($zr=$z->Fetch()) $arFormMenuLang[] = array("LID"=>$zr["LID"], "NAME"=>$zr["NAME"]); $rs = CSite::GetList(($by="sort"), ($order="asc")); while ($ar = $rs->Fetch()) { if ($ar["DEF"]=="Y") $def_site_id = $ar["ID"]; $arrSites[$ar["ID"]] = $ar; } if ((strlen($save)>0 || strlen($apply)>0) && $REQUEST_METHOD=="POST") { $arIMAGE_ID = $HTTP_POST_FILES["IMAGE_ID"]; $arIMAGE_ID["MODULE_ID"] = "form"; $arIMAGE_ID["del"] = ${"IMAGE_ID_del"}; $arFields = array( "NAME" => $NAME, "SID" => $SID, "C_SORT" => $C_SORT, "BUTTON" => $BUTTON, "DESCRIPTION" => $DESCRIPTION, "DESCRIPTION_TYPE" => $DESCRIPTION_TYPE, "FILTER_RESULT_TEMPLATE" => $FILTER_RESULT_TEMPLATE, "TABLE_RESULT_TEMPLATE" => $TABLE_RESULT_TEMPLATE, "STAT_EVENT1" => $STAT_EVENT1, "STAT_EVENT2" => $STAT_EVENT2, "STAT_EVENT3" => $STAT_EVENT3, "arIMAGE" => $arIMAGE_ID, "arSITE" => $arSITE, "arMAIL_TEMPLATE" => $arMAIL_TEMPLATE ); // меню $arMENU = array(); reset($arFormMenuLang); while (list(,$arrL)=each($arFormMenuLang)) { $var = "MENU_".$arrL["LID"]; global $$var; $arMENU[$arrL["LID"]] = $$var; } $arFields["arMENU"] = $arMENU; // права доступа $arGROUP = array(); reset($arGroups); while (list(,$arrG)=each($arGroups)) { $var = "PERMISSION_".$arrG["ID"]; global $$var; $arGROUP[$arrG["ID"]] = $$var; } $arFields["arGROUP"] = $arGROUP; if ($ID = CForm::Set($arFields, $ID)) { if (strlen($strError)<=0) { if (strlen($save)>0) LocalRedirect("form_list.php?lang=".LANGUAGE_ID); else LocalRedirect("form_edit.php?ID=".$ID."〈=".LANGUAGE_ID); } } $DB->PrepareFields("b_form"); } ?>
© «Битрикс», 2001-2024, «1С-Битрикс», 2024