$name, 'email' => $email, 'telegram' => $telegram, 'phone' => $phone, 'subject' => $subject, 'message' => $message ]; $success_messages = []; $error_messages = []; // 1. Отправка email (если включено) if ($settings['send_email']) { $to = getenv('FORMS_MAIN_EMAIL') ?: "sleeptrip@mail.ru"; $email_subject = "Вопрос с сайта: " . $subject; $email_body = "Новый вопрос с сайта:\n\n"; $email_body .= "Имя: " . $name . "\n"; $email_body .= "Email: " . ($email ?: 'не указан') . "\n"; $email_body .= "Telegram: " . ($telegram ?: 'не указан') . "\n"; $email_body .= "Телефон: " . ($phone ?: 'не указан') . "\n"; $email_body .= "Тема: " . $subject . "\n\n"; $email_body .= "Сообщение:\n" . $message . "\n\n"; $email_body .= "---\n"; $email_body .= "Отправлено с: " . $_SERVER['HTTP_HOST'] . "\n"; $email_body .= "Дата: " . date('Y-m-d H:i:s') . "\n"; $from_email = getenv('FORMS_FROM_EMAIL') ?: 'noreply@sleeptrip.ru'; $headers = "From: " . $from_email . "\r\n"; if (!empty($email)) { $headers .= "Reply-To: " . $email . "\r\n"; } $headers .= "X-Mailer: PHP/" . phpversion(); $headers .= "Content-Type: text/plain; charset=UTF-8\r\n"; if (mail($to, $email_subject, $email_body, $headers)) { $success_messages[] = "Email отправлен"; } else { $error_messages[] = "Ошибка отправки email"; } } // 2. Сохранение в JSON (если включено) if ($settings['save_json']) { $json_saved = save_application_to_json($form_data, 'ask'); if ($json_saved) { $success_messages[] = "Вопрос сохранен"; } else { $error_messages[] = "Ошибка сохранения вопроса"; } } // 3. Уведомление в Telegram (если включено) if ($settings['send_telegram'] && $settings['notifications']) { $telegram_sent = send_telegram_notification($form_data, 'ask'); if ($telegram_sent) { $success_messages[] = "Уведомление отправлено"; } else { $error_messages[] = "Ошибка уведомления в Telegram"; } } // Формируем итоговое сообщение if (!empty($success_messages)) { $success = "Сообщение отправлено! Мы ответим вам в ближайшее время."; // Очистить форму $name = $email = $telegram = $phone = $subject = $message = ''; } 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; } ?>