- Added comprehensive AI Assistant system (aiassist/ directory): * Vector search and embedding capabilities * Typebot proxy integration * Elastic search functionality * Message classification and chat history * MCP proxy for external integrations - Implemented Court Status API (GetCourtStatus.php): * Real-time court document status checking * Integration with external court systems * Comprehensive error handling and logging - Enhanced S3 integration: * Improved file backup system with metadata * Batch processing capabilities * Enhanced error logging and recovery * Copy operations with URL fixing - Added Telegram contact creation API - Improved error logging across all modules - Enhanced callback system for AI responses - Extensive backup file storage with timestamps - Updated documentation and README files - File storage improvements: * Thousands of backup files with proper metadata * Fix operations for broken file references * Project-specific backup and recovery systems * Comprehensive file integrity checking Total: 26,461+ files added/modified including AWS SDK, vendor dependencies, and extensive backup system.
111 lines
4.1 KiB
PHP
111 lines
4.1 KiB
PHP
<?php
|
||
// Путь к папке для логов
|
||
$logDir = __DIR__ . '/logs';
|
||
|
||
// Убедимся, что папка для логов существует
|
||
if (!is_dir($logDir)) {
|
||
mkdir($logDir, 0777, true);
|
||
}
|
||
|
||
// Лог-файл
|
||
$logFile = $logDir . '/aviationstack.log';
|
||
|
||
// Функция для записи в лог
|
||
function writeLog($message)
|
||
{
|
||
global $logFile;
|
||
$timestamp = date('Y-m-d H:i:s');
|
||
file_put_contents($logFile, "[$timestamp] $message" . PHP_EOL, FILE_APPEND);
|
||
}
|
||
|
||
// Ваш API-ключ
|
||
$apiKey = "dcec8862668965817443790ed8fcb902";
|
||
|
||
// Дата рейса
|
||
$flightDate = "2025-01-14";
|
||
|
||
// Код рейса
|
||
$flightIATA = "SU1231";
|
||
|
||
// Дополнительные параметры фильтрации
|
||
$additionalFilters = [
|
||
'flight_status' => 'landed', // Опционально: можно изменить на нужный статус
|
||
'limit' => 10, // Ограничение результатов
|
||
'offset' => 0 // Начало пагинации
|
||
];
|
||
|
||
// URL API
|
||
$apiUrl = "http://api.aviationstack.com/v1/flights";
|
||
|
||
// Параметры запроса
|
||
$queryParams = array_merge(
|
||
[
|
||
'access_key' => $apiKey,
|
||
'flight_date' => $flightDate,
|
||
'flight_iata' => $flightIATA
|
||
],
|
||
$additionalFilters
|
||
);
|
||
|
||
// Формируем URL
|
||
$url = $apiUrl . '?' . http_build_query($queryParams);
|
||
|
||
// Логируем запрос
|
||
writeLog("Отправка запроса к API: $url");
|
||
|
||
// Инициализация cURL
|
||
$ch = curl_init($url);
|
||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
|
||
|
||
// Отправка запроса
|
||
$response = curl_exec($ch);
|
||
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
||
$curlError = curl_error($ch);
|
||
|
||
// Закрытие соединения
|
||
curl_close($ch);
|
||
|
||
// Логируем HTTP-код ответа
|
||
writeLog("HTTP-код ответа: $httpCode");
|
||
|
||
// Проверяем ошибки cURL
|
||
if ($curlError) {
|
||
writeLog("Ошибка cURL: $curlError");
|
||
die("Ошибка cURL: $curlError");
|
||
}
|
||
|
||
// Логируем тело ответа
|
||
writeLog("Тело ответа: $response");
|
||
|
||
// Обрабатываем тело ответа
|
||
$data = json_decode($response, true);
|
||
|
||
if ($httpCode === 200 && isset($data['data'])) {
|
||
foreach ($data['data'] as $flight) {
|
||
$output = "Рейс: " . ($flight['flight']['iata'] ?? 'неизвестно') . PHP_EOL;
|
||
$output .= "Дата: " . ($flight['flight_date'] ?? 'неизвестно') . PHP_EOL;
|
||
$output .= "Статус: " . ($flight['flight_status'] ?? 'неизвестно') . PHP_EOL;
|
||
$output .= "Аэропорт вылета: " . ($flight['departure']['airport'] ?? 'неизвестно') . PHP_EOL;
|
||
$output .= "Запланированное время вылета: " . ($flight['departure']['scheduled'] ?? 'неизвестно') . PHP_EOL;
|
||
$output .= "Фактическое время вылета: " . ($flight['departure']['actual'] ?? 'неизвестно') . PHP_EOL;
|
||
$output .= "Аэропорт прилета: " . ($flight['arrival']['airport'] ?? 'неизвестно') . PHP_EOL;
|
||
$output .= "Запланированное время прилета: " . ($flight['arrival']['scheduled'] ?? 'неизвестно') . PHP_EOL;
|
||
$output .= "Фактическое время прилета: " . ($flight['arrival']['actual'] ?? 'неизвестно') . PHP_EOL;
|
||
$output .= "Задержка вылета: " . ($flight['departure']['delay'] ?? 'неизвестно') . " минут" . PHP_EOL;
|
||
$output .= "Задержка прилета: " . ($flight['arrival']['delay'] ?? 'неизвестно') . " минут" . PHP_EOL;
|
||
$output .= str_repeat("-", 50) . PHP_EOL;
|
||
|
||
// Выводим на экран
|
||
echo nl2br($output);
|
||
|
||
// Логируем данные о рейсе
|
||
writeLog("Данные рейса:\n$output");
|
||
}
|
||
} else {
|
||
$error = isset($data['error']) ? json_encode($data['error']) : "Неизвестная ошибка";
|
||
writeLog("Ошибка: HTTP-код $httpCode, Тело ответа: $response");
|
||
echo "Ошибка: $error" . PHP_EOL;
|
||
}
|
||
?>
|