jQuery(document).ready(function($){ var upgrade_start_time = null, total_subscriptions = wcs_update_script_data.subscription_count; $('#update-messages').slideUp(); $('#upgrade-step-3').slideUp(); $('form#subscriptions-upgrade').on('submit',function(e){ $('#update-welcome').slideUp(600); $('#update-messages').slideDown(600); if('true'==wcs_update_script_data.really_old_version){ wcs_ajax_update_really_old_version(); } else if('true'==wcs_update_script_data.upgrade_to_1_5){ wcs_ajax_update_products(); wcs_ajax_update_hooks(); } else if('true'==wcs_update_script_data.upgrade_to_2_0){ wcs_ajax_update_subscriptions(); } else if('true'==wcs_update_script_data.repair_2_0){ wcs_ajax_repair_subscriptions(); } else { wcs_ajax_update_complete(); } e.preventDefault(); }); function wcs_ajax_update_really_old_version(){ $.ajax({ url: wcs_update_script_data.ajax_url, type: 'POST', data: { action: 'wcs_upgrade', upgrade_step: 'really_old_version', nonce: wcs_update_script_data.upgrade_nonce }, success: function(results) { $('#update-messages ol').append($('
').text(results.message)); wcs_ajax_update_products(); wcs_ajax_update_hooks(); }, error: function(results,status,errorThrown){ wcs_ajax_update_error(); } }); } function wcs_ajax_update_products(){ $.ajax({ url: wcs_update_script_data.ajax_url, type: 'POST', data: { action: 'wcs_upgrade', upgrade_step: 'products', nonce: wcs_update_script_data.upgrade_nonce }, success: function(results) { $('#update-messages ol').append($('').text(results.message)); }, error: function(results,status,errorThrown){ wcs_ajax_update_error(); } }); } function wcs_ajax_update_hooks() { var start_time = new Date(); $.ajax({ url: wcs_update_script_data.ajax_url, type: 'POST', data: { action: 'wcs_upgrade', upgrade_step: 'hooks', nonce: wcs_update_script_data.upgrade_nonce }, success: function(results) { if(results.message){ var end_time = new Date(), execution_time = Math.ceil( ( end_time.getTime() - start_time.getTime() ) / 1000 ); $('#update-messages ol').append($('').text(results.message.replace('{execution_time}',execution_time))); } if( undefined == typeof(results.upgraded_count) || parseInt(results.upgraded_count) <= ( wcs_update_script_data.hooks_per_request - 1 ) ){ wcs_ajax_update_subscriptions(); } else { wcs_ajax_update_hooks(); } }, error: function(results,status,errorThrown){ wcs_ajax_update_error(); } }); } function wcs_ajax_update_subscriptions() { var start_time = new Date(); if ( null === upgrade_start_time ) { upgrade_start_time = start_time; } $.ajax({ url: wcs_update_script_data.ajax_url, type: 'POST', data: { action: 'wcs_upgrade', upgrade_step: 'subscriptions', nonce: wcs_update_script_data.upgrade_nonce }, success: function(results) { if('success'==results.status){ var end_time = new Date(), execution_time = Math.ceil( ( end_time.getTime() - start_time.getTime() ) / 1000 ); $('#update-messages ol').append($('').text(results.message.replace('{execution_time}',execution_time))); wcs_update_script_data.subscription_count -= results.upgraded_count; if( "undefined" === typeof(results.upgraded_count) || parseInt(wcs_update_script_data.subscription_count) <= 0 ) { wcs_ajax_update_complete(); } else { wcs_ajax_update_estimated_time(results.time_message); wcs_ajax_update_subscriptions(); } } else { wcs_ajax_update_error(results.message); } }, error: function(results,status,errorThrown){ $('