App\Controllers\Admin\AuthController::doLogin PHP Method

doLogin() public method

public doLogin ( $req, $res )
    public function doLogin($req, $res)
    {
        $allPostPutVars = $req->getParsedBody();
        $auth_type = $this->containerSlim->get('systemOptions')->getValue('email_or_login') or 'email';
        $errors = false;
        if (!$allPostPutVars['password']) {
            $errors = true;
            $this->flash->addMessage('errors', 'The password attribute is required. ');
        }
        if (!$allPostPutVars[$auth_type]) {
            $this->flash->addMessage('errors', 'The login attribute is required. ');
            $errors = true;
        }
        $user = Users::where($auth_type, $allPostPutVars[$auth_type])->get();
        if (!isset($user[0])) {
            $this->flash->addMessage('errors', 'User no find in db.');
            $errors = true;
        } elseif (!$user[0]->active) {
            $this->flash->addMessage('errors', 'User is no active. Please contact administrator system.');
            $errors = true;
        } elseif (!$user[0]->verifyPassword($allPostPutVars['password'])) {
            $this->flash->addMessage('errors', 'User no find in system.');
            $errors = true;
        }
        if ($errors) {
            return $res->withStatus(302)->withHeader('Location', $this->router->pathFor('login'));
        }
        Session::put('auth', true);
        Session::put('user', $user[0]->toArray());
        return $res->withStatus(301)->withHeader('Location', '/admin/dashboard');
    }