'Оплата на сайте', '2' => 'Оплата при получении' ]; $pay_id = 2; // по умолчанию оплата при получении /** был изменен способ доставки в форме * 1 - электронная * 2 - самовывоз * 3 - курьером */ //print_r($_POST); /* ищем есть ли товар */ $price_id = db_get("SELECT * FROM `price` WHERE `priceslug` = '$priceslug' LIMIT 1"); if (!isset($price_id['price_id'])) { echo 'товар не найден'; return false; } /** определяем цену товара */ if ($delivery_id == 1){ // тип товара = 1 (только электронная) $price = $price_id['price']; // электронный прайс } else { $price = $price_id['offline_price']; // бумажный прайс $delivery = db_get("SELECT * FROM delivery WHERE delivery_id > 1"); // список доставок для бумажной версии } /** фиксируем цену в базу */ $add['buy_price'] = $price; $add['price'] = $price; /** если клиент залогинен */ if (defined('CLIENT_ID')){ $client = client_find_id(CLIENT_ID); if (isset($client['result']['client_id'])){ $client = $client['result']; } } # если пришла форма if (count($_POST) > 0){ $errors = []; // ошибки которые вернуться в форму if (isset($_POST['delivery_id'])){ $delivery_id = (int)$_POST['delivery_id']; } if (isset($_POST['pay_id'])){ $pay_id = (int)$_POST['pay_id']; } # указан ли в поле email if (isset($_POST['clientmail']) and trim($_POST['clientmail']) !== '') { $clientmail = $_POST['clientmail']; if (!filter_var($clientmail, FILTER_VALIDATE_EMAIL)){ $error['buy_email'] = 'Не указана электронная почта (обязательна для электронных заказов и оплаты онлайн)'; if ($delivery_id == 1 or $pay_id == 1){ $err_critical = True; # обязательное поле для цифрового заказа или оплаты онлайн } } else { $client = api_add_client($clientmail); # ищем или создаем клиента } } # указано ли поле имя if (isset($_POST['buy_name']) and trim($_POST['buy_name']) !== '' ) { $add['buy_name'] = trim($_POST['buy_name']); } else { if ($delivery_id > 1){ $err_critical = True; // обязательное поле для физических заказов $errors['buy_name'] = 'Не указано имя. Обязательно для получения самовывозом'; } } # указано поле телефон if (isset($_POST['buy_tel']) and trim($_POST['buy_tel']) !== '') { $add['buy_tel'] = trim($_POST['buy_tel']); } else { if ($delivery_id == 3){ // обязательное поле для доставки курьером $err_critical = True; $errors['buy_tel'] = 'Не указан телефон по которому можно уточнить детали доставки'; } } # указано поле адрес if (isset($_POST['buy_adress']) and trim($_POST['buy_adress']) !== '') { $add['buy_adress'] = trim($_POST['buy_adress']); } else { if ($delivery_id == 3){ $err_critical = True; // обязательное поле для доставки курьером $errors['buy_adress'] = 'Не указан адрес куда доставить товар'; } } // все поля формы заполнены - пушим заказ if (!$err_critical){ $add_order = True; } } /** фикстируем клиента в базу */ if (isset($client['client_id'])) { $add['client_id'] = $client['client_id']; $add['buy_email'] = $client['clientmail']; if ($delivery_id == 1) { $add_order = True; // для электронного заказа достаточно активного клиента } } #создаем заказ if ($add_order){ $add['buy_status'] = 0; $add['mail_status'] = 0; $add['number_id'] = $price_id['price_id']; $add['pay_id'] = 3; // оплата через Юкассу $add['delivery_id'] = $delivery_id; $add['date_start'] = date('Y-m-d H:i:s'); $add['buy_active'] = 0; $order_id = db_insert('anbuy', $add, 'chitatel'); // добавляем в базу заказ $order_url = SITE."status/$order_id"; if (is_array($order_id)){ // неудалось создать заказ $error_mail = True; $error['no_order'] = 'Не удалось сформировать заказ'; } else { # заказ создался if ( $delivery_id == 1 or ($_POST['pay_id']) == 1){ echo 'уводим на оплату в Юкассу'; return anpay_kuri($order_id); } else { // даем пользователю номер заказа if (isset($add['buy_email'])) { $message = "Ваш платеж подтвержден. Номер заказа $order_id\n Сообщите его менеджеру при необходимости.\n"; $subject = "Аргументы Недели: платеж подтвержден"; $result = klanmail($add['buy_email'], $subject, $message, set('klanmail')); // echo $result; } header("Location: $order_url"); // переводим на инфу про заказа } } } $submit_link = SITE."checkout/$priceslug/$delivery_id"; include VIEWPATH.'checkout.phtml'; } # страница с которой function status_kuri($order_id){ # получаем инфу о заказе $buy_find = " SELECT `buy_id`, `buy_status`, `delivery_id`, `shop_id` FROM `anbuy` WHERE `buy_id` = '$order_id' LIMIT 1 "; $buy_id = db_get($buy_find); include(VIEWPATH.'order_status.phtml'); }