$response->send(); } $_SESSION['is_authenticated'] = true; $_SESSION['id'] = $user->getId(); $_SESSION['login'] = $user->getLogin(); $app->redirect('/statuses'); }); $app->post('/register', function (Request $request) use($app, $userMapper) { $login = htmlspecialchars($request->getParameter('user')); $password = htmlspecialchars($request->getParameter('password')); $password_verif = htmlspecialchars($request->getParameter('password2')); if (!isset($login) || !isset($password)) { $erreur = "Empty parameters"; $content = $app->render('register.php', array('erreur' => $erreur, 'login' => $login)); $response = new Response($content, 400); $response->send(); } if (!($password == $password_verif)) { $erreur = "The two password aren't similars"; return $app->render('register.php', array('erreur' => $erreur, 'login' => $login)); } $userMapper->persist(new User(null, $login, $password)); $app->redirect('/login?login='******'/logout', function (Request $request) use($app) { session_destroy(); $app->redirect('/statuses'); }); ///////////////////////////////////////////////////////////////////////////////////////////////// // FIREWALL // /////////////////////////////////////////////////////////////////////////////////////////////////
/** * @param Route $route */ private function process(Route $route, Request $request) { $this->dispatch('process.before', [$request]); $arguments = $route->getArguments(); array_unshift($arguments, $request); try { $response = call_user_func_array($route->getCallable(), $arguments); if (!$response instanceof Response) { $response = new Response($response); } $response->send(); } catch (HttpException $e) { throw $e; } catch (\Exception $e) { throw new HttpException(500, null, $e); } }
/** * @param Route $route */ private function process(Route $route, Request $request) { $arguments = $route->getArguments(); array_unshift($arguments, $request); try { $contentResponse = call_user_func_array($route->getCallable(), $arguments); //~ http_response_code($this->statusCode); //~ echo $response; $response = new Response($contentResponse, $this->statusCode); $response->send(); } catch (HttpException $e) { throw $e; } catch (\Exception $e) { throw new HttpException(500, null, $e); } }