diff --git a/src/Application/Actions/Message/GroupMessagesListAction.php b/src/Application/Actions/Message/GroupMessagesListAction.php new file mode 100755 index 0000000000000000000000000000000000000000..adb878e6f086a3698975f10bb5f70bf485a38d75 --- /dev/null +++ b/src/Application/Actions/Message/GroupMessagesListAction.php @@ -0,0 +1,34 @@ +<?php +declare(strict_types=1); + +namespace App\Application\Actions\Message; +use App\Domain\Group\Group ; + +use Psr\Http\Message\ResponseInterface as Response; + +class GroupMessagesListAction extends MessageAction +{ + /** + * {@inheritdoc} + */ + protected function action(): Response + { + $groupId = (int) $this->resolveArg('id'); + $group = $this->groupRepository->find($groupId); + + if (!isset($_SESSION['userId']) || !$group->hasUser($_SESSION['userId'])){ + + return $this->response + ->withHeader('Location', '/groups/') + ->withStatus(302); + } + + $transmitter_id = $_SESSION['userId']; + + $messages = $this->messageRepository->findBy(array('receiver' => $groupId), array('date' => 'ASC')); + + $this->logger->info("Messages list was viewed."); + + return $this->twig->render($this->response, "/message/messenger.twig", ["messages" => $messages, "group" => $group, 'session' => $_SESSION]); + } +}