/**
  * 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/');
 }
Example #2
0
 /**
  * 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');
 }