1 line
9.3 KiB
JavaScript
1 line
9.3 KiB
JavaScript
|
|
function updraftcentral_send_command(e,r,a,o){for(var t in default_options={json_parse:!0,alert_on_error:!0,action:"updraft_central_ajax",nonce_key:"nonce",timeout:null,async:!0,type:"POST"},void 0!==uclion.updraftcentral_request_nonce&&uclion.updraftcentral_request_nonce&&(default_options.nonce=uclion.updraftcentral_request_nonce),void 0===o&&(o={}),default_options)o.hasOwnProperty(t)||(o[t]=default_options[t]);e={action:o.action,subaction:e},e[o.nonce_key]=o.nonce,e.action_data=r,r={type:o.type,url:ajaxurl,data:e,success:function(r,e){if(o.json_parse){try{var t=central_parse_json(r)}catch(e){return"function"==typeof o.error_callback?o.error_callback(r,e,502,t):(console.log(e),console.log(r),void(o.alert_on_error&&alert(uclion.unexpectedresponse+" "+r)))}if(t.hasOwnProperty("fatal_error"))return"function"==typeof o.error_callback?o.error_callback(r,e,500,t):(console.error(t.fatal_error_message),o.alert_on_error&&alert(t.fatal_error_message),!1);"function"==typeof a&&a(t,e,r)}else"function"==typeof a&&a(r,e)},error:function(e,r,t){"function"==typeof o.error_callback?o.error_callback(e,r,t):(console.log("updraftcentral_send_command: error: "+r+" ("+t+")"),console.log(e))},dataType:"text",async:o.async};null!=o.timeout&&(r.timeout=o.timeout),jQuery.ajax(r)}function central_parse_json(r,t){if(!(t=void 0!==t))try{return JSON.parse(r)}catch(e){console.log(uclion.plugin_name+": Exception when trying to parse JSON (1) - will attempt to fix/re-parse based upon first/last curly brackets"),console.log(r)}var a=r.indexOf("{"),o=r.lastIndexOf("}");if(-1<a&&-1<o){var e=r.slice(a,o+1);try{var n=JSON.parse(e);return t||console.log(uclion.plugin_name+": JSON re-parse successful"),t?{parsed:n,json_start_pos:a,json_last_pos:o+1}:n}catch(e){console.log(uclion.plugin_name+": Exception when trying to parse JSON (2) - will attempt to fix/re-parse based upon bracket counting");for(var l=a,c=0,u="",s=!1;(0<c||l==a)&&l<=o;){var i=r.charAt(l);s||"{"!=i?s||"}"!=i?'"'==i&&"\\"!=u&&(s=!s):c--:c++,u=i,l++}console.log("Started at cursor="+a+", ended at cursor="+l+" with result following:"),console.log(r.substring(a,l));try{n=JSON.parse(r.substring(a,l));return console.log(uclion.plugin_name+": JSON re-parse successful"),t?{parsed:n,json_start_pos:a,json_last_pos:l}:n}catch(e){throw e}}}throw uclion.plugin_name+": could not parse the JSON"}jQuery(function(r){function e(e){!!jQuery("#updraftcentral_mothership_other").is(":checked")?(jQuery("#updraftcentral_keycreate_mothership").prop("disabled",!1),e?jQuery("#updraftcentral_keycreate_mothership_firewalled_container").show():(jQuery(".updraftcentral_wizard_self_hosted_stage2").show(),jQuery("#updraftcentral_keycreate_mothership_firewalled_container").slideDown(),jQuery("#updraftcentral_keycreate_mothership").trigger("focus"))):(jQuery("#updraftcentral_keycreate_mothership").prop("disabled",!0),e||(jQuery(".updraftcentral_wizard_self_hosted_stage2").hide(),t()))}function t(){jQuery("#updraftcentral_wizard_stage1_error").text("");var r="";if(jQuery("#updraftcentral_mothership_updraftpluscom").is(":checked"))jQuery(".updraftcentral_keycreate_description").hide(),r="updraftplus.com";else if(jQuery("#updraftcentral_mothership_other").is(":checked")){jQuery(".updraftcentral_keycreate_description").show();var t=jQuery("#updraftcentral_keycreate_mothership").val();if(""==t)return void jQuery("#updraftcentral_wizard_stage1_error").text(uclion.updraftcentral_wizard_empty_url);try{r=new URL(t).hostname}catch(e){if(!(r="undefined"==typeof URL?jQuery("<a>").prop("href",t).prop("hostname"):r)||"undefined"!=typeof URL)return void jQuery("#updraftcentral_wizard_stage1_error").text(uclion.updraftcentral_wizard_invalid_url)}}jQuery("#updraftcentral_keycreate_description").val(r),jQuery(".updraftcentral_wizard_stage1").hide(),jQuery(".updraftcentral_wizard_stage2").show()}r("#updraftcentral_keys").on("click","a.updraftcentral_keys_show",function(e){e.preventDefault(),r(this).remove(),r("#updraftcentral_keys_table").slideDown()}),r("#updraftcentral_keycreate_altmethod_moreinfo_get").on("click",function(e){e.preventDefault(
|