public function isValid(array $values) { $isValid = parent::isValid($values); if (!$isValid) { return false; } $users = new Users(); if ($users->fetch('email', $values['email'])) { $this->setError('email', 'Email is already in use'); return false; } if ($users->fetch('username', $values['username'])) { $this->setError('username', 'Username already exists'); return false; } if (!$this->isMatch()) { $this->setError('confirm', 'Passwords do not match'); return false; } return true; }
public function isValid(array $values) { $isValid = parent::isValid($values); if (!$isValid) { return false; } $users = new Users(); $user = $users->fetch('email', $values['email']); if (!$user) { $this->setError('email', 'User does not exist'); return false; } return true; }
public function handle(Request $request, Response $response, array $config) { $auth = Auth::getInstance(); if ($auth->hasIdentity()) { $this->redirect(UserSettings::create()->getAfterLoginPage($auth->getUserId()), $request, $response); return; } if ($request->isPost()) { $post = $request->getPost(); $form = new \Access\Forms\Login('loginform', __DIR__ . '/../View/Login.php'); if ($form->isValid($post)) { $users = new Users(); $username = $form->getValue('username'); $user = $users->fetch('username', $username); if (!$user) { $form->setError('username', 'Invalid login'); } else { if ((int) $user['is_active'] === 0) { $form->setError('username', 'User account has not been activated'); } else { if ((int) $user['is_locked'] === 1) { $form->setError('username', 'This user account has been locked'); } else { $user = $auth->authenticate($username, $form->getValue('password')); if ($auth->hasIdentity()) { $this->redirect(UserSettings::create()->getAfterLoginPage($auth->getUserId()), $request, $response); return; } else { $form->setError('username', 'Login is not successful. Please try again.'); } } } } } $response->setBody($form->getHTML($form->getValues(), $form->getErrors())); return; } $view = new View(__DIR__ . '/../View'); $response->setBody($view->render('login')); }
/** * Set allowed resources for the user. * * @return void */ protected function setAllowedResources() { $auth = Auth::getInstance(); if ($auth->hasIdentity()) { $users = new Users(); $user = $users->fetch('id', $auth->getUserId()); if ($user !== false) { $perms = new Permissions(); $this->resources = $perms->getAllowedResources($user['id']); } $this->user = $user; } $this->isEstablished = true; }