registerMiddleware(new AuthMiddleware(['profile'])); } public function login(Request $request, Response $response){ $loginForm = new LoginForm(); if($request->isPost()){ $loginForm->loadData($request->getBody()); if($loginForm->validate() && $loginForm->login()){ $response->redirect('home'); exit; } $this->setLayout('auth'); return $this->render('login', [ 'model' => $loginForm ]); } $this->setLayout('auth'); return $this->render('login', [ 'model' => $loginForm ]); } public function register(Request $request, $response){ $user = new User(); if($request->isPost()){ $user->loadData($request->getBody()); if($user->validate() && $user->save()){ Application::$app->session->setFlash('success', 'Thanks for registering'); $response->redirect('home'); exit; } $this->setLayout('auth'); return $this->render('register', [ 'model'=>$user ]); } $this->setLayout('auth'); return $this->render('register', [ 'model'=>$user ]); } public function logout($request, $response){ Application::$app->logout(); $response->redirect('/'); } public function profile(){ return $this->render('profile'); } }