public function sendProcessForgotRequest($userId, $email) { //Invalidate all prior request for a new password $this->cleanPriorForgotRequests($userId); $class = $this->options->getPasswordEntityClass(); /** @var \GoalioForgotPassword\Entity\Password $model */ $model = new $class(); $model->setUserId($userId); $model->setRequestTime(new \DateTime('now')); $model->generateRequestKey(); $this->getEventManager()->trigger(__FUNCTION__, $this, array('record' => $model, 'userId' => $userId)); $this->passwordMapper->persist($model); $this->sendForgotEmailMessage($email, $model); }