$ID = intval($ID); // идентификатор редактируемой записи $bVarsFromForm = false; // флаг "Данные получены с формы", обозначающий, что выводимые данные получены с формы, а не из БД. $errors = array(); // ******************************************************************** // // ОБРАБОТКА ИЗМЕНЕНИЙ ФОРМЫ // // ******************************************************************** // if ($REQUEST_METHOD == "POST" && ($save != "" || $apply != "") && $STALL_ORDER_EDIT == "W" && check_bitrix_sessid()) { // обработка данных формы $arFields = array("DATE_CREATE" => new \Bitrix\Main\Type\DateTime(date($DATE_CREATE), 'd.m.Y H:i:s'), "FIO" => $FIO, "STATUS_ID" => $STATUS_ID, "ADDRESS" => $ADDRESS, "PHONE" => $PHONE, "COMMENT" => $COMMENT); // сохранение данных if ($ID > 0) { $res = ST\OrderTable::update($ID, $arFields); } else { $res = ST\OrderTable::add($arFields); $ID = $res->getId(); } if ($res->isSuccess()) { // если сохранение прошло удачно - перенаправим на новую страницу // (в целях защиты от повторной отправки формы нажатием кнопки "Обновить" в браузере) if ($apply != "") { // если была нажата кнопка "Применить" - отправляем обратно на форму. LocalRedirect("/bitrix/admin/anmaslov.stall_order_edit.php?ID=" . $ID . "&mess=ok&lang=" . LANG . "&" . $tabControl->ActiveTabParam()); } else { // если была нажата кнопка "Сохранить" - отправляем к списку элементов. LocalRedirect("/bitrix/admin/anmaslov.stall_orders.php?lang=" . LANG); } } else { // если в процессе сохранения возникли ошибки - получаем текст ошибки и меняем вышеопределённые переменные //if($e = $APPLICATION->GetException())
$res->SetUrlTemplates($arParams["DETAIL_URL"]); //Применяем шаблон построения ссылок из настроек if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["SendOrder"]) > 0) { $arResult["SHOW_FORM"] = 1; if (strlen($_POST["name"]) < 3) { $arResult["ERROR_MESSAGE"]["NAME"] = GetMessage("STALL_USER_NAME_ERROR_MIN_VALUE"); } if (strlen($_POST["email"]) < 5 || !check_email($_POST["email"])) { $arResult["ERROR_MESSAGE"]["EMAIL"] = GetMessage("STALL_USER_EMAIL_ERROR"); } if (strlen($_POST["phone"]) < 5) { $arResult["ERROR_MESSAGE"]["PHONE"] = GetMessage("STALL_USER_PHONE_ERROR_MIN_VALUE"); } if (empty($arResult["ERROR_MESSAGE"])) { $arFields = array("DATE_CREATE" => new \Bitrix\Main\Type\DateTime(null, 0), "FIO" => $_POST["name"], "PHONE" => $_POST["phone"], "COMMENT" => $_POST["msg"]); $order = ST\OrderTable::add($arFields); $ID = $order->getId(); if ($ID) { while ($ob = $res->GetNext()) { $arFields = array('ORDER_ID' => $ID, 'ELEMENT_ID' => $cart->viewCart($ob['ID']), 'ELEMENT_NAME' => $ob['NAME'], 'PRICE' => $ob['PROPERTY_PRICE_VALUE'], 'COUNT' => $cart->viewCart($ob['ID'])['count']); $orderElem = ST\OrderElementTable::add($arFields); } $arResult["STATUS_BD"] = $ID; $arFields = array("MANAGER_EMAIL" => $arParams["ADMIN_EMAIL"], "USER_NAME" => $_POST["name"], "USER_EMAIL" => $_POST["email"], "USER_PHONE" => $_POST["phone"], "USER_MSG" => $_POST["msg"], "ORDER_NUMBER" => $arResult["STATUS_BD"], "ORDER_DATE" => date('d.m.Y'), "ORDER_LIST" => "Список позиций"); if (!empty($arParams["EVENT_MESSAGE_ID"])) { foreach ($arParams["EVENT_MESSAGE_ID"] as $v) { if (IntVal($v) > 0) { CEvent::Send($arParams["EVENT_NAME"], SITE_ID, $arFields, "N", IntVal($v)); } } }