本文整理汇总了PHP中MemberOrder::getMemberOrderByID方法的典型用法代码示例。如果您正苦于以下问题:PHP MemberOrder::getMemberOrderByID方法的具体用法?PHP MemberOrder::getMemberOrderByID怎么用?PHP MemberOrder::getMemberOrderByID使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MemberOrder
的用法示例。
在下文中一共展示了MemberOrder::getMemberOrderByID方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: foreach
?>
</th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody id="orders" class="list:order orders-list">
<?php
$count = 0;
foreach ($order_ids as $order_id) {
$order = new MemberOrder();
$order->nogateway = true;
$order->getMemberOrderByID($order_id);
?>
<tr <?php
if ($count++ % 2 == 0) {
?>
class="alternate"<?php
}
?>
>
<td>
<a href="admin.php?page=pmpro-orders&order=<?php
echo $order->id;
?>
"><?php
echo $order->id;
?>
示例2: pmpro_shortcode_account
//.........这里部分代码省略.........
<div id="pmpro_account-invoices" class="pmpro_box">
<h3><?php
_e("Past Invoices", "pmpro");
?>
</h3>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<thead>
<tr>
<th><?php
_e("Date", "pmpro");
?>
</th>
<th><?php
_e("Level", "pmpro");
?>
</th>
<th><?php
_e("Amount", "pmpro");
?>
</th>
</tr>
</thead>
<tbody>
<?php
$count = 0;
foreach ($invoices as $invoice) {
if ($count++ > 4) {
break;
}
//get an member order object
$invoice_id = $invoice->id;
$invoice = new MemberOrder();
$invoice->getMemberOrderByID($invoice_id);
$invoice->getMembershipLevel();
?>
<tr id="pmpro_account-invoice-<?php
echo $invoice->code;
?>
">
<td><a href="<?php
echo pmpro_url("invoice", "?invoice=" . $invoice->code);
?>
"><?php
echo date(get_option("date_format"), $invoice->timestamp);
?>
</td>
<td><?php
echo $invoice->membership_level->name;
?>
</td>
<td><?php
echo pmpro_formatPrice($invoice->total);
?>
</td>
</tr>
<?php
}
?>
</tbody>
</table>
<?php
if ($count == 6) {
?>
<div class="pmpro_actionlinks"><a href="<?php
echo pmpro_url("invoice");
示例3: hideCardNumber
$morder->billing->city = $old_order->billing->city;
$morder->billing->state = $old_order->billing->state;
$morder->billing->zip = $old_order->billing->zip;
$morder->billing->country = $old_order->billing->country;
$morder->billing->phone = $old_order->billing->phone;
//get CC info that is on file
$morder->cardtype = get_user_meta($user_id, "pmpro_CardType", true);
$morder->accountnumber = hideCardNumber(get_user_meta($user_id, "pmpro_AccountNumber", true), false);
$morder->expirationmonth = get_user_meta($user_id, "pmpro_ExpirationMonth", true);
$morder->expirationyear = get_user_meta($user_id, "pmpro_ExpirationYear", true);
$morder->ExpirationDate = $morder->expirationmonth . $morder->expirationyear;
$morder->ExpirationDate_YdashM = $morder->expirationyear . "-" . $morder->expirationmonth;
//save
$morder->status = "success";
$morder->saveOrder();
$morder->getMemberOrderByID($morder->id);
//email the user their invoice
$pmproemail = new PMProEmail();
$pmproemail->sendInvoiceEmail($user, $morder);
$logstr .= "Created new order with ID #" . $morder->id . ". Event ID #" . $event->id . ".";
/*
Checking if there is an update "after next payment" for this user.
*/
$user_updates = $user->pmpro_stripe_updates;
if (!empty($user_updates)) {
foreach ($user_updates as $key => $update) {
if ($update['when'] == 'payment') {
//get current plan at Stripe to get payment date
$last_order = new MemberOrder();
$last_order->getLastMemberOrder($user_id);
$last_order->setGateway('stripe');
示例4: pmpro_insSaveOrder
function pmpro_insSaveOrder($txn_id, $last_order)
{
global $wpdb;
//check that txn_id has not been previously processed
$old_txn = $wpdb->get_var("SELECT payment_transaction_id FROM {$wpdb->pmpro_membership_orders} WHERE payment_transaction_id = '" . $txn_id . "' LIMIT 1");
if (empty($old_txn)) {
//hook for successful subscription payments
do_action("pmpro_subscription_payment_completed");
//save order
$morder = new MemberOrder();
$morder->user_id = $last_order->user_id;
$morder->membership_id = $last_order->membership_id;
$morder->payment_transaction_id = $txn_id;
$morder->subscription_transaction_id = $last_order->subscription_transaction_id;
$morder->InitialPayment = $_POST['item_list_amount_1'];
//not the initial payment, but the class is expecting that
$morder->PaymentAmount = $_POST['item_list_amount_1'];
$morder->FirstName = $_POST['customer_first_name'];
$morder->LastName = $_POST['customer_last_name'];
$morder->Email = $_POST['customer_email'];
//save
$morder->saveOrder();
$morder->getMemberOrderByID($morder->id);
//email the user their invoice
$pmproemail = new PMProEmail();
$pmproemail->sendInvoiceEmail(get_userdata($last_order->user_id), $morder);
inslog("New order (" . $morder->code . ") created.");
return true;
} else {
inslog("Duplicate Transaction ID: " . $txn_id);
return false;
}
}
示例5: pmpro_ipnSaveOrder
function pmpro_ipnSaveOrder($txn_id, $last_order)
{
global $wpdb;
//check that txn_id has not been previously processed
$old_txn = $wpdb->get_var("SELECT payment_transaction_id FROM {$wpdb->pmpro_membership_orders} WHERE payment_transaction_id = '" . $txn_id . "' LIMIT 1");
if (empty($old_txn)) {
//hook for successful subscription payments
do_action("pmpro_subscription_payment_completed");
//save order
$morder = new MemberOrder();
$morder->user_id = $last_order->user_id;
$morder->membership_id = $last_order->membership_id;
$morder->payment_transaction_id = $txn_id;
$morder->subscription_transaction_id = $last_order->subscription_transaction_id;
$morder->gateway = $last_order->gateway;
$morder->gateway_environment = $last_order->gateway_environment;
// Payment Status
$morder->status = 'success';
// We have confirmed that and thats the reason we are here.
// Payment Type.
$morder->payment_type = $last_order->payment_type;
//set amount based on which PayPal type
if ($last_order->gateway == "paypal") {
$morder->InitialPayment = $_POST['amount'];
//not the initial payment, but the class is expecting that
$morder->PaymentAmount = $_POST['amount'];
} elseif ($last_order->gateway == "paypalexpress") {
$morder->InitialPayment = $_POST['amount'];
//not the initial payment, but the class is expecting that
$morder->PaymentAmount = $_POST['amount'];
} elseif ($last_order->gateway == "paypalstandard") {
$morder->InitialPayment = $_POST['mc_gross'];
//not the initial payment, but the class is expecting that
$morder->PaymentAmount = $_POST['mc_gross'];
}
$morder->FirstName = $_POST['first_name'];
$morder->LastName = $_POST['last_name'];
$morder->Email = $_POST['payer_email'];
//get address info if appropriate
if ($last_order->gateway == "paypal") {
$morder->Address1 = get_user_meta($last_order->user_id, "pmpro_baddress1", true);
$morder->City = get_user_meta($last_order->user_id, "pmpro_bcity", true);
$morder->State = get_user_meta($last_order->user_id, "pmpro_bstate", true);
$morder->CountryCode = "US";
$morder->Zip = get_user_meta($last_order->user_id, "pmpro_bzip", true);
$morder->PhoneNumber = get_user_meta($last_order->user_id, "pmpro_bphone", true);
$morder->billing->name = $_POST['first_name'] . " " . $_POST['last_name'];
$morder->billing->street = get_user_meta($last_order->user_id, "pmpro_baddress1", true);
$morder->billing->city = get_user_meta($last_order->user_id, "pmpro_bcity", true);
$morder->billing->state = get_user_meta($last_order->user_id, "pmpro_bstate", true);
$morder->billing->zip = get_user_meta($last_order->user_id, "pmpro_bzip", true);
$morder->billing->country = get_user_meta($last_order->user_id, "pmpro_bcountry", true);
$morder->billing->phone = get_user_meta($last_order->user_id, "pmpro_bphone", true);
//get CC info that is on file
$morder->cardtype = get_user_meta($last_order->user_id, "pmpro_CardType", true);
$morder->accountnumber = hideCardNumber(get_user_meta($last_order->user_id, "pmpro_AccountNumber", true), false);
$morder->expirationmonth = get_user_meta($last_order->user_id, "pmpro_ExpirationMonth", true);
$morder->expirationyear = get_user_meta($last_order->user_id, "pmpro_ExpirationYear", true);
$morder->ExpirationDate = $morder->expirationmonth . $morder->expirationyear;
$morder->ExpirationDate_YdashM = $morder->expirationyear . "-" . $morder->expirationmonth;
}
//save
$morder->saveOrder();
$morder->getMemberOrderByID($morder->id);
//email the user their invoice
$pmproemail = new PMProEmail();
$pmproemail->sendInvoiceEmail(get_userdata($last_order->user_id), $morder);
ipnlog("New order (" . $morder->code . ") created.");
return true;
} else {
ipnlog("Duplicate Transaction ID: " . $txn_id);
return false;
}
}
示例6: foreach
<h5>Invoices</h5>
<div class="row">
<div class="col-md-4"><h6>Date</h6></div>
<div class="col-md-4"><h6>Level</h6></div>
<div class="col-md-4"><h6>Amount</h6></div>
</div>
<?php
$count = 0;
foreach ($invoices as $invoice) {
?>
<div class="row">
<?php
//get an member order object
$invoice_id = $invoice->id;
$invoice = new MemberOrder();
$invoice->getMemberOrderByID($invoice_id);
$invoice->getMembershipLevel();
?>
<div class="col-md-4">
<a href="<?php
echo pmpro_url("invoice", "?invoice=" . $invoice->code);
?>
"><?php
echo date(get_option("date_format"), $invoice->timestamp);
?>
</a>
</div>
<div class="col-md-4">
<?php
echo $invoice->membership_level->name;
?>
示例7: intval
function gourlpmpro_gourlcallback($user_id, $order_id, $payment_details, $box_status)
{
global $wpdb;
if (!in_array($box_status, array("cryptobox_newrecord", "cryptobox_updated"))) {
return false;
}
if (strpos($order_id, "order") === 0) {
$order_id = intval(substr($order_id, 5));
} else {
return false;
}
if (!$user_id || $payment_details["status"] != "payment_received") {
return false;
}
// Initialize
$coinName = ucfirst($payment_details["coinname"]);
$amount = $payment_details["amount"] . " " . $payment_details["coinlabel"] . "  ( \$" . $payment_details["amountusd"] . " )";
$payID = $payment_details["paymentID"];
$trID = $payment_details["tx"];
$confirmed = $payment_details["is_confirmed"] ? __('Yes', GOURLPMP) : __('No', GOURLPMP);
$order = new MemberOrder();
$order->getMemberOrderByID($order_id);
// New Payment Received
if ($box_status == "cryptobox_newrecord") {
update_option(GOURL . "PMPRO_INIT_" . $user_id . "_" . $order->membership_id, date("m F Y"));
PMProGateway_gourl::add_order_note($order_id, sprintf(__("<b>%s</b> payment received <br>%s <br>Payment id <a href='%s'>#%s</a>. Awaiting network confirmation...", GOURLPMP), $coinName, $amount, GOURL_ADMIN . GOURL . "payments&s=payment_" . $payID, $payID));
}
// Existing Payment confirmed (6+ confirmations)
if ($payment_details["is_confirmed"]) {
PMProGateway_gourl::add_order_note($order_id, sprintf(__("%s Payment id <a href='%s'>#%s</a> Confirmed", GOURLPMP), $coinName, GOURL_ADMIN . GOURL . "payments&s=payment_" . $payID, $payID));
}
// Update User Membership
if (!empty($order) && $order->gateway == "gourl" && in_array($order->status, array("pending", "review", "token"))) {
$pmpro_level = $wpdb->get_row("SELECT * FROM {$wpdb->pmpro_membership_levels} WHERE id = '" . (int) $order->membership_id . "' LIMIT 1");
$startdate = apply_filters("pmpro_checkout_start_date", "'" . current_time("mysql") . "'", $user_id, $pmpro_level);
if (strlen($order->subscription_transaction_id) > 3) {
$enddate = "'" . date("Y-m-d", strtotime("+ " . $order->subscription_transaction_id, current_time("timestamp"))) . "'";
} elseif (!empty($pmpro_level->expiration_number)) {
$enddate = "'" . date("Y-m-d", strtotime("+ " . $pmpro_level->expiration_number . " " . $pmpro_level->expiration_period, current_time("timestamp"))) . "'";
} else {
$enddate = "NULL";
}
$custom_level = array('user_id' => $user_id, 'membership_id' => $pmpro_level->id, 'code_id' => '', 'initial_payment' => $pmpro_level->initial_payment, 'billing_amount' => $pmpro_level->billing_amount, 'cycle_number' => $pmpro_level->cycle_number, 'cycle_period' => $pmpro_level->cycle_period, 'billing_limit' => $pmpro_level->billing_limit, 'trial_amount' => $pmpro_level->trial_amount, 'trial_limit' => $pmpro_level->trial_limit, 'startdate' => $startdate, 'enddate' => $enddate);
if (pmpro_changeMembershipLevel($custom_level, $user_id, 'changed')) {
$order->status = "success";
$order->membership_id = $pmpro_level->id;
$order->payment_transaction_id = strtoupper($coinName . $payID);
$order->saveOrder();
}
}
return true;
}
开发者ID:MediaPreneur,项目名称:Bitcoin-Gateway-Paid-Memberships-Pro,代码行数:52,代码来源:gourl_paidmembershipspro.php
示例8: pmpro_payflow_recurring_orders
function pmpro_payflow_recurring_orders()
{
//is PMPro even active?
if (!function_exists('pmpro_hasMembershipLevel')) {
return;
}
global $wpdb;
$now = current_time('timestamp');
//between what hours should the cron run?
$cron_start = 1;
//1 AM
$cron_end = 6;
//6 AM
$current_hour = date('G', $now);
if ($current_hour > $cron_end || $current_hour < $cron_start) {
return;
}
//where did we leave off?
if (isset($_REQUEST['start'])) {
$start = intval($_REQUEST['start']);
delete_option('pmpro_pfro_paused');
} else {
$start = get_option('payflow_recurring_orders_cron_count', 0);
}
//are we paused? value is timestamp. if set wait until then
$paused = get_option('pmpro_pfro_paused', false);
if (!empty($paused) && $paused > $now) {
return;
}
//how many subscriptions to run at one time. based on your server speed and timeout limits/etc.
$nper = 50;
//next one
$end = intval($start) + intval($nper);
//get subs
$sqlQuery = "\n\t\tSELECT SQL_CALC_FOUND_ROWS user_id FROM\n\t\t(\n\t\t\tSELECT mu.user_id,\n\t\t\t\tCASE mu.cycle_period\n\t\t\t\t\tWHEN 'Day' THEN date_add(mo.timestamp, INTERVAL mu.cycle_number DAY)\n\t\t\t\t\tWHEN 'Month' THEN date_add(mo.timestamp, INTERVAL mu.cycle_number MONTH)\n\t\t\t\t\tWHEN 'Week' THEN date_add(mo.timestamp, INTERVAL mu.cycle_number WEEK)\n\t\t\t\t\tWHEN 'Year' THEN date_add(mo.timestamp, INTERVAL mu.cycle_number YEAR)\n\t\t\t\tEND as next_payment_date\n\t\t\tFROM {$wpdb->pmpro_memberships_users} mu\n\t\t\t\tLEFT JOIN {$wpdb->pmpro_membership_orders} mo\n\t\t\t\t\tON mo.id = (\n\t\t\t\t\t\tSELECT id FROM {$wpdb->pmpro_membership_orders} WHERE gateway = 'payflowpro' AND status NOT IN('review', 'token', 'pending') AND user_id = mu.user_id ORDER BY id DESC LIMIT 1\n\t\t\t\t\t)\n\t\t\tWHERE mu.status = 'active'\n\t\t\t\tAND mo.subscription_transaction_id <> ''\n\t\t) members\n\t\tWHERE DATEDIFF('" . current_time('mysql') . "', next_payment_date) >= 0\n\t\tLIMIT {$start}, {$nper}\n\t";
$sub_user_ids = $wpdb->get_col($sqlQuery);
$count = $wpdb->get_var('SELECT FOUND_ROWS()');
echo "Processing " . intval($start) . " to " . (intval($start) + intval($nper)) . " of " . $count . " subscriptions.<hr />";
//if no more subs, pause until tomorrow
if (empty($sub_user_ids)) {
echo "All done. Pausing until tomorrow.<br />";
$tomorrow = strtotime(date("Y-m-d 00:00:00", $now + 3600 * 24));
update_option('pmpro_pfro_paused', $tomorrow);
update_option('payflow_recurring_orders_cron_count', 0);
return;
}
$failed_payment_emails = array();
//loop through subs
foreach ($sub_user_ids as $user_id) {
$user = get_userdata($user_id);
if (empty($user->ID)) {
echo "Coundn't find user #" . $user_id . "...<br /><hr />";
continue;
}
echo "Checking for recurring orders for user #" . $user->ID . " " . $user->user_login . " (" . $user->user_email . ")...<br />";
$last_order = new MemberOrder();
$last_order->getLastMemberOrder($user_id);
if (!empty($last_order->id)) {
echo "- Last order found. #" . $last_order->id . ", Code: " . $last_order->code . ", SubID: " . $last_order->subscription_transaction_id . ".<br />";
} else {
echo "- No last order. Skipping.";
echo "<hr />";
continue;
}
//is it even Payflow?
if ($last_order->gateway != "payflowpro") {
echo "- Order is for '" . $last_order->gateway . "' gateway.<br />";
echo "<hr />";
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
//.........这里部分代码省略.........