/** * Some additional actions after profile creation * * @param User $user * @param string $action * @param string $redirectByActionName Action to redirect * @param bool $login Login after creation * @param string $status * @return void */ public function finalCreate($user, $action, $redirectByActionName, $login = true, $status = '') { $this->loginPreflight($user, $login); $variables = ['user' => $user, 'settings' => $this->settings]; // send notify email to admin if ($this->settings['new']['notifyAdmin']) { $this->sendMailService->send('createNotify', StringUtility::makeEmailArray($this->settings['new']['notifyAdmin'], $this->settings['new']['email']['createAdminNotify']['receiver']['name']['value']), StringUtility::makeEmailArray($user->getEmail(), $user->getUsername()), 'Profile creation', $variables, $this->config['new.']['email.']['createAdminNotify.']); } $this->signalSlotDispatcher->dispatch(__CLASS__, __FUNCTION__ . 'AfterPersist', [$user, $action, $this]); $this->finisherRunner->callFinishers($user, $this->actionMethodName, $this->settings, $this->contentObject); $this->redirectByAction($action, $status ? $status . 'Redirect' : 'redirect'); $this->redirect($redirectByActionName); }
/** * action delete * * @param int $user User UID * @param string $hash * @return void */ public function deleteAction($user, $hash = null) { $user = $this->userRepository->findByUid($user); if (HashUtility::validHash($hash, $user)) { LogUtility::log(Log::STATUS_PROFILEDELETE, $user); $this->addFlashMessage(LocalizationUtility::translateByState(Log::STATUS_INVITATIONPROFILEDELETEDUSER)); // send notify email to admin if ($this->settings['invitation']['notifyAdminStep1']) { $this->sendMailService->send('invitationRefused', StringUtility::makeEmailArray($this->settings['invitation']['notifyAdminStep1'], $this->settings['invitation']['email']['invitationRefused']['receiver']['name']['value']), StringUtility::makeEmailArray($user->getEmail(), $user->getUsername()), 'Profile deleted from User after invitation - Step 1', ['user' => $user, 'settings' => $this->settings], $this->config['invitation.']['email.']['invitationRefused.']); } $this->userRepository->remove($user); $this->redirectByAction('invitation', 'redirectDelete'); $this->redirect('status'); } else { $this->addFlashMessage(LocalizationUtility::translateByState(Log::STATUS_INVITATIONHASHERROR), '', FlashMessage::ERROR); $this->redirect('status'); } }
/** * Status action: Admin refused profile creation (normal or silent) * * @param User $user * @param $hash * @param $status * @return bool allow further functions * @throws IllegalObjectTypeException */ protected function statusAdminConfirmationRefused(User $user, $hash, $status) { if (HashUtility::validHash($hash, $user)) { LogUtility::log(Log::STATUS_REGISTRATIONREFUSEDADMIN, $user); $this->addFlashMessage(LocalizationUtility::translate('createProfileDeleted')); if ($status !== 'adminConfirmationRefusedSilent') { $this->sendMailService->send('CreateUserNotifyRefused', StringUtility::makeEmailArray($user->getEmail(), $user->getFirstName() . ' ' . $user->getLastName()), ['*****@*****.**' => 'Sender Name'], 'Your profile was refused', ['user' => $user], $this->config['new.']['email.']['createUserNotifyRefused.']); } $this->userRepository->remove($user); } else { $this->addFlashMessage(LocalizationUtility::translate('createFailedProfile'), '', FlashMessage::ERROR); return false; } return true; }
/** * Status update refused * * @param User $user * @return void */ protected function statusRefuse(User $user) { $this->sendMailService->send('updateRequestRefused', StringUtility::makeEmailArray($user->getEmail(), $user->getFirstName() . ' ' . $user->getLastName()), ['*****@*****.**' => 'Sender Name'], 'Your change request was refused', ['user' => $user, 'settings' => $this->settings], $this->config['edit.']['email.']['updateRequestRefused.']); LogUtility::log(Log::STATUS_PROFILEUPDATEREFUSEDADMIN, $user); $this->addFlashMessage(LocalizationUtility::translateByState(Log::STATUS_PROFILEUPDATEREFUSEDADMIN)); }
/** * emakeEmailArray Test * * @param string $haystack * @param array $expectedResult * @dataProvider emakeEmailArrayReturnsArrayDataProvider * @return void * @test */ public function emakeEmailArrayReturnsArray($haystack, $expectedResult) { $this->assertSame($expectedResult, StringUtility::makeEmailArray($haystack)); }
/** * Send email to user for confirmation * * @param \Gigabonus\Gbfemanager\Domain\Model\User $user * @return void * @throws UnsupportedRequestTypeException */ protected function createUserConfirmationRequest(\Gigabonus\Gbfemanager\Domain\Model\User $user) { $this->sendMailService->send('createUserConfirmation', StringUtility::makeEmailArray($user->getEmail(), $user->getUsername()), [$this->settings['new']['email']['createUserConfirmation']['sender']['email']['value'] => $this->settings['settings']['new']['email']['createUserConfirmation']['sender']['name']['value']], 'Confirm your profile creation request', ['user' => $user, 'hash' => HashUtility::createHashForUser($user), 'registrationPageId' => 4], $this->config['new.']['email.']['createUserConfirmation.']); }