/** * Prefix method to createAction(): Create must be confirmed by Admin * * @param \In2\Femanager\Domain\Model\User $user * @return void */ public function createRequest(User $user) { // persist $user->setDisable(TRUE); $this->userRepository->add($user); $this->persistenceManager->persistAll(); $this->div->log(LocalizationUtility::translate('tx_femanager_domain_model_log.state.106', 'femanager'), 106, $user); if (!empty($this->settings['new']['confirmByUser'])) { // send email to user for confirmation $this->div->sendEmail('createUserConfirmation', Div::makeEmailArray($user->getEmail(), $user->getUsername()), array($this->settings['new']['email']['createUserConfirmation']['sender']['email']['value'] => $this->settings['settings']['new']['email']['createUserConfirmation']['sender']['name']['value']), 'Confirm your profile creation request', array('user' => $user, 'hash' => Div::createHash($user->getUsername())), $this->config['new.']['email.']['createUserConfirmation.']); // redirect by TypoScript $this->redirectByAction('new', 'requestRedirect'); // add flashmessage $this->flashMessageContainer->add(LocalizationUtility::translate('createRequestWaitingForUserConfirm', 'femanager')); // redirect $this->redirect('new'); } if (!empty($this->settings['new']['confirmByAdmin'])) { $this->flashMessageContainer->add(LocalizationUtility::translate('createRequestWaitingForAdminConfirm', 'femanager')); // send email to admin $this->div->sendEmail('createAdminConfirmation', Div::makeEmailArray($this->settings['new']['confirmByAdmin'], $this->settings['new']['email']['createAdminConfirmation']['receiver']['name']['value']), Div::makeEmailArray($user->getEmail(), $user->getUsername()), 'New Registration request', array('user' => $user, 'hash' => Div::createHash($user->getUsername() . $user->getUid())), $this->config['new.']['email.']['createAdminConfirmation.']); $this->redirect('new'); } }