diff options
author | polo <ordipolo@gmx.fr> | 2025-08-11 06:25:39 +0200 |
---|---|---|
committer | polo <ordipolo@gmx.fr> | 2025-08-11 06:25:39 +0200 |
commit | d7468fc363b5d028db84373d4abfa6d7d19bacb9 (patch) | |
tree | 0235e6c7520bb16b939f3e753ccd45c94bfaef28 /src/view/LoginBuilder.php | |
parent | 90673ef19133e037cf401773f4262ba3d7d050bf (diff) | |
download | cms-d7468fc363b5d028db84373d4abfa6d7d19bacb9.zip |
nouveau routeur! et contrôleurs et vues pour la connexion et la gestion du compte, début d'utilisation de Request et Responsemain
Diffstat (limited to 'src/view/LoginBuilder.php')
-rw-r--r-- | src/view/LoginBuilder.php | 41 |
1 files changed, 38 insertions, 3 deletions
diff --git a/src/view/LoginBuilder.php b/src/view/LoginBuilder.php index 532f054..567c93d 100644 --- a/src/view/LoginBuilder.php +++ b/src/view/LoginBuilder.php | |||
@@ -9,9 +9,44 @@ class LoginBuilder extends AbstractBuilder | |||
9 | { | 9 | { |
10 | public function __construct(Node $node) | 10 | public function __construct(Node $node) |
11 | { | 11 | { |
12 | global $entityManager; | 12 | // déjà connecté? |
13 | if($_SESSION['admin']) | ||
14 | { | ||
15 | header('Location: ' . new URL); | ||
16 | die; | ||
17 | } | ||
13 | 18 | ||
14 | // une classe Password ce serait pas mal!! | 19 | $viewFile = self::VIEWS_PATH . $node->getName() . '.php'; |
15 | connect($this, $entityManager); | 20 | |
21 | $captcha = new Captcha; | ||
22 | $_SESSION['captcha'] = $captcha->getSolution(); // enregistrement de la réponse du captcha pour vérification | ||
23 | |||
24 | //$this->html .= $header; | ||
25 | |||
26 | $error_messages = [ | ||
27 | 'error_non_valid_captcha' => 'Erreur au test anti-robot, veuillez saisir un nombre entier.', | ||
28 | 'captcha_server_error' => 'captcha_server_error', | ||
29 | 'bad_solution_captcha' => 'Erreur au test anti-robot, veuillez réessayer.', | ||
30 | 'bad_login_or_password' => 'Mauvais identifiant ou mot de passe, veuillez réessayer.', // ne pas indiquer où est l'erreur | ||
31 | 'forbidden_characters' => 'Caractères interdits: espaces, tabulations, sauts CR/LF.' | ||
32 | ]; | ||
33 | |||
34 | $link_form = new URL(['action' => 'connection']); | ||
35 | isset($_GET['from']) ? $link_form->addParams(['from' => $_GET['from']]) : ''; | ||
36 | isset($_GET['id']) ? $link_form->addParams(['id' => $_GET['id']]) : ''; | ||
37 | |||
38 | $link_exit = new URL; | ||
39 | isset($_GET['from']) ? $link_exit->addParams(['page' => $_GET['from'] ]) : ''; | ||
40 | isset($_GET['id']) ? $link_exit->addParams(['id' => $_GET['id']]) : ''; | ||
41 | |||
42 | $error = isset($_GET['error']) ? $error_messages[$_GET['error']] : ''; | ||
43 | |||
44 | ob_start(); | ||
45 | require $viewFile; | ||
46 | $this->html = ob_get_clean(); // nouveau contenu | ||
47 | |||
48 | //$this->html .= <p class='connexionP' style='color: red;'>Ce site utilise un cookie « obligatoire » lorsque vous êtes connecté ainsi que sur cette page.<br>Il sera supprimé à votre déconnexion ou dès que vous aurez quitté le site.</p>; | ||
49 | |||
50 | //$this->html .= $footer; | ||
16 | } | 51 | } |
17 | } | 52 | } |