auth = $auth; $this->router = $router; $this->userTable = $userTable; $this->session = $session; } public function process(ServerRequestInterface $request, DelegateInterface $delegate): ResponseInterface { $url_part = explode('/',$request->getServerParams()['HTTP_REFERER'] ?? '/'); $username = $url_part[5]; if (!$_SESSION['logout']) { // echo "logout = false"; // die(); } else { // echo "logout = true"; // die(); } if (!$_SESSION['logout']) { if (is_null($username)) { $user = $this->auth->getUser() ?: $this->userTable->findBy('username', $request->getAttribute('user')); } else { $user = $this->auth->getUser() ?: $this->userTable->findBy('username', $username); } } // var_dump($user); // die(); if (is_null($user) or $_SESSION['logout']) { (new FlashService($this->session))->error('Vous devez vous connecter pour accéder à cette page'); return new RedirectResponse($this->router->generateUri('auth.login')); } return $delegate->process($request->withAttribute('user', $user)); } }