Skip to content

Instantly share code, notes, and snippets.

@webtoffee-git
Created February 13, 2020 06:19
Show Gist options
  • Select an option

  • Save webtoffee-git/b859b4a14b37241ec3c491b907828784 to your computer and use it in GitHub Desktop.

Select an option

Save webtoffee-git/b859b4a14b37241ec3c491b907828784 to your computer and use it in GitHub Desktop.
Modify WC API Manager details after migrating order license details using Order Import Export plugin for WooCommerce by WebToffee
global $wpdb;
if(!empty($_GET['mark-license-migration-update'])){
$new_order_from_wf = $wpdb->get_results("SELECT post_id FROM ".$wpdb->postmeta." WHERE meta_key = '_wt_import_key'");
foreach ($new_order_from_wf as $xa_order) {
//$xa_order->post_id = 20635;
$order_key = $wpdb->get_row("SELECT * FROM ".$wpdb->postmeta." WHERE meta_key = '_order_key' AND post_id = $xa_order->post_id"); // This query is not returning order key from server but this is running in local
$order_key_xa = $order_key->meta_value;
$wpdb->query($wpdb->prepare("UPDATE {$wpdb->prefix}woocommerce_downloadable_product_permissions SET order_key=%s WHERE order_id=%s", $order_key_xa, $xa_order->post_id));
$download_details = $wpdb->get_row( $wpdb->prepare( "
SELECT *
FROM {$wpdb->prefix}woocommerce_downloadable_product_permissions
WHERE order_id = %d
", $xa_order->post_id ) );
$new_order_key = $order_key_xa;
$user_id = $download_details->user_id;
$license_details = get_user_meta($user_id, 'wp_wc_am_orders');
$new_details = array();
foreach($license_details[0] as $key => $v){
$final_key = strstr($key , '_am_');
$final_key = $new_order_key.$final_key;
$ap_key = strstr($v['api_key'] , '_am_');
$ap_key = $new_order_key.$ap_key;
$new_details[$final_key]['order_id'] = $v['order_id'];
$new_details[$final_key]['user_id'] = $v['user_id'];
$new_details[$final_key]['order_id'] = $v['order_id'];
$new_details[$final_key]['order_key'] = $new_order_key;
$new_details[$final_key]['license_email'] = $v['license_email'];
$new_details[$final_key]['_api_software_title_parent'] = $v['_api_software_title_parent'];
$new_details[$final_key]['_api_software_title_var'] = $v['_api_software_title_var'];
$new_details[$final_key]['software_title'] = $v['software_title'];
$new_details[$final_key]['parent_product_id'] = $v['parent_product_id'];
$new_details[$final_key]['variable_product_id'] = $v['variable_product_id'];
$new_details[$final_key]['current_version'] = $v['current_version'];
$new_details[$final_key]['_api_activations'] = $v['_api_activations'];
$new_details[$final_key]['_api_activations_parent'] = $v['_api_activations_parent'];
$new_details[$final_key]['_api_update_permission'] = $v['_api_update_permission'];
$new_details[$final_key]['is_variable_product'] = $v['is_variable_product'];
$new_details[$final_key]['license_type'] = $v['license_type'];
$new_details[$final_key]['expires'] = $v['expires'];
$new_details[$final_key]['_purchase_time'] = $v['_purchase_time'];
$new_details[$final_key]['_api_was_activated'] = $v['_api_was_activated'];
$new_details[$final_key]['api_key'] = $ap_key;
}
update_user_meta($user_id, 'wp_wc_am_orders', $new_details);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment