Пример #1
0
$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())
Пример #2
0
 $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));
                     }
                 }
             }