facut pana la video 7
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
<?php
|
||||
|
||||
namespace app\controllers;
|
||||
use app\core\middlewares\AuthMiddleware;
|
||||
use app\core\Application;
|
||||
use app\core\Controller;
|
||||
use app\core\Request;
|
||||
use app\core\Response;
|
||||
use app\models\LoginForm;
|
||||
use app\models\User;
|
||||
|
||||
class AuthController extends Controller{
|
||||
public function __construct(){
|
||||
$this->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');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace app\controllers;
|
||||
use app\core\Controller;
|
||||
use app\core\Request;
|
||||
|
||||
class SiteController extends Controller{
|
||||
public function handleContact(Request $request){
|
||||
$body = $request->getBody();
|
||||
return 'handling requested data';
|
||||
}
|
||||
|
||||
public function contact(){
|
||||
return $this->render('contact');
|
||||
}
|
||||
|
||||
public function home(){
|
||||
$params = [
|
||||
'name' => "TheCodeholic"
|
||||
];
|
||||
|
||||
return $this->render('home', $params);
|
||||
}
|
||||
|
||||
public function profile(){
|
||||
return $this->render('profile');
|
||||
}
|
||||
|
||||
public function _404(){
|
||||
return $this->render('_404');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user