/** * @param UI\Form $form * @throws \Aprila\Model\DuplicateEntryException */ public function userFormSucceeded(UI\Form $form) { try { $values = $form->getValues(); // if we not use images if (!isset($values->avatar)) { $values['avatar'] = NULL; } if (isset($values->id) && $values->id > 0) { // edit $this->userManager->editUser($values->id, $values->email, $values->username, $values->password, $values->role, $values->name, $values->avatar); $this->flashMessage('User was updated'); $this->redirect('edit', $values->id); } else { // add $person = $this->userManager->addUser($values->email, $values->username, $values->password, $values->role, $values->name, $values->avatar); $this->flashMessage('User was added'); // $form->setValues(array(), TRUE); $this->redirect('edit', $person->id); } } catch (\Aprila\DuplicateEntryException $e) { $form->addError('Duplicate username or email.'); // $form['username']->addError('Duplicate username.'); // $form['username']->setValue($values->username . '2'); } }
/** * @param UI\Form $form */ public function changeEmailStepTwoFormSucceeded(UI\Form $form) { $values = $form->getValues(); $newEmail = $this->userManager->changeEmailStepTwo($this->user->id, $values->code_one, $values->code_two); if ($newEmail) { // change identity email $this->user->identity->email = $newEmail; $this->flashMessage("Your email was changed"); } else { $this->flashMessage("Ups... Something's wrong", 'error'); } }
/** * @param UI\Form $form */ public function recoveryStepTwoFormSucceeded(UI\Form $form) { $values = $form->getValues(); $user = $this->users->getBy(array('email' => $values->email)); $verifed = $this->users->verifyToken($values->token, $user->id); if ($verifed) { $newPassword = Strings::random(22); $this->users->setUserPassword($newPassword, $user->id); $this->getUser()->login($user->username, $newPassword); $this->flashMessage('Set your new password.'); $session = $this->session->getSection('forgotPassword'); $session->password = $newPassword; $this->redirect('UserSettings:password'); } else { $this->flashMessage('Problem with security code. Try again.', 'error'); } }