From fa2f21321e32582e25059a4a7717e54e3c3650be Mon Sep 17 00:00:00 2001 From: ghost Date: Wed, 6 Dec 2023 01:40:56 +0200 Subject: [PATCH] implement post sending api --- src/Controller/RoomController.php | 43 +++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 11 deletions(-) diff --git a/src/Controller/RoomController.php b/src/Controller/RoomController.php index cb118a9..aa6f4b2 100644 --- a/src/Controller/RoomController.php +++ b/src/Controller/RoomController.php @@ -85,7 +85,7 @@ class RoomController extends AbstractController } // Set identicon if not anonymous user - if ($post['key'] === 'anonymous') + if ($post['key'] === '@anonymous') { $icon = false; } @@ -331,22 +331,43 @@ class RoomController extends AbstractController ); } - // @TODO Send message to DHT + // Send message to DHT + if ( + $client->kevaPut( + $request->get('namespace'), + sprintf( + '@%s', + $request->get('user') === 'ip' ? $request->getClientIp() : 'anonymous' + ), + $request->get('message') + ) + ) + { + // Register event time + $memcached->set( + $memory['app.add.post.remote.ip.delay'], + time(), + (int) $this->getParameter('app.add.post.remote.ip.delay') + ); - // Register event time - $memcached->set( - $memory['app.add.post.remote.ip.delay'], - time(), - (int) $this->getParameter('app.add.post.remote.ip.delay') - ); + // Redirect back to room + return $this->redirectToRoute( + 'room_namespace', + [ + 'namespace' => $request->get('namespace'), + 'error' => null, + 'message' => null + ] + ); + } - // Redirect back to room + // Something went wrong, return error message return $this->redirectToRoute( 'room_namespace', [ 'namespace' => $request->get('namespace'), - 'error' => null, - 'message' => null + 'message' => $request->get('message'), + 'error' => $translator->trans('Internal error! Please feedback') ] ); }