/
memoryspeak
/
MemoryspeakServer
Обзор
Документация
Войти
/
memoryspeak
/
MemoryspeakServer
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
controllers/ShareController.php
71 строка
2 KB
memoryspeak
create gettags route
13 дек 2025, 19:20
13 дек 2025, 19:20
81b8389
Код
Авторство
О чём код?
<?php require_once '../services/FirebaseService.php'; class ShareController { private $database; private $userId; private $username; public function __construct($database, $userId, $username) { try { $this->database = $database; $this->userId = $userId; $this->username = $username; } catch(PDOException $e) { LoggerService::write(debug_backtrace(), $e->getMessage()); throw $e; } } public function getShareNote($noteToken) { try { return $this->database->getNoteByNoteToken($noteToken); } catch(PDOException $e) { LoggerService::write(debug_backtrace(), $e->getMessage()); throw $e; } } public function getNotificationData($shareNote) { try { $senderUsername = $this->username; $noteTitle = $shareNote["title"]; $shortNoteBody = substr($shareNote["body"], 0, 200); $noteToken = $shareNote["token"]; return [ 'title' => $senderUsername, 'body' => $noteTitle . "\n" . $shortNoteBody, 'token' => $noteToken, 'sender' => $senderUsername ]; } catch(PDOException $e) { LoggerService::write(debug_backtrace(), $e->getMessage()); throw $e; } } public function sendNotification($recipientId, $notificationData) { try { $fcmTokens = $this->database->getFcmTokensByUserId($recipientId); foreach ($fcmTokens as $fcmToken) { $sendResult = FirebaseService::sendNotificationAboutNewNote($fcmToken, $notificationData); $error = $sendResult['error']; $httpCode = $sendResult['http_code']; $response = $sendResult['response']; if (!$sendResult['success']) { LoggerService::write(debug_backtrace(), "error: {$error}, httpCode: {$httpCode}, response: {$response}"); throw new Exception("Error send notification"); } } } catch(PDOException $e) { LoggerService::write(debug_backtrace(), $e->getMessage()); throw $e; } } } ?>