ソースを参照

Update login() method

Visman 2 年 前
コミット
f61f1d246a
2 ファイル変更7 行追加10 行削除
  1. 6 9
      app/Models/Pages/Auth.php
  2. 1 1
      app/Models/Pages/RegLog.php

+ 6 - 9
app/Models/Pages/Auth.php

@@ -56,7 +56,7 @@ class Auth extends Page
     /**
      * Вход на форум
      */
-    public function login(array $args, string $method, string $username = ''): Page
+    public function login(array $args, string $method, string $username = '', User $user = null): Page
     {
         $this->c->Lang->load('validator');
         $this->c->Lang->load('auth');
@@ -65,19 +65,16 @@ class Auth extends Page
 
         if ('POST' === $method) {
             // вход без html формы
-            if (
-                isset($args['user'])
-                && $args['user'] instanceof User
-            ) {
-                $this->userAfterLogin = $args['user'];
+            if (null !== $user) {
+                $this->userAfterLogin = $user;
                 $this->loginWithForm  = false;
 
                 $_POST = [
                     'token'    => $this->c->Csrf->create('Login'),
                     'redirect' => $this->c->Csrf->create('Index'),
-                    'username' => $this->userAfterLogin->username,
-                    'password' => $this->userAfterLogin->password,
-                    'save'     => '1',
+                    'username' => $user->username,
+                    'password' => $user->password,
+                    'save'     => null,
                     'login'    => 'Login User model',
                 ];
             }

+ 1 - 1
app/Models/Pages/RegLog.php

@@ -167,7 +167,7 @@ class RegLog extends Page
             }
 
             // вход
-            return $this->c->Auth->login(['user' => $user], 'POST');
+            return $this->c->Auth->login([], 'POST', '', $user);
 
         // пользователь
         } else {