示例#1
0
 /**
  * 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');
     }
 }
示例#2
0
 /**
  * Prefix method to updateAction(): Update must be confirmed by Admin
  *
  * @param User $user
  * @return void
  */
 public function updateRequest($user)
 {
     $dirtyProperties = UserUtility::getDirtyPropertiesFromUser($user);
     $user = UserUtility::rollbackUserWithChangeRequest($user, $dirtyProperties);
     $this->sendMailService->send('updateRequest', [$this->settings['edit']['confirmByAdmin'] => $this->settings['edit']['email']['updateRequest']['sender']['name']['value']], StringUtility::makeEmailArray($user->getEmail(), $user->getUsername()), 'New Profile change request', ['user' => $user, 'changes' => $dirtyProperties, 'hash' => HashUtility::createHashForUser($user)], $this->config['edit.']['email.']['updateRequest.']);
     LogUtility::log(Log::STATUS_PROFILEUPDATEREFUSEDADMIN, $user, ['dirtyProperties' => $dirtyProperties]);
     $this->redirectByAction('edit', 'requestRedirect');
     $this->addFlashMessage(LocalizationUtility::translate('updateRequest'));
 }
示例#3
0
 /**
  * Update if hash is ok
  *
  * @param User $user User object
  * @param string $hash
  * @param string $status could be "confirm", "refuse", "silentRefuse"
  * @return void
  */
 public function confirmUpdateRequestAction(User $user, $hash, $status = 'confirm')
 {
     $this->view->assign('user', $user);
     if (!HashUtility::validHash($hash, $user) || !$user->getTxFemanagerChangerequest()) {
         $this->addFlashMessage(LocalizationUtility::translate('updateFailedProfile'), '', FlashMessage::ERROR);
         return;
     }
     switch ($status) {
         case 'confirm':
             $this->statusConfirm($user);
             break;
         case 'refuse':
             $this->statusRefuse($user);
             break;
         case 'silentRefuse':
             LogUtility::log(Log::STATUS_PROFILEUPDATEREFUSEDADMIN, $user);
             $this->addFlashMessage(LocalizationUtility::translateByState(Log::STATUS_PROFILEUPDATEREFUSEDADMIN));
             break;
         default:
     }
     $user->setTxFemanagerChangerequest('');
     $this->userRepository->update($user);
     $this->signalSlotDispatcher->dispatch(__CLASS__, __FUNCTION__ . 'AfterPersist', [$user, $hash, $status, $this]);
 }
示例#4
0
 /**
  * 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;
 }
 /**
  * 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.']);
 }