Exemplo n.º 1
0
 public static function post()
 {
     if (isset($_POST['save'])) {
         $page = new Page();
         $page->data['title'] = 'Gebruiker hernieuwen';
         //Validate input
         $formTopViewErrMsgs = UserDataFormTopViewValidator::validate($_POST);
         $formMiddleViewErrMsgs = UserDataFormMiddleViewValidator::validate($_POST);
         //No error means we create a user and password salt
         if (empty($formTopViewErrMsgs) && empty($formMiddleViewErrMsgs)) {
             $newUser = new User();
             $newUser->userId = $_SESSION['Stippers']['RenewUser']['user']->userId;
             $newUser->email = $_POST['email'];
             $newUser->passwordHash = $_SESSION['Stippers']['RenewUser']['user']->passwordHash;
             $newUser->firstName = ucwords($_POST['first_name']);
             $newUser->lastName = ucwords($_POST['last_name']);
             $newUser->street = ucwords($_POST['street']);
             $newUser->houseNumber = $_POST['house_number'];
             $newUser->city = ucwords($_POST['city']);
             $newUser->postalCode = $_POST['postal_code'];
             $newUser->country = ucwords($_POST['country']);
             $newUser->phone = $_POST['phone'];
             $newUser->dateOfBirth = $_POST['date_of_birth'];
             $newUser->balance = $_SESSION['Stippers']['RenewUser']['user']->balance;
             $newUser->isAdmin = $_SESSION['Stippers']['RenewUser']['user']->isAdmin;
             $newUser->isHintManager = $_SESSION['Stippers']['RenewUser']['user']->isHintManager;
             $newUser->isUserManager = $_SESSION['Stippers']['RenewUser']['user']->isUserManager;
             $newUser->isBrowserManager = $_SESSION['Stippers']['RenewUser']['user']->isBrowserManager;
             $newUser->isMoneyManager = $_SESSION['Stippers']['RenewUser']['user']->isMoneyManager;
             $newUser->creationTime = $_SESSION['Stippers']['RenewUser']['user']->creationTime;
             //Renew the user
             try {
                 UserDB::renewMembership($_SESSION['Stippers']['RenewUser']['user'], $newUser, $_POST['card_number']);
                 $page->addView('addRenewUser/renewUser/SuccessfullyRenewedView');
                 //Send welcome mail
                 try {
                     $failedEmails = Email::sendEmails('WelcomeOldMember.html', 'JH DE Stip - Welkom', EmailConfig::FROM_ADDRESS, [$newUser], null);
                     //If failedEmails is not empty the mail was not sent
                     if (!empty($failedEmails)) {
                         $page->data['ErrorMessageNoDescriptionNoLinkView']['errorTitle'] = 'Kan welkomstmail niet verzenden.';
                         $page->addView('error/ErrorMessageNoDescriptionNoLinkView');
                     }
                 } catch (Exception $ex) {
                     $page->data['ErrorMessageNoDescriptionNoLinkView']['errorTitle'] = 'Kan welkomstmail niet verzenden.';
                     $page->addView('error/ErrorMessageNoDescriptionNoLinkView');
                 }
                 //Add money to user's card
                 try {
                     $executingBrowserName = BrowserDB::getBrowserById($_SESSION['Stippers']['browser']->browserId)->name;
                     $trans = new MoneyTransaction(null, $newUser->userId, $newUser->balance, AddOrRenewUserConfig::NEW_OR_RENEWED_USER_BONUS, 0, 0, true, null, $executingBrowserName, null);
                     MoneyTransactionDB::addTransaction($newUser, $trans);
                 } catch (Exception $ex) {
                     if (isset($page->data['ErrorMessageNoDescriptionNoLinkView']['errorTitle'])) {
                         $page->data['ErrorMessageNoDescriptionNoLinkView']['errorTitle'] .= ' Kan het saldo van het account niet verhogen, probeer dit handmatig te doen.';
                     } else {
                         $page->data['ErrorMessageNoDescriptionNoLinkView']['errorTitle'] = 'Kan het saldo van het account niet verhogen, probeer dit handmatig te doen.';
                     }
                     $page->addView('error/ErrorMessageNoDescriptionNoLinkView');
                 }
             } catch (UserDBException $ex) {
                 if ($ex->getCode() == UserDBException::USERALREADYMEMBER) {
                     $page->addView('addRenewUser/renewUser/UserAlreadyMemberView');
                 } elseif ($ex->getCode() == UserDBException::USEROUTOFDATE) {
                     $page->data['ErrorMessageWithDescriptionWithLinkView']['errorTitle'] = 'Gebruiker niet hernieuwd';
                     $page->data['ErrorMessageWithDescriptionWithLinkView']['errorDescription'] = 'Iemand anders heeft de gebruiker in tussentijd al gewijzigd.';
                     $page->data['ErrorMessageWithDescriptionWithLinkView']['tryAgainUrl'] = $_SERVER['REQUEST_URI'];
                     $page->addView('error/ErrorMessageWithDescriptionWithLinkView');
                 } else {
                     RenewUserController::buildRenewUserPage($page, true);
                     if ($ex->getCode() == UserDBException::EMAILALREADYEXISTS) {
                         $page->data['UserDataFormTopView']['errMsgs']['global'] = '<h2 class="error_message" id="user_data_form_error_message">Dit e-mailadres is al in gebruik.</h2>';
                     } elseif ($ex->getCode() == UserDBException::CARDALREADYUSED) {
                         $page->data['UserDataFormTopView']['errMsgs']['global'] = '<h2 class="error_message" id="user_data_form_error_message">Dit kaartnummer is al in gebruik.</h2>';
                     } else {
                         $page->data['UserDataFormTopView']['errMsgs']['global'] = '<h2 class="error_message" id="user_data_form_error_message">Kan gebruiker niet hernieuwen, probeer het opnieuw.</h2>';
                     }
                 }
             } catch (Exception $ex) {
                 RenewUserController::buildRenewUserPage($page, true);
                 $page->data['UserDataFormTopView']['errMsgs']['global'] = '<h2 class="error_message" id="user_data_form_error_message">Kan gebruiker niet hernieuwen, probeer het opnieuw.</h2>';
             }
         } else {
             RenewUserController::buildRenewUserPage($page, true);
             $page->data['UserDataFormTopView']['errMsgs'] = array_merge($page->data['UserDataFormTopView']['errMsgs'], $formTopViewErrMsgs);
             $page->data['UserDataFormMiddleView']['errMsgs'] = array_merge($page->data['UserDataFormMiddleView']['errMsgs'], $formMiddleViewErrMsgs);
         }
         $page->showWithMenu();
     } else {
         header('Location: renewusersearch', true, 303);
     }
 }