1
0
Files
TaskBoard/backend/app/restAPI/class_restApi.php
Falknat 3bfa1e9e1b Комментарии, файлы и права проекта
- Система комментариев к задачам с вложенными ответами
- Редактирование и удаление комментариев
- Прикрепление файлов к задачам и комментариям (картинки, архивы до 10 МБ)
- Система прав проекта: админ проекта может удалять чужие комментарии и файлы
- Универсальный класс FileUpload для загрузки файлов
- Защита загрузки: только автор комментария может добавлять файлы
- Каскадное удаление: задача → комментарии → файлы
- Автообновление комментариев в реальном времени
2026-01-15 06:40:47 +07:00

39 lines
1.1 KiB
PHP

<?php
class RestApi {
// Получить данные из JSON запроса
public static function getInput(): array {
$json = file_get_contents('php://input');
$data = json_decode($json, true);
return $data ?? [];
}
// Отправить JSON ответ
public static function response($data, int $code = 200): void {
http_response_code($code);
header('Content-Type: application/json; charset=utf-8');
echo json_encode($data, JSON_UNESCAPED_UNICODE);
exit;
}
// Получить ID текущего авторизованного пользователя
public static function getCurrentUserId(): ?int {
$session = $_COOKIE['session'] ?? null;
if (!$session) {
return null;
}
$sessionData = Database::get('accounts_session', ['id_accounts'], [
'keycookies' => $session,
'data_closed[>]' => date('Y-m-d H:i:s')
]);
return $sessionData ? (int)$sessionData['id_accounts'] : null;
}
}
?>