mirror of
https://github.com/RaspbianFrance/raspisms.git
synced 2025-04-21 00:46:27 +02:00
few coderules changes
This commit is contained in:
parent
80b6a3ed86
commit
117c18ddca
28 changed files with 1485 additions and 1666 deletions
|
@ -2,15 +2,15 @@
|
|||
namespace controllers\publics;
|
||||
|
||||
/**
|
||||
* Page de connexion
|
||||
*/
|
||||
class Connect extends \Controller
|
||||
{
|
||||
/**
|
||||
* Cette fonction est appelée avant toute les autres :
|
||||
* @return void;
|
||||
*/
|
||||
public function _before()
|
||||
* Page de connexion
|
||||
*/
|
||||
class Connect extends \descartes\Controller
|
||||
{
|
||||
/**
|
||||
* Cette fonction est appelée avant toute les autres :
|
||||
* @return void;
|
||||
*/
|
||||
public function _before()
|
||||
{
|
||||
global $bdd;
|
||||
global $model;
|
||||
|
@ -20,47 +20,46 @@
|
|||
$this->internal_user = new \controllers\internals\User($this->bdd);
|
||||
}
|
||||
|
||||
/**
|
||||
* Cette fonction retourne la fenetre de connexion
|
||||
*/
|
||||
public function login ()
|
||||
{
|
||||
$this->render('connect/login');
|
||||
}
|
||||
/**
|
||||
* Cette fonction retourne la fenetre de connexion
|
||||
*/
|
||||
public function login()
|
||||
{
|
||||
$this->render('connect/login');
|
||||
}
|
||||
|
||||
/**
|
||||
* Cette fonction connecte un utilisateur, et le redirige sur la page d'accueil
|
||||
* @param string $_POST['mail'] : L'email de l'utilisateur
|
||||
* @param string $_POST['password'] : Le mot de passe de l'utilisateur
|
||||
* @return void
|
||||
*/
|
||||
public function connection()
|
||||
{
|
||||
$email = $_POST['mail'] ?? false;
|
||||
* Cette fonction connecte un utilisateur, et le redirige sur la page d'accueil
|
||||
* @param string $_POST['mail'] : L'email de l'utilisateur
|
||||
* @param string $_POST['password'] : Le mot de passe de l'utilisateur
|
||||
* @return void
|
||||
*/
|
||||
public function connection()
|
||||
{
|
||||
$email = $_POST['mail'] ?? false;
|
||||
$password = $_POST['password'] ?? false;
|
||||
|
||||
$user = $this->internal_user->check_credentials($email, $password);
|
||||
if (!$user)
|
||||
{
|
||||
if (!$user) {
|
||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Email ou mot de passe invalide.');
|
||||
return header('Location: ' . \Router::url('Connect', 'login'));
|
||||
}
|
||||
return header('Location: ' . \descartes\Router::url('Connect', 'login'));
|
||||
}
|
||||
|
||||
$_SESSION['connect'] = true;
|
||||
$_SESSION['user'] = $user;
|
||||
$_SESSION['csrf'] = str_shuffle(uniqid().uniqid());
|
||||
$_SESSION['csrf'] = str_shuffle(uniqid().uniqid());
|
||||
|
||||
return header('Location: ' . \Router::url('Dashboard', 'show'));
|
||||
}
|
||||
return header('Location: ' . \descartes\Router::url('Dashboard', 'show'));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Cette fonction retourne la fenetre de changement de password
|
||||
* @return void;
|
||||
*/
|
||||
public function forget_password()
|
||||
{
|
||||
$this->render('connect/forget-password');
|
||||
/**
|
||||
* Cette fonction retourne la fenetre de changement de password
|
||||
* @return void;
|
||||
*/
|
||||
public function forget_password()
|
||||
{
|
||||
$this->render('connect/forget-password');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -68,29 +67,27 @@
|
|||
* @param string $csrf : jeton csrf
|
||||
* @param string $_POST['email'] : L'email pour lequel on veut envoyer un nouveau password
|
||||
*/
|
||||
public function send_reset_password ($csrf)
|
||||
public function send_reset_password($csrf)
|
||||
{
|
||||
if (!$this->verifyCSRF($csrf))
|
||||
{
|
||||
if (!$this->verifyCSRF($csrf)) {
|
||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Jeton CSRF invalid !');
|
||||
header('Location: ' . \Router::url('Connect', 'forget_password'));
|
||||
header('Location: ' . \descartes\Router::url('Connect', 'forget_password'));
|
||||
return false;
|
||||
}
|
||||
|
||||
$email = $_POST['email'] ?? false;
|
||||
$user = $this->internal_user->get_by_email($email);
|
||||
|
||||
if (!$email || !$user)
|
||||
{
|
||||
if (!$email || !$user) {
|
||||
\modules\DescartesSessionMessages\internals\DescartesSessionMessages::push('danger', 'Aucun utilisateur n\'existe pour cette adresse mail.');
|
||||
header('Location: ' . \Router::url('Connect', 'forget_password'));
|
||||
header('Location: ' . \descartes\Router::url('Connect', 'forget_password'));
|
||||
return false;
|
||||
}
|
||||
|
||||
$Tokenista = new \Ingenerator\Tokenista(APP_SECRET);
|
||||
$token = $Tokenista->generate(3600, ['user_id' => $user['id']]);
|
||||
|
||||
$reset_link = \Router::url('Connect', 'reset_password', ['user_id' => $user['id'], 'token' => $token]);
|
||||
$reset_link = \descartes\Router::url('Connect', 'reset_password', ['user_id' => $user['id'], 'token' => $token]);
|
||||
|
||||
\controllers\internals\Tool::send_email($email, EMAIL_RESET_PASSWORD, ['reset_link' => $reset_link]);
|
||||
|
||||
|
@ -103,34 +100,32 @@
|
|||
* @param string $token : Le token permetttant de vérifier que l'opération est légitime
|
||||
* @param optionnal $_POST['password'] : Le nouveau password à utiliser
|
||||
*/
|
||||
public function reset_password ($user_id, $token)
|
||||
public function reset_password($user_id, $token)
|
||||
{
|
||||
$password = $_POST['password'] ?? false;
|
||||
|
||||
$Tokenista = new \Ingenerator\Tokenista(APP_SECRET);
|
||||
|
||||
if (!$Tokenista->isValid($token, ['user_id' => $user_id]))
|
||||
{
|
||||
if (!$Tokenista->isValid($token, ['user_id' => $user_id])) {
|
||||
return $this->render('connect/reset-password-invalid');
|
||||
}
|
||||
|
||||
if (!$password)
|
||||
{
|
||||
if (!$password) {
|
||||
return $this->render('connect/reset-password');
|
||||
}
|
||||
|
||||
$this->internal_user->update_password($user_id, $password);
|
||||
return $this->render('connect/reset-password-done');
|
||||
}
|
||||
|
||||
/**
|
||||
* Cette fonction déconnecte un utilisateur et le renvoie sur la page d'accueil
|
||||
* @return void
|
||||
*/
|
||||
public function logout()
|
||||
{
|
||||
session_unset();
|
||||
session_destroy();
|
||||
header('Location: ' . \Router::url('Connect', 'login'));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Cette fonction déconnecte un utilisateur et le renvoie sur la page d'accueil
|
||||
* @return void
|
||||
*/
|
||||
public function logout()
|
||||
{
|
||||
session_unset();
|
||||
session_destroy();
|
||||
header('Location: ' . \descartes\Router::url('Connect', 'login'));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue