miniflux-legacy/app/controllers/auth.php

53 lines
1.3 KiB
PHP
Raw Normal View History

<?php
namespace Miniflux\Controller;
use Miniflux\Session\SessionManager;
use Miniflux\Session\SessionStorage;
2016-08-24 04:03:45 +02:00
use Miniflux\Validator;
2016-08-25 03:17:58 +02:00
use Miniflux\Router;
use Miniflux\Response;
use Miniflux\Model\RememberMe;
2016-08-25 03:17:58 +02:00
use Miniflux\Request;
use Miniflux\Template;
use Miniflux\Helper;
use Miniflux\Model;
2016-08-24 04:03:45 +02:00
// Logout and destroy session
2016-04-18 01:44:45 +02:00
Router\get_action('logout', function () {
SessionStorage::getInstance()->flush();
SessionManager::close();
RememberMe\destroy();
Response\redirect('?action=login');
});
// Display form login
2016-04-18 01:44:45 +02:00
Router\get_action('login', function () {
if (SessionStorage::getInstance()->isLogged()) {
2014-05-27 02:47:40 +02:00
Response\redirect('?action=unread');
}
Response\html(Template\load('login', array(
'errors' => array(),
2014-11-08 03:44:20 +01:00
'values' => array(
'csrf' => Helper\generate_csrf(),
2014-11-08 03:44:20 +01:00
),
)));
});
// Check credentials and redirect to unread items
2016-04-18 01:44:45 +02:00
Router\post_action('login', function () {
$values = Request\values();
Helper\check_csrf_values($values);
2016-08-24 04:03:45 +02:00
list($valid, $errors) = Validator\User\validate_login($values);
2014-05-27 02:47:40 +02:00
if ($valid) {
Response\redirect('?action=unread');
}
Response\html(Template\load('login', array(
'errors' => $errors,
'values' => $values + array('csrf' => Helper\generate_csrf()),
)));
});