5242880) { // 5MB $error = "Размер файла не должен превышать 5 МБ."; } elseif (mime_content_type($bvs_file['tmp_name']) !== 'application/pdf') { $error = "Допустим только формат PDF."; } } if (!isset($error)) { // Сохраняем загруженный файл во временную папку $uploaded_file_path = null; if ($bvs_file && $bvs_file['error'] === UPLOAD_ERR_OK) { $upload_dir = sys_get_temp_dir() . '/ptp_forms_uploads/'; if (!is_dir($upload_dir)) { mkdir($upload_dir, 0700, true); } $uploaded_file_path = $upload_dir . uniqid('bvs_') . '_' . basename($bvs_file['name']); move_uploaded_file($bvs_file['tmp_name'], $uploaded_file_path); } // Подготавливаем данные заявки $form_data = [ 'name' => $name, 'email' => $email, 'phone' => $phone, 'telegram' => $telegram, 'bvs_number' => $bvs_number, 'trip_period' => $trip_period, 'consent' => $consent, 'bvs_file' => $bvs_file ? $bvs_file['name'] : '', 'bvs_file_path' => $uploaded_file_path ]; $success_messages = []; $error_messages = []; // 1. Отправка email (если включено) if ($settings['send_email']) { $email_sent = send_email_notification($form_data, 'plan'); if ($email_sent) { $success_messages[] = "Email отправлен"; } else { $error_messages[] = "Ошибка отправки email"; } } // 2. Сохранение в JSON (если включено) if ($settings['save_json']) { $json_saved = save_application_to_json($form_data, 'plan'); if ($json_saved) { $success_messages[] = "Заявка сохранена"; } else { $error_messages[] = "Ошибка сохранения заявки"; } } // 3. Уведомление в Telegram (если включено) if ($settings['send_telegram'] && $settings['notifications']) { $telegram_sent = send_telegram_notification($form_data, 'plan'); if ($telegram_sent) { $success_messages[] = "Уведомление отправлено"; } else { $error_messages[] = "Ошибка уведомления в Telegram"; } } // Формируем итоговое сообщение if (!empty($success_messages)) { $success = "Заявка обработана! Мы свяжемся с вами в ближайшее время."; // Очистить форму $name = $email = $phone = $telegram = $bvs_number = $trip_period = $consent = ''; } if (!empty($error_messages) && empty($success_messages)) { $error = "Ошибка обработки заявки. Попробуйте еще раз или свяжитесь через Telegram."; } } } // Возвращаем JSON для AJAX совместимости if (isset($success)) { header('Content-Type: application/json; charset=utf-8'); echo json_encode([ 'success' => true, 'message' => $success ], JSON_UNESCAPED_UNICODE); exit; } elseif (isset($error)) { header('Content-Type: application/json; charset=utf-8'); echo json_encode([ 'success' => false, 'error' => $error ], JSON_UNESCAPED_UNICODE); exit; } ?>