/
delphin
/
CatRW
Обзор
Документация
Войти
/
delphin
/
CatRW
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
api/stats.php
80 строк
2 KB
delphin
start project
02 мар 2026, 09:14
Верифицирован
02 мар 2026, 09:14
4b0ee03
Код
Авторство
О чём код?
<?php // /api/stats.php - УПРОЩЕННЫЙ API require_once __DIR__ . '/../config.php'; require_once __DIR__ . '/Database.php'; require_once __DIR__ . '/StatsService.php'; header('Content-Type: application/json; charset=utf-8'); function sendJson($data, $status = 200) { http_response_code($status); echo json_encode($data, JSON_UNESCAPED_UNICODE); exit; } try { $method = $_SERVER['REQUEST_METHOD']; if ($method !== 'GET') { sendJson(['success' => false, 'error' => 'Только GET метод поддерживается'], 405); } // Парсим путь запроса $path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH); $base = '/api/stats'; // Убираем базовый путь $relativePath = substr($path, strlen($base)); $parts = array_filter(explode('/', trim($relativePath, '/'))); // Определяем действие $action = 'overall'; if (!empty($parts[0])) { $action = $parts[0]; } // Обрабатываем действие switch ($action) { case 'models': sendJson(StatsService::getModelsStats()); break; case 'manufacturers': sendJson(StatsService::getManufacturersStats()); break; case 'users': sendJson(StatsService::getUsersStats()); break; case 'railways': sendJson(StatsService::getRailwaysStats()); break; case 'scales': sendJson(StatsService::getScalesStats()); break; case 'types': sendJson(StatsService::getTypesStats()); break; case 'collections': sendJson(StatsService::getCollectionsStats()); break; case 'overall': default: sendJson(StatsService::getOverallStats()); } } catch (Exception $e) { error_log("Stats API Error: " . $e->getMessage()); sendJson([ 'success' => false, 'error' => 'Внутренняя ошибка сервера', 'timestamp' => date('Y-m-d H:i:s') ], 500); } ?>