/** * Handle Post for Plugin * * @param ResetPasswordForm $form * @param $instanceConfig * * @return null|string */ protected function handlePost(ResetPasswordForm $form, $instanceConfig) { $resetPw = new ResetPassword(); $form->setInputFilter($resetPw->getInputFilter()); $form->setData($this->getRequest()->getPost()); if (!$form->isValid()) { return; } $formData = $form->getData(); $userId = $formData['userId']; $user = $this->rcmUserManager->buildNewUser(); $user->setUsername($userId); $result = $this->rcmUserManager->readUser($user); if (!$result->isSuccess()) { return; } $user = $result->getUser(); if (!$user->getEmail()) { return; } $resetPw->setUserId($user->getId()); $this->entityMgr->persist($resetPw); $this->entityMgr->flush(); $this->mailer->sendRestPasswordEmail($resetPw, $user, $instanceConfig['prospectEmail']); return; }
protected function handlePost(CreateNewPasswordForm $form, $instanceConfig, $userId) { $form->setInputFilter(new CreateNewPasswordInputFilter()); $form->setData($this->getRequest()->getPost()); if ($form->isValid()) { $formData = $form->getData(); $newPasswordOne = $formData['password']; $newPasswordTwo = $formData['passwordTwo']; if ($newPasswordOne != $newPasswordTwo) { return $instanceConfig['translate']['passwordsDoNotMatch']; } $user = $this->rcmUserService->buildNewUser(); $user->setUsername($userId); try { $result = $this->rcmUserService->readUser($user); } catch (DistributorNotFoundException $e) { return $instanceConfig['translate']['systemError']; } if (!$result->isSuccess()) { return $instanceConfig['translate']['invalidLink']; } $user = $result->getUser(); $user->setPassword($newPasswordTwo); $result = $this->rcmUserService->updateUser($user); if (!$result->isSuccess()) { throw new \Exception($result->getMessagesString()); } } return null; }
/** * getUser * * @return null|\RcmUser\User\Entity\User */ protected function getUser() { $username = trim(filter_var($this->getRequest()->getPost('username'), FILTER_SANITIZE_STRING)); $password = filter_var($this->getRequest()->getPost('password'), FILTER_SANITIZE_STRING); if (empty($username) || empty($password)) { return null; } $user = $this->rcmUserService->buildNewUser(); $user->setUsername($username); $user->setPassword($password); return $user; }