miniflux-legacy/controllers/user.php

52 lines
1.3 KiB
PHP
Raw Normal View History

<?php
use PicoFarad\Router;
use PicoFarad\Response;
use PicoFarad\Request;
use PicoFarad\Session;
2014-03-17 02:56:43 +01:00
use PicoFarad\Template;
// Logout and destroy session
Router\get_action('logout', function() {
2014-05-27 02:47:40 +02:00
Model\RememberMe\destroy();
Session\close();
Response\redirect('?action=login');
});
// Display form login
Router\get_action('login', function() {
2014-05-27 02:47:40 +02:00
if (isset($_SESSION['user'])) {
Response\redirect('?action=unread');
}
Response\html(Template\load('login', array(
'errors' => array(),
2014-11-08 03:44:20 +01:00
'values' => array(
'csrf' => Model\Config\generate_csrf(),
),
'databases' => Model\Database\get_list(),
'current_database' => Model\Database\select()
)));
});
// Check credentials and redirect to unread items
Router\post_action('login', function() {
$values = Request\values();
2014-11-08 03:44:20 +01:00
Model\Config\check_csrf_values($values);
list($valid, $errors) = Model\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,
2014-11-08 03:44:20 +01:00
'values' => $values + array('csrf' => Model\Config\generate_csrf()),
'databases' => Model\Database\get_list(),
'current_database' => Model\Database\select()
)));
});