/** * Login functionality. * * @param string $login Username from login form. * @param string $password Password from login form. * * @return mixed User object on success or integer result code if some problems occurred. */ public static function login($login, $password) { $selector = new DBSelector(new User()); $user = $selector->selectDBObjectByField('email', $login); if (Tools::isInstanceOf($user, new User())) { if ($user->isActivated()) { if ($user->password == self::passwordEncode($password)) { $user->updateLoginTime(); return $user; } return self::LOGIN_INVALID_PASSWORD; } return self::LOGIN_NOT_ACTIVATED; } return self::LOGIN_INVALID_USERNAME; }