function pmpro_upgrade_1_8_6_9() { global $wpdb; $orders = $wpdb->get_results("SELECT id, user_id, membership_id, subscription_transaction_id FROM {$wpdb->pmpro_membership_orders} WHERE gateway = 'stripe' AND subscription_transaction_id LIKE 'cus_%'"); if (!empty($orders)) { if (count($orders) > 100) { //if more than 100 orders, we'll need to do this via AJAX pmpro_addUpdate('pmpro_upgrade_1_8_6_9_ajax'); } else { //less than 100, let's just do them now $subids = array(); foreach ($orders as $order) { if (!empty($subids[$order->subscription_transaction_id])) { $wpdb->query("UPDATE {$wpdb->pmpro_membership_orders} SET subscription_transaction_id = '" . esc_sql($subids[$order->subscription_transaction_id]) . "' WHERE id = '" . $order->id . "' LIMIT 1"); //echo "Updating subid for #" . $order->id . " " . $order->subscription_transaction_id . ".<br />"; } elseif (isset($subids[$order->subscription_transaction_id])) { //no sub id found, so let it go //echo "No subid found for #" . $order->id . " " . $order->subscription_transaction_id . " in cache.<br />"; } else { //need to look for a sub id in the database $subid = $wpdb->get_var("SELECT subscription_transaction_id FROM {$wpdb->pmpro_membership_orders} WHERE membership_id = '" . $order->membership_id . "' AND user_id = '" . $order->user_id . "' AND subscription_transaction_id LIKE 'sub_%' LIMIT 1"); $subids[$order->subscription_transaction_id] = $subid; if (!empty($subid)) { $wpdb->query("UPDATE {$wpdb->pmpro_membership_orders} SET subscription_transaction_id = '" . esc_sql($subid) . "' WHERE id = '" . $order->id . "' LIMIT 1"); //echo "Updating subid for #" . $order->id . " " . $order->subscription_transaction_id . ".<br />"; } else { //echo "No subid found for #" . $order->id . " " . $order->subscription_transaction_id . ".<br />"; } } } } } pmpro_setOption("db_version", "1.869"); return 1.869; }
function pmpro_upgrade_1_8_9_3() { global $wpdb; //Fixing incorrect start and end dates. (Sets up update via AJAX) $user_ids = $wpdb->get_col("SELECT user_id FROM {$wpdb->pmpro_memberships_users} WHERE status = 'active' AND modified > '2016-05-19'"); if (!empty($user_ids)) { pmpro_addUpdate('pmpro_upgrade_1_8_9_3_ajax'); } pmpro_setOption("db_version", "1.91"); return 1.893; }
function pmpro_upgrade_1_8_9_1() { global $wpdb; //Fixing Stripe orders where user_id/membership_id = 0. (Sets up update via AJAX) $orders = $wpdb->get_col("SELECT id FROM {$wpdb->pmpro_membership_orders} WHERE gateway = 'stripe' AND user_id = 0 AND membership_id = 0 AND status <> 'error' "); if (!empty($orders)) { pmpro_addUpdate('pmpro_upgrade_1_8_9_1_ajax'); } pmpro_setOption("db_version", "1.891"); return 1.891; }
function pmpro_upgrade_1_8_8() { global $wpdb; //Running the cron job cleanup again. require_once PMPRO_DIR . "/includes/updates/upgrade_1_8_7.php"; pmpro_upgrade_1_8_7(); //Fixing old Authorize.net orders with empty status. $sqlQuery = "UPDATE {$wpdb->pmpro_membership_orders} SET status = 'success' WHERE gateway = 'authorizenet' AND status = ''"; $wpdb->query($sqlQuery); //Fixing old $0 Stripe orders. (Sets up update via AJAX) $orders = $wpdb->get_col("SELECT id FROM {$wpdb->pmpro_membership_orders} WHERE gateway = 'stripe' AND total = 0"); if (!empty($orders)) { pmpro_addUpdate('pmpro_upgrade_1_8_8_ajax'); } pmpro_setOption("db_version", "1.88"); return 1.88; }