public function doLogin() { /// if there is re-captcha enabled, validate it and remove failed_login records if any if (($cc = $this->getParam('recaptcha_challenge_field')) && ($rr = $this->getParam('recaptcha_response_field')) && Am_Recaptcha::isConfigured() && $this->getDi()->recaptcha->validate($cc, $rr)) { $this->getAuth()->getProtector()->deleteRecord($this->getRequest()->getClientIp()); } $result = parent::doLogin(); if ($result->getCode() == Am_Auth_Result::USER_NOT_FOUND) { $event = new Am_Event_AuthTryLogin($this->getLogin(), $this->getPass()); $this->getDi()->hook->call($event); if ($event->isCreated()) { // user created, try again! $result = parent::doLogin(); } } return $result; }