本文整理汇总了PHP中Email::sendEmails方法的典型用法代码示例。如果您正苦于以下问题:PHP Email::sendEmails方法的具体用法?PHP Email::sendEmails怎么用?PHP Email::sendEmails使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Email
的用法示例。
在下文中一共展示了Email::sendEmails方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: post
public static function post()
{
//If required data is not in session go to search page
if (!isset($_SESSION['Stippers']['ManageUserSearch']['inputData']['values'])) {
header('Location: manageuser', TRUE, 303);
} else {
$page = new Page();
$page->data['title'] = 'E-mail versturen naar gebruikers';
$errMsgs = SendEmailToUsersViewValidator::validate($_POST);
if (empty($errMsgs)) {
try {
//Get search users
$select = ['email' => true, 'firstName' => true, 'lastName' => true];
$users = array_column(UserDB::getSearchUsers($select, $_SESSION['Stippers']['ManageUserSearch']['inputData']['values'], null), 'user');
//Send email
$failedAddresses = Email::sendEmails($_POST['email_file'], $_POST['subject'], EmailConfig::FROM_ADDRESS, $users, null);
//Check if some emails failed
if (empty($failedAddresses)) {
$page->date['SuccessMessageNoDescriptionWithLinkView']['successTitle'] = 'E-mails succesvol verzonden';
$page->date['SuccessMessageNoDescriptionWithLinkView']['redirectUrl'] = 'manageuser';
$page->addView('success/SuccessMessageNoDescriptionWithLinkView');
} else {
$page->data['ErrorMessageWithDescriptionNoLinkView']['errorTitle'] = 'Kan niet alle e-mails verzenden';
$page->data['ErrorMessageWithDescriptionNoLinkView']['errorDescription'] = 'Het verzenden van de e-mail naar onderstaande addressen is mislukt.';
$page->addView('error/ErrorMessageWithDescriptionNoLinkView');
$page->data['FailedEmailListView']['addresses'] = $failedAddresses;
$page->data['FailedEmailListView']['redirectUrl'] = 'manageuser';
$page->addView('sendEmailToUsers/FailedEmailListView');
}
} catch (UserDBException $ex) {
$page->data['ErrorMessageNoDescriptionWithLinkView']['errorTitle'] = 'Kan gebruikers niet ophalen';
$page->data['ErrorMessageNoDescriptionWithLinkView']['tryAgainUrl'] = $_SERVER['REQUEST_URI'];
$page->addView('error/ErrorMessageNoDescriptionWithLinkView');
} catch (EmailException $ex) {
if ($ex->getCode() == EmailException::CANNOTREADEMAILFILE) {
$page->data['ErrorMessageNoDescriptionWithLinkView']['errorTitle'] = 'Kan e-mailbestand niet lezen';
} else {
$page->data['ErrorMessageNoDescriptionWithLinkView']['errorTitle'] = 'Kan e-mails niet verzenden';
}
$page->data['ErrorMessageNoDescriptionWithLinkView']['tryAgainUrl'] = $_SERVER['REQUEST_URI'];
$page->addView('error/ErrorMessageNoDescriptionWithLinkView');
} catch (Exception $ex) {
$page->data['ErrorMessageNoDescriptionWithLinkView']['errorTitle'] = 'Kan e-mails niet verzenden';
$page->data['ErrorMessageNoDescriptionWithLinkView']['tryAgainUrl'] = $_SERVER['REQUEST_URI'];
$page->addView('error/ErrorMessageNoDescriptionWithLinkView');
}
} else {
$page->addView('sendEmailToUsers/SendEmailToUsersTitleView');
SendEmailToUsersController::buildSendEmailToUsersFormView($page, true);
$page->data['SendEmailToUsersFormView']['errMsgs'] = array_merge($page->data['SendEmailToUsersFormView']['errMsgs'], $errMsgs);
}
$page->showWithMenu();
}
}
示例2: post
public static function post()
{
$page = new Page();
$page->data['title'] = 'Wachtwoord resetten';
$errMsgs = ResetPasswordViewValidator::validate($_POST);
if (empty($errMsgs)) {
try {
//Get the user's password salt and calculate password hash
$passwordSalt = UserDB::getPasswordSaltByEmail($_POST['email']);
$newPassword = Random::getPassword();
$newPasswordHash = hash_pbkdf2('sha256', $newPassword, $passwordSalt, SecurityConfig::N_PASSWORD_HASH_ITERATIONS);
//Get user from database and reset password.
$user = UserDB::getBasicUserByEmail($_POST['email']);
UserDB::resetPassword($_POST['email'], $newPasswordHash);
//Show success message
$page->data['ResetSuccessfulView']['redirectUrl'] = 'login';
$page->addView('resetPassword/ResetSuccessfulView');
//Send email with password
$failedEmails = Email::sendEmails('ResetPassword.html', 'JH De Stip - Wachtwoord reset', EmailConfig::FROM_ADDRESS, [$user], array($user->userId => array('newPassword' => $newPassword)));
//If failedEmails is not empty the mail was not sent
if (!empty($failedEmails)) {
$page->data['ErrorMessageNoDescriptionNoLinkView']['errorTitle'] = 'Kan e-mail met nieuwe wachtwoord niet verzenden.';
$page->addView('error/ErrorMessageNoDescriptionNoLinkView');
}
} catch (UserDBException $ex) {
$page->data['ResetPasswordView']['reset_password_formAction'] = $_SERVER['REQUEST_URI'];
$page->data['ResetPasswordView']['email'] = $_POST['email'];
$page->data['ResetPasswordView']['errMsgs'] = ResetPasswordViewValidator::initErrMsgs();
if ($ex->getCode() == UserDBException::NOUSERFOREMAIL) {
$page->data['ResetPasswordView']['errMsgs']['global'] = '<h2 class="error_message" id="reset_password_form_error_message">Er is geen gebruiker met dit e-mailadres.</h2>';
} else {
$page->data['ResetPasswordView']['errMsgs']['global'] = '<h2 class="error_message" id="reset_password_form_error_message">Kan wachtwoord niet resetten, probeer het opnieuw.</h2>';
}
$page->addView('resetPassword/ResetPasswordView');
} catch (EmailException $ex) {
$page->data['ErrorMessageNoDescriptionNoLinkView']['errorTitle'] = 'Kan e-mail met nieuwe wachtwoord niet verzenden.';
$page->addView('error/ErrorMessageNoDescriptionNoLinkView');
} catch (Exception $ex) {
$page->data['ResetPasswordView']['reset_password_formAction'] = $_SERVER['REQUEST_URI'];
$page->data['ResetPasswordView']['email'] = $_POST['email'];
$page->data['ResetPasswordView']['errMsgs']['global'] = '<h2 class="error_message" id="reset_password_form_error_message">Kan wachtwoord niet resetten, probeer het opnieuw.</h2>';
$page->addView('resetPassword/ResetPasswordView');
}
} else {
$page->data['ResetPasswordView']['reset_password_formAction'] = $_SERVER['REQUEST_URI'];
$page->data['ResetPasswordView']['email'] = $_POST['email'];
$page->data['ResetPasswordView']['errMsgs'] = ResetPasswordViewValidator::initErrMsgs();
$page->data['ResetPasswordView']['errMsgs'] = array_merge($page->data['ResetPasswordView']['errMsgs'], $errMsgs);
$page->addView('resetPassword/ResetPasswordView');
}
$page->showWithMenu();
}
示例3: post
public static function post()
{
$page = new Page();
$page->data['title'] = 'Gebruiker toevoegen';
//Validate input
$formTopViewErrMsgs = UserDataFormTopViewValidator::validate($_POST);
$formPasswordViewErrMsgs = UserDataFormPasswordViewValidator::validate($_POST);
$formMiddleViewErrMsgs = UserDataFormMiddleViewValidator::validate($_POST);
//No error means we create a user and password salt
if (empty($formTopViewErrMsgs) && empty($formPasswordViewErrMsgs) && empty($formMiddleViewErrMsgs)) {
$passwordSalt = Random::getGuid();
$user = new User();
$user->email = $_POST['email'];
$user->firstName = ucwords($_POST['first_name']);
$user->lastName = ucwords($_POST['last_name']);
$user->passwordHash = hash_pbkdf2("sha256", $_POST['password'], $passwordSalt, SecurityConfig::N_PASSWORD_HASH_ITERATIONS);
$user->street = ucwords($_POST['street']);
$user->houseNumber = $_POST['house_number'];
$user->city = ucwords($_POST['city']);
$user->postalCode = $_POST['postal_code'];
$user->country = ucwords($_POST['country']);
$user->phone = $_POST['phone'];
$user->dateOfBirth = $_POST['date_of_birth'];
//Add the user
try {
$userId = UserDB::addUser($user, $passwordSalt, $_POST['card_number']);
$page->addView('addRenewUser/addUser/SuccessfullyAddedView');
//Send welcome mail
try {
$failedEmails = Email::sendEmails('WelcomeNewMember.html', 'JH DE Stip - Welkom', EmailConfig::FROM_ADDRESS, [$user], 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 {
$addedUser = UserDB::getFullUserById($userId);
$executingBrowserName = BrowserDB::getBrowserById($_SESSION['Stippers']['browser']->browserId)->name;
$trans = new MoneyTransaction(null, $addedUser->userId, 0, AddOrRenewUserConfig::NEW_OR_RENEWED_USER_BONUS, 0, 0, true, null, $executingBrowserName, null);
MoneyTransactionDB::addTransaction($addedUser, $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) {
AddUserController::buildAddUserPage($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 toevoegen, probeer het opnieuw.</h2>';
}
} catch (Exception $ex) {
AddUserController::buildAddUserPage($page, true);
$page->data['UserDataFormTopView']['errMsgs']['global'] = '<h2 class="error_message" id="user_data_form_error_message">Kan gebruiker niet toevoegen, probeer het opnieuw.</h2>';
}
} else {
AddUserController::buildAddUserPage($page, true);
$page->data['UserDataFormTopView']['errMsgs'] = array_merge($page->data['UserDataFormTopView']['errMsgs'], $formTopViewErrMsgs);
$page->data['UserDataFormPasswordView']['errMsgs'] = array_merge($page->data['UserDataFormPasswordView']['errMsgs'], $formPasswordViewErrMsgs);
$page->data['UserDataFormMiddleView']['errMsgs'] = array_merge($page->data['UserDataFormMiddleView']['errMsgs'], $formMiddleViewErrMsgs);
}
$page->showWithMenu();
}
示例4: post
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);
}
}
示例5: post
public static function post()
{
$page = new Page();
$page->data['title'] = 'Inchecken';
$errMsgs = CheckInFormViewValidator::validate($_POST);
$user = null;
if (empty($errMsgs)) {
$checkInOk = false;
$weeklyWinnerOk = true;
//Get user to check in
try {
//Get the user who's card number for this year was entered
$user = UserDB::getBasicUserByCardNumber($_POST['card_number']);
} catch (Exception $ex) {
//Check-in failed (can't get user)
CheckInController::buildCheckInFormView($page, true);
$page->data['CheckInFormView']['errMsgs']['global'] = '<h2 class="error_message" id="check_in_form_error_message">Kan gebruiker niet inchecken, probeer het opnieuw.</h2>';
$page->showWithMenu();
exit;
}
if (!$user) {
//There's no user for this card
CheckInController::buildCheckInFormView($page, true);
$page->data['CheckInFormView']['errMsgs']['global'] = '<h2 class="error_message" id="check_in_form_error_message">Dit kaartnummer is niet gekoppeld aan een gebruiker.</h2>';
$page->showWithMenu();
exit;
} else {
//Check user in
try {
$checkInOk = CheckInDB::checkIn($user->userId);
} catch (Exception $ex) {
//Check-in failed (something went wrong or check-in isn't valid)
CheckInController::buildCheckInFormView($page, true);
$page->data['CheckInFormView']['errMsgs']['global'] = '<h2 class="error_message" id="check_in_form_error_message">Kan gebruiker niet inchecken, probeer het opnieuw.</h2>';
$page->showWithMenu();
exit;
}
}
if (!$checkInOk) {
//The user has already checked in
CheckInController::buildCheckInFormView($page, true);
$page->data['CheckInFormView']['errMsgs']['global'] = '<h2 class="error_message" id="check_in_form_error_message">Deze gebruiker is de voorbije 12 uur al ingechecked.</h2>';
$page->showWithMenu();
exit;
} else {
//Check in successful, check whether he is the winner of the week
$isWinner = false;
try {
//Check if this user is the winner of the week
$weeklyWinnerData = WeeklyWinnerDB::getThisWeeksWinnerData();
$isWinner = $weeklyWinnerData && $weeklyWinnerData->userId == $user->userId && !$weeklyWinnerData->hasCollectedPrize;
//If he is the winner we set in the database that the user collected his prize
if ($isWinner) {
$newWeeklyWinnerData = new WeeklyWinnerData($weeklyWinnerData->startOfWeek, $weeklyWinnerData->userId, true);
WeeklyWinnerDB::updateWeeklyWinnerData($weeklyWinnerData, $newWeeklyWinnerData);
}
} catch (Exception $ex) {
$weeklyWinnerOk = false;
}
//If he is the winner, add the winner views and try to send an email to all usermanagers
if ($isWinner) {
$page->addView('checkIn/CheckInWeeklyWinnerTitleView');
CheckInController::buildCheckInSuccessfulView($page, $user);
try {
$select = array('email' => true);
$searchFilter = array('isUserManager' => true);
$searchUsers = UserDB::getSearchUsers($select, $searchFilter, null);
$extras['common']['winnerFirstName'] = $user->firstName;
$extras['common']['winnerLastName'] = $user->lastName;
$failedAddresses = Email::sendEmails('WeeklyWinnerNotification.html', 'Winnaar van de week', EmailConfig::FROM_ADDRESS, array_column($searchUsers, 'user'), $extras);
if (!empty($failedAddresses)) {
$page->data['ErrorMessageWithDescriptionNoLinkView']['errorTitle'] = 'Kan e-mail niet versturen.';
$page->data['ErrorMessageWithDescriptionNoLinkView']['description'] = 'Kan geen e-mail versturen naar het bestuur om te laten weten dat je gewonnen hebt. Meld dit even aan een tapper of bestuurslid.';
$page->addView('error/ErrorMessageWithDescriptionNoLinkView');
}
} catch (Exception $ex) {
$page->data['ErrorMessageWithDescriptionNoLinkView']['errorTitle'] = 'Kan e-mail niet versturen.';
$page->data['ErrorMessageWithDescriptionNoLinkView']['errorDescription'] = 'Kan geen e-mail versturen naar het bestuur om te laten weten dat je gewonnen hebt. Meld dit even aan een tapper of bestuurslid.';
$page->addView('error/ErrorMessageWithDescriptionNoLinkView');
}
$page->addView('checkIn/CheckInWeeklyWinnerImageView');
$page->showWithMenu();
} else {
$page->addView('checkIn/CheckInSuccessfulTitleView');
CheckInController::buildCheckInSuccessfulView($page, $user);
if (!$weeklyWinnerOk) {
$page->data['ErrorMessageNoDescriptionNoLinkView']['errorTitle'] = 'Kan niet controleren of je de winnaar van de week bent.';
$page->addView('error/ErrorMessageNoDescriptionNoLinkView');
} else {
$page->addExtraJsFile('views/checkIn/CheckInRedirector.js');
$page->addExtraJsFile('views/checkIn/checkInSuccessfulOnLoadHandler.js');
}
$page->showWithMenu();
}
}
} else {
//Errors in the form, retry
CheckInController::buildCheckInFormView($page, true);
$page->data['CheckInFormView']['errMsgs'] = array_merge($page->data['CheckInFormView']['errMsgs'], $errMsgs);
$page->showWithMenu();
//.........这里部分代码省略.........
示例6: run
public static function run()
{
try {
//Create timestamps of start and end of week
$fromTimeStamp = strtotime('monday last week ' . GlobalConfig::PHP_TIME_ZONE);
$toTimeStamp = strtotime('monday this week ' . GlobalConfig::PHP_TIME_ZONE);
//Get all gransactions for this week
$transactions = MoneyTransactionDB::getTransactionsBetween($fromTimeStamp, $toTimeStamp);
//Get total amount of money in the system right now
$totalBalanceAfter = MoneyTransactionDB::getTotalBalance();
//Get total amount of money added and removed during this week.
$incrMoneyFromRealMoney = 0;
$incrMoneyFromPrize = 0;
$decrMoneyWithoutDiscount = 0;
$decrMoneyWithDiscount = 0;
foreach ($transactions as $transaction) {
if ($transaction->isFromPrize()) {
$incrMoneyFromPrize += $transaction->getIncrMoney();
} else {
$incrMoneyFromRealMoney += $transaction->getIncrMoney();
}
$decrMoneyWithoutDiscount += $transaction->getDecrMoney();
$decrMoneyWithDiscount += $transaction->getDecrMoneyWithDiscount();
}
//Get total amount of money in the system before this week
$totalBalanceBefore = $totalBalanceAfter - $incrMoneyFromRealMoney - $incrMoneyFromPrize + $decrMoneyWithDiscount;
//Create from and to time strings
$fromTime = new DateTime();
$fromTime->setTimeZone(new DateTimeZone(GlobalConfig::PHP_TIME_ZONE));
$fromTime->setTimeStamp($fromTimeStamp);
$fromTime->setTimeZone(new DateTimeZone(GlobalConfig::PHP_TIME_ZONE));
$fromDateString = $fromTime->format('d/m/y');
$fromTimeString = $fromTime->format('d/m/y H:i:s');
$toTime = new DateTime();
$toTime->setTimeZone(new DateTimeZone(GlobalConfig::PHP_TIME_ZONE));
$toTime->setTimeStamp($toTimeStamp);
//Subtract 1 second to display the correct date.
$toTime = date_sub($toTime, new DateInterval('PT1S'));
$toDateString = $toTime->format('d/m/y');
$toTimeString = $toTime->format('d/m/y H:i:s');
//Create array with date to show in the email
$emailExtras['common']['fromDate'] = $fromDateString;
$emailExtras['common']['toDate'] = $toDateString;
$emailExtras['common']['fromTime'] = $fromTimeString;
$emailExtras['common']['toTime'] = $toTimeString;
$emailExtras['common']['totalBalanceBefore'] = $totalBalanceBefore / 100;
$emailExtras['common']['incrMoneyFromRealMoney'] = $incrMoneyFromRealMoney / 100;
$emailExtras['common']['incrMoneyFromPrize'] = $incrMoneyFromPrize / 100;
$emailExtras['common']['decrMoneyWithoutDiscount'] = $decrMoneyWithoutDiscount / 100;
$emailExtras['common']['decrMoneyWithDiscount'] = $decrMoneyWithDiscount / 100;
$emailExtras['common']['totalBalanceAfter'] = $totalBalanceAfter / 100;
//Create fake users to send email to addresses
$users = array();
foreach (BalandeSummaryEmailSenderConfig::EMAIL_ADDRESSES as $emailAddress) {
$user = new User();
$user->email = $emailAddress;
array_push($users, $user);
}
//Send email
Email::sendEmails('MoneyOverview.html', 'Saldo lidkaarten ' . $fromDateString . ' - ' . $toDateString, 'info@stip.be', $users, $emailExtras);
} catch (Exception $ex) {
var_dump($ex);
}
}
示例7: post
public static function post()
{
//Get the request body as json
$checkInRequest = json_decode(file_get_contents('php://input'));
//Check if the json was valid and a card number is given
if (!$checkInRequest || !isset($checkInRequest->cardNumber)) {
header('HTTP/1.1 400 Bad Request');
} else {
//Create response object
$response = new APICheckInResponse();
//Check if the card number is valid
if (!CheckInController::validateCardNumber($checkInRequest->cardNumber)) {
$response->errorCode = APICheckInResponse::MALFORMED_CARDNUMBER;
echo json_encode($response);
exit;
} else {
$user = null;
$checkInOk = false;
$weeklyWinnerOk = true;
//Get user to check in
try {
//Get the user who's card number for this year was entered
$user = UserDB::getBasicUserByCardNumber($checkInRequest->cardNumber);
} catch (Exception $ex) {
$response->errorCode = APICheckInResponse::CANNOT_GET_USER_DATA;
echo json_encode($response);
exit;
}
if (!$user) {
//There's no user for this card
$response->errorCode = APICheckInResponse::NO_USER_FOR_CARD_NUMBER;
echo json_encode($response);
exit;
} else {
//We have a user so get the names in the response
$response->userFirstName = $user->firstName;
$response->userLastName = $user->lastName;
//Check user in
try {
$checkInOk = CheckInDB::checkIn($user->userId);
} catch (Exception $ex) {
//Check-in failed (something went wrong or check-in isn't valid)
$response->errorCode = APICheckInResponse::CANNOT_CHECK_IN;
echo json_encode($response);
exit;
}
}
if (!$checkInOk) {
//The user has already checked in
$response->errorCode = APICheckInResponse::ALREADY_CHECKED_IN;
echo json_encode($response);
exit;
} else {
$response->checkInSuccessful = true;
//Check in successful, check whether he is the winner of the week
$isWinner = false;
try {
//Check if this user is the winner of the week
$weeklyWinnerData = WeeklyWinnerDB::getThisWeeksWinnerData();
$isWinner = $weeklyWinnerData && $weeklyWinnerData->userId == $user->userId && !$weeklyWinnerData->hasCollectedPrize;
//If he is the winner we set in the database that the user collected his prize
if ($isWinner) {
$newWeeklyWinnerData = new WeeklyWinnerData($weeklyWinnerData->startOfWeek, $weeklyWinnerData->userId, true);
WeeklyWinnerDB::updateWeeklyWinnerData($weeklyWinnerData, $newWeeklyWinnerData);
}
} catch (Exception $ex) {
$response->errorCode = APICheckInResponse::CANNOT_CHECK_WEEKLY_WINNER;
echo json_encode($response);
exit;
}
$response->isWeeklyWinner = $isWinner;
//If he is the winner, add the winner views and try to send an email to all usermanagers
if ($isWinner) {
try {
$select = array('email' => true);
$searchFilter = array('isUserManager' => true);
$searchUsers = UserDB::getSearchUsers($select, $searchFilter, null);
$extras['common']['winnerFirstName'] = $user->firstName;
$extras['common']['winnerLastName'] = $user->lastName;
$failedAddresses = Email::sendEmails('WeeklyWinnerNotification.html', 'Winnaar van de week', EmailConfig::FROM_ADDRESS, array_column($searchUsers, 'user'), $extras);
if (!empty($failedAddresses)) {
$response->errorCode = APICheckInResponse::CANNOT_SEND_WINNER_NOTIFICATIONS;
}
echo json_encode($response);
exit;
} catch (Exception $ex) {
$response->errorCode = APICheckInResponse::CANNOT_SEND_WINNER_NOTIFICATIONS;
echo json_encode($response);
exit;
}
} else {
echo json_encode($response);
exit;
}
}
}
}
}