/** * * @param Nette\Application\UI\Form $form */ public function signupFormSubmitted(Form $form) { $formValues = $form->getValues(); $userUsernameRow = $this->userFacade->getByUsername($formValues->username); $userEmailRow = $this->userFacade->getByEmail($formValues->email); if ($userUsernameRow !== false || $userEmailRow !== false) { if ($userUsernameRow !== false) { $form['username']->addError('This username is already taken. Please use different one.'); } if ($userEmailRow !== false) { $form['email']->addError('This email is already taken. Please use different one.'); } } else { $hashedPassword = \Screwfix\Authenticator::calculateHash($formValues->password); $userArr = array('username' => $formValues->username, 'role' => 'member', 'email' => $formValues->email, 'password' => $hashedPassword); try { $this->userFacade->save($userArr); $user = $this->getUser(); if ($formValues->remember) { $user->setExpiration('+14 days', FALSE); } $user->login($formValues->username, $formValues->password); $pattern = $this->adjustPattern($formValues->patternInput['pattern'], $formValues->patternInput['firstDay']); $patternFilter = $this->shiftPatternFilterFactory->create($pattern); $this->patternFacade->save($user->getId(), $patternFilter); } catch (\Exception $ex) { $form->addError('Sorry, something went wrong. Please try again.'); } $this->redirect('Home:default'); } }
public function passwordFormSubmitted(Form $form) { $formValues = $form->getValues(); $hashedPassword = \Screwfix\Authenticator::calculateHash($formValues->password, $this->identity->password); if ($hashedPassword !== $this->identity->password) { $form['password']->addError('Your password was incorrect.'); } else { try { $hashedNewPassword = \Screwfix\Authenticator::calculateHash($formValues->newPassword); $this->userFacade->update($this->identity->id, array('password' => $hashedNewPassword)); } catch (Exception $ex) { $form->addError('Sorry, something went wrong. Please try again.'); } } }