From 11d2f35d49cd989dd2505fdc29cf5a23f526b0f9 Mon Sep 17 00:00:00 2001 From: ghost Date: Wed, 21 Feb 2024 10:23:14 +0200 Subject: [PATCH] update room writable condition --- src/Controller/ModuleController.php | 21 --------------------- src/Controller/RoomController.php | 23 ++++++++++++++++++++--- templates/default/room/index.html.twig | 14 +++++++++----- 3 files changed, 29 insertions(+), 29 deletions(-) diff --git a/src/Controller/ModuleController.php b/src/Controller/ModuleController.php index 6221262..e259676 100644 --- a/src/Controller/ModuleController.php +++ b/src/Controller/ModuleController.php @@ -129,27 +129,6 @@ class ModuleController extends AbstractController Request $request ): Response { - // Connect kevacoin - $client = new \Kevachat\Kevacoin\Client( - $this->getParameter('app.kevacoin.protocol'), - $this->getParameter('app.kevacoin.host'), - $this->getParameter('app.kevacoin.port'), - $this->getParameter('app.kevacoin.username'), - $this->getParameter('app.kevacoin.password') - ); - - // Check room own - $rooms = []; - foreach ((array) $client->kevaListNamespaces() as $value) - { - $rooms[] = $value['namespaceId']; - } - - if (!in_array($request->get('namespace'), $rooms)) - { - return new Response(); - } - // Connect memcached $memcached = new \Memcached(); $memcached->addServer( diff --git a/src/Controller/RoomController.php b/src/Controller/RoomController.php index fe683b7..ff17a9e 100644 --- a/src/Controller/RoomController.php +++ b/src/Controller/RoomController.php @@ -319,13 +319,30 @@ class RoomController extends AbstractController ); } + // Get own room list + $rooms = []; + foreach ((array) $client->kevaListNamespaces() as $value) + { + $rooms[] = $value['namespaceId']; + } + // HTML return $this->render( 'default/room/index.html.twig', [ - 'feed' => $feed, - 'tree' => $tree, - 'request' => $request + 'feed' => $feed, + 'tree' => $tree, + 'writable' => in_array( + $request->get('namespace'), + $rooms + ) && !in_array( + $request->get('namespace'), + explode( + '|', + $this->getParameter('app.kevacoin.room.namespaces.readonly') + ) + ), + 'request' => $request ] ); } diff --git a/templates/default/room/index.html.twig b/templates/default/room/index.html.twig index 56f4359..fb4195b 100644 --- a/templates/default/room/index.html.twig +++ b/templates/default/room/index.html.twig @@ -1,4 +1,4 @@ -{% macro recursive_post_tree(mode, namespace, tree) %} +{% macro recursive_post_tree(mode, namespace, writable, tree) %} {% import _self as self %} {% if tree | length %}