jQuery(function ($) { var $success = $("#asl_i_success"); var $error = $("#asl_i_error"); var $error_cont = $("#asl_i_error_cont"); $('#asl_reset, #asl_wipe').on('click', function(e){ e.preventDefault(); asl_clear_msg(); asl_disable_buttons(); if ( $(this).attr('id') == 'asl_reset' ) var r = confirm("Are you sure you want to reset Ajax Search Lite to it's default state?"); else var r = confirm("Are you sure you want to completely remove Ajax Search Lite? (including database content, files etc..)"); if (r == true) { var data = { 'action' : 'asl_maintenance_admin_ajax', 'data' : $(this).closest('form').serialize() }; $.post(ajaxurl, data) .done(asl_on_post_success) .fail(asl_on_post_failure); $('.loading-small', $(this).parent()).removeClass('hiddend'); } return true; }); function asl_on_post_success(response) { var res = response.replace(/^\s*[\r\n]/gm, ""); res = res.match(/!!!ASL_MAINT_START!!!(.*[\s\S]*)!!!ASL_MAINT_STOP!!!/); if (res != null && (typeof res[1] != 'undefined')) { res = JSON.parse(res[1]); if (typeof res.status != "undefined" && res.status == 1 ) { if ( res.action == 'redirect' ) { asl_show_success('SUCCESS: ' + res.msg); setTimeout(function () { location.href = ASL_MNT.admin_url + '/plugins.php'; }, 5000); } else if ( res.action == 'refresh' ) { asl_show_success('SUCCESS! Refreshing this page, please wait..'); $('form#asl_empty_redirect input[name=asl_mnt_msg]').val(res.msg); $('form#asl_empty_redirect').submit(); } else { asl_show_success('SUCCESS: ' + res.msg); } } else { if (typeof res.status != "undefined" && res.status == 0 ) { asl_show_error('FAILURE: ' + res.msg); } else { asl_show_error('Something went wrong. Response returned: ', response); } asl_enable_buttons(); } } else { // Failure? asl_show_error('Something went wrong. Here is the error message returned: ', response); asl_enable_buttons(); } } function asl_on_post_failure(response, t) { if (t === "timeout") { asl_show_error('Timeout error. Please try again!'); } else { asl_show_error('Something went wrong. Here is the error message returned: ', response); } asl_enable_buttons(); } function asl_show_success(msg) { $success.removeClass('hiddend').html(msg); } function asl_show_error(msg, response) { $error.removeClass('hiddend').html(msg); if ( typeof response !== 'undefined') { console.log(response); if ( typeof response.status != 'undefined' && typeof response.statusText != 'undefined' ) { $error_cont.removeClass('hiddend').val("Status: " + response.status + "\nCode: " + response.statusText); } else { $error_cont.removeClass('hiddend').val(response); } } } function asl_disable_buttons() { $('#asl_reset, #asl_wipe').addClass('disabled'); } function asl_enable_buttons() { $('.loading-small').addClass('hiddend'); $('#asl_reset, #asl_wipe').removeClass('disabled'); } function asl_clear_msg() { $error_cont.addClass('hiddend'); $error.addClass('hiddend'); $success.addClass('hiddend'); } });