Files
This commit is contained in:
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
namespace Incoviba\UI\Common\Controller;
|
||||
|
||||
use Psr\Http\Message\ServerRequestInterface as Request;
|
||||
use Psr\Http\Message\ResponseInterface as Response;
|
||||
use Slim\Views\Blade as View;
|
||||
use Incoviba\UI\Common\Service\Auth as Service;
|
||||
|
||||
class Auth {
|
||||
public function login(Request $request, Response $response, View $view): Response {
|
||||
$route = $_SESSION['route'] ?? '/';
|
||||
return $view->render($response, 'auth.login', compact('route'));
|
||||
}
|
||||
public function doLogin(Request $request, Response $response, Service $service): Response {
|
||||
$post = $request->getParsedBody();
|
||||
$user = $post['name'];
|
||||
$password = $post['password'];
|
||||
$output = [
|
||||
'login' => $service->login($user, $password)
|
||||
];
|
||||
if ($output['login']) {
|
||||
unset($_SESSION['route']);
|
||||
}
|
||||
$response->getBody()->write(json_encode($output, JSON_UNESCAPED_SLASHES));
|
||||
return $response
|
||||
->withStatus(200)
|
||||
->withHeader('content-type', 'application/json');
|
||||
}
|
||||
public function logout(Request $request, Response $response, Service $service): Response {
|
||||
$service->logout();
|
||||
return $response
|
||||
->withStatus(302)
|
||||
->withHeader('Location', '/');
|
||||
}
|
||||
}
|
||||
|
16
common/Controller/Base.php
Normal file
16
common/Controller/Base.php
Normal file
@ -0,0 +1,16 @@
|
||||
<?php
|
||||
namespace Incoviba\UI\Common\Controller;
|
||||
|
||||
use Psr\Http\Message\ServerRequestInterface as Request;
|
||||
use Psr\Http\Message\ResponseInterface as Response;
|
||||
use Slim\Views\Blade as View;
|
||||
|
||||
class Base {
|
||||
public function __invoke(Request $request, Response $response, View $view) {
|
||||
$hoy = 0;
|
||||
$pendientes = 0;
|
||||
$dias = [];
|
||||
$cierres = [];
|
||||
return $view->render($response, 'home', compact('hoy', 'pendientes', 'dias', 'cierres'));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user