auth = $auth; $this->router = $router; $this->userTable = $userTable; $this->session = $session; } public function process(ServerRequestInterface $request, DelegateInterface $delegate): ResponseInterface { // echo "
";
       // var_dump($request);
      //  var_dump($_SESSION);
      //  echo "
"; // die(); $user = $request->getAttribute('user'); if ($user != '' && $user != '---' && $_SESSION['connecte'] != '---') { $_SESSION['connecte']=$user; } else { if ($_SESSION['connecte'] != '---') { $username = $_SESSION['connecte']; } else { $url_part = explode('/', $request->getServerParams()['HTTP_REFERER'] ?? '/'); $username = $url_part[5]; } if (!$_SESSION['logout']) { if (is_null($username)) { if (is_null($user)) { $user = $this->auth->getUser(); } else { $user = $this->userTable->findBy('username', $user); } } else { $user = $this->auth->getUser() ?: $this->userTable->findBy('username', $username); } } if (is_null($user) or $_SESSION['logout'] or $_SESSION['connecte'] == '---') { (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)); } }