/** * action update * * @param \Gigabonus\Gbfemanager\Domain\Model\User $user * @param string $forgothash * @validate $user In2code\Femanager\Domain\Validator\ServersideValidator * @validate $user In2code\Femanager\Domain\Validator\PasswordValidator * @return void */ public function saveAction(\Gigabonus\Gbfemanager\Domain\Model\User $user, $forgothash = null) { $compareHash = $this->getCompareHash($forgothash); if ($compareHash === NULL) { exit; } if ($compareHash[0] < time()) { /** * @todo: change_password_notvalid_message */ $this->view->assign('changePasswordNotvalid', TRUE); } else { UserUtility::convertPassword($user, $this->settings['edit']['misc']['passwordSave']); // Save new password and clear DB-hash $GLOBALS['TYPO3_DB']->exec_UPDATEquery('fe_users', 'felogin_forgothash="' . $compareHash[0] . '|' . md5($compareHash[1]) . '"', array('password' => $user->getPassword(), 'felogin_forgotHash' => '', 'tstamp' => $GLOBALS['EXEC_TIME'])); $count = $GLOBALS['TYPO3_DB']->sql_affected_rows(); // $this->userRepository->update($user); // $this->persistenceManager->persistAll(); if ($count > 0) { $this->addFlashMessage('Password changed'); } } // $this->redirectToUri('/ru/my-account/login/'); }
/** * action update * * @param User $user * @validate $user In2code\Femanager\Domain\Validator\ServersideValidator * @validate $user In2code\Femanager\Domain\Validator\PasswordValidator * @validate $user In2code\Femanager\Domain\Validator\CaptchaValidator * @return void */ public function updateAction(User $user) { $this->redirectIfDirtyObject($user); $user = FrontendUtility::forceValues($user, $this->config['edit.']['forceValues.']['beforeAnyConfirmation.']); $this->emailForUsername($user); UserUtility::convertPassword($user, $this->settings['edit']['misc']['passwordSave']); $this->signalSlotDispatcher->dispatch(__CLASS__, __FUNCTION__ . 'BeforePersist', [$user, $this]); if (!empty($this->settings['edit']['confirmByAdmin'])) { $this->updateRequest($user); } else { $this->updateAllConfirmed($user); } $this->redirect('edit'); }