本文整理汇总了PHP中PMProEmail::sendCancelEmail方法的典型用法代码示例。如果您正苦于以下问题:PHP PMProEmail::sendCancelEmail方法的具体用法?PHP PMProEmail::sendCancelEmail怎么用?PHP PMProEmail::sendCancelEmail使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PMProEmail
的用法示例。
在下文中一共展示了PMProEmail::sendCancelEmail方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: PMProEmail
global $besecure;
$besecure = false;
global $current_user, $pmpro_msg, $pmpro_msgt, $pmpro_confirm, $pmpro_error;
//if they don't have a membership, send them back to the subscription page
if (empty($current_user->membership_level->ID)) {
wp_redirect(pmpro_url("levels"));
}
if (isset($_REQUEST['confirm'])) {
$pmpro_confirm = $_REQUEST['confirm'];
} else {
$pmpro_confirm = false;
}
if ($pmpro_confirm) {
$old_level_id = $current_user->membership_level->id;
$worked = pmpro_changeMembershipLevel(false, $current_user->ID);
if ($worked === true && empty($pmpro_error)) {
$pmpro_msg = __("Your membership has been cancelled.", 'pmpro');
$pmpro_msgt = "pmpro_success";
//send an email to the member
$myemail = new PMProEmail();
$myemail->sendCancelEmail();
//send an email to the admin
$myemail = new PMProEmail();
$myemail->sendCancelAdminEmail($current_user, $old_level_id);
} else {
global $pmpro_error;
$pmpro_msg = $pmpro_error;
$pmpro_msgt = "pmpro_error";
}
}
示例2: pmpro_insRecurringStopped
function pmpro_insRecurringStopped($morder)
{
global $pmpro_error;
//hook to do other stuff when payments stop
do_action("pmpro_subscription_recuring_stopped", $last_order);
$worked = pmpro_changeMembershipLevel(false, $morder->user->ID);
if ($worked === true) {
//$pmpro_msg = __("Your membership has been cancelled.", 'pmpro');
//$pmpro_msgt = "pmpro_success";
//send an email to the member
$myemail = new PMProEmail();
$myemail->sendCancelEmail();
//send an email to the admin
$myemail = new PMProEmail();
$myemail->sendCancelAdminEmail($morder->user, $morder->membership_level->id);
inslog("Subscription cancelled due to 'recurring stopped' INS notification.");
return true;
} else {
return false;
}
}
示例3: foreach
//are we confirming a cancellation?
if (isset($_REQUEST['confirm'])) {
$pmpro_confirm = $_REQUEST['confirm'];
} else {
$pmpro_confirm = false;
}
if ($pmpro_confirm) {
if (!empty($old_level_ids)) {
$worked = true;
foreach ($old_level_ids as $old_level_id) {
$worked = $worked && pmpro_cancelMembershipLevel($old_level_id, $current_user->ID, 'cancelled');
}
} else {
$old_level_ids = $wpdb->get_col("SELECT id FROM {$wpdb->pmpro_memberships_users} WHERE user_id = '" . $current_user->ID . "' AND status = 'active'");
$worked = pmpro_changeMembershipLevel(0, $current_user->ID, 'cancelled');
}
if ($worked === true && empty($pmpro_error)) {
$pmpro_msg = __("Your membership has been cancelled.", 'pmpro');
$pmpro_msgt = "pmpro_success";
//send an email to the member
$myemail = new PMProEmail();
$myemail->sendCancelEmail($current_user, $old_level_ids);
//send an email to the admin
$myemail = new PMProEmail();
$myemail->sendCancelAdminEmail($current_user, $old_level_ids);
} else {
global $pmpro_error;
$pmpro_msg = $pmpro_error;
$pmpro_msgt = "pmpro_error";
}
}
示例4: ipnlog
Also, if a user is changing levels, we don't want to cancel their new membership, just the old subscription at PayPal.
So we check 2 things and don't cancel if:
(1) This order already has "cancelled" status.
(2) The user doesn't currently have the level attached to this order.
*/
if ($last_subscr_order->status == "cancelled") {
ipnlog("We've already processed this cancellation. Probably originated from WP/PMPro. (Order #" . $last_subscr_order->id . ", Subscription Transaction ID #" . $subscr_id . ")");
} elseif (!pmpro_hasMembershipLevel($last_subsc_order->membership_id, $user->ID)) {
ipnlog("This user has a different level than the one associated with this order. Their membership was probably changed by an admin or through an upgrade/downgrade. (Order #" . $last_subscr_order->id . ", Subscription Transaction ID #" . $subscr_id . ")");
} else {
pmpro_changeMembershipLevel(0, $last_subscr_order->user_id, 'cancelled');
ipnlog("Canceled membership for user with id = " . $last_subscr_order->user_id . ". Subscription transaction id = " . $subscr_id . ".");
//send an email to the member
$myemail = new PMProEmail();
$myemail->sendCancelEmail($user);
//send an email to the admin
$myemail = new PMProEmail();
$myemail->sendCancelAdminEmail($user, $last_subscr_order->membership_id);
}
}
pmpro_ipnExit();
}
}
//Other
//if we got here, this is a different kind of txn
ipnlog("No recurring payment id or item number. txn_type = " . $txn_type);
pmpro_ipnExit();
/*
Add message to ipnlog string
*/
示例5: pmpro_payflow_recurring_orders
//.........这里部分代码省略.........
continue;
}
//check subscription
if (!empty($last_order->subscription_transaction_id)) {
echo "- Checking subscription #" . $last_order->subscription_transaction_id . ".<br />";
$status = pmpropfro_getSubscriptionPayments($last_order);
//find orders
$payments = pmpropfro_processPaymentHistory($status);
if (!empty($payments)) {
foreach ($payments as $payment) {
if ($payment['P_TRANSTATE'] == 1 || $payment['P_TRANSTATE'] == 11) {
echo "- Failed payment #" . $payment['P_PNREF'] . ".";
//check if we have this one already
$old_order = new MemberOrder();
$old_order->getMemberOrderByPaymentTransactionID($payment['P_PNREF']);
if (empty($old_order->id)) {
$failed_payment_emails[] = $user->user_email;
//not there yet, add it
$morder = new MemberOrder();
$morder->user_id = $last_order->user_id;
$morder->membership_id = $last_order->membership_id;
$morder->payment_transaction_id = $payment['P_PNREF'];
$morder->subscription_transaction_id = $last_order->subscription_transaction_id;
$morder->InitialPayment = $payment['P_AMT'];
//not the initial payment, but the class is expecting that
$morder->PaymentAmount = $payment['P_AMT'];
$morder->status = "error";
//save
$morder->saveOrder();
$morder->getMemberOrderByID($morder->id);
echo " Saving order.";
//this will affect the main query, so need to roll back the "end" 1 space
$end--;
//unless there is another non-failed payment more recent, cancel their membership
if (!pmpropfro_paymentAfter($payments, strtotime($payment['P_TRANSTIME']))) {
//cancel membership
pmpro_changeMembershipLevel(0, $user_id);
echo " Membership cancelled. Member emailed.";
//notify them
$myemail = new PMProEmail();
$myemail->sendCancelEmail($user);
} else {
echo " More recent successful order. So not cancelling membership.";
}
} else {
echo " Already logged.";
}
echo "<br />";
} elseif ($payment['P_TRANSTATE'] == 8) {
//check if we have this one already
$old_order = new MemberOrder();
$old_order->getMemberOrderByPaymentTransactionID($payment['P_PNREF']);
if (empty($old_order->id)) {
//not there yet, add it
$morder = new MemberOrder();
$morder->user_id = $last_order->user_id;
$morder->membership_id = $last_order->membership_id;
$morder->payment_transaction_id = $payment['P_PNREF'];
$morder->subscription_transaction_id = $last_order->subscription_transaction_id;
$morder->InitialPayment = $payment['P_AMT'];
//not the initial payment, but the class is expecting that
$morder->PaymentAmount = $payment['P_AMT'];
$morder->status = "success";
//save
$morder->saveOrder();
$morder->getMemberOrderByID($morder->id);
//this will affect the main query, so need to roll back the "end" 1 space
$end--;
if (!empty($morder->id)) {
//update the timestamp
$timestamp = date("Y-m-d H:i:s", strtotime($payment['P_TRANSTIME']));
$wpdb->query("UPDATE {$wpdb->pmpro_membership_orders} SET timestamp = '" . $timestamp . "' WHERE id = '" . $morder->id . "' LIMIT 1");
echo "<strong>- Order added. #" . $morder->id . ".</strong><br />";
//email the user their invoice
$pmproemail = new PMProEmail();
$pmproemail->sendInvoiceEmail($user, $morder);
echo "- Invoice email sent to " . $user->user_email . ".";
} else {
echo "- Error adding order.";
}
} else {
echo "- Order already saved for #" . $payment['P_TRANSTATE'] . ".<br />";
}
} else {
echo "<strong>- Payment " . $payment['P_PNREF'] . " has status #" . $payment['P_TRANSTATE'] . " so not saving.</strong><br />";
}
}
} else {
echo "- No payments found.<br />";
}
}
echo "<hr />";
echo "Going to start with #" . $end . " next time.";
update_option('payflow_recurring_orders_cron_count', $end);
}
echo "<hr />";
foreach ($failed_payment_emails as $email) {
echo $email . "<br />";
}
}