"use strict"; var ajaxurl = mycustomsettings.ajaxurl; jQuery(document).ready(function(){ jQuery('span.wpums-delete').on('click', function(){ var confirm_delete = confirm('Delete This Rule?'); if (confirm_delete) { jQuery(this).parent().parent().remove(); jQuery('#myForm').submit(); } }); }); var unsaved = false; jQuery(document).ready(function () { jQuery(":input").change(function(){ var classes = this.className; var classes = this.className.split(' '); var found = jQuery.inArray('actions', classes) > -1; if(this.id != 'select-shortcode' && this.id != 'PreventChromeAutocomplete' && this.className != 'sc_chat_form_field_prompt_text' && !found) unsaved = true; }); function unloadPage(){ if(unsaved){ return "You have unsaved changes on this page. Do you want to leave this page and discard your changes or stay on this page?"; } } window.onbeforeunload = unloadPage; }); function deletePostsManual(number, type, typeId) { if (confirm("Are you sure you want to delete all posts generated by this rule?") == true) { document.getElementById("run_img" + number).style.visibility = "visible"; document.getElementById("run_img" + number).src= mycustomsettings.plugin_dir_url + "images/running.gif"; var data = { action: 'ums_my_action', id: number, type: typeId, how: type }; jQuery.post(ajaxurl, data, function(response) { if(response.trim() == 'ok') { document.getElementById("run_img" + number).src= mycustomsettings.plugin_dir_url + "images/ok.gif"; } else { if(response.trim() == 'nochange') { document.getElementById("run_img" + number).src= mycustomsettings.plugin_dir_url + "images/nochange.gif"; } else { document.getElementById("run_img" + number).src= mycustomsettings.plugin_dir_url + "images/failed.gif"; } } }).fail( function(xhr) { console.log('Error occured in processing: ' + xhr.statusText + ' - please check plugin\'s \'Activity and Logging\' menu for details.'); document.getElementById("run_img" + number).src= mycustomsettings.plugin_dir_url + "images/failed.gif"; }); } else { return; } } function runNowManual(number, typeId, automate) { if (automate != 0 || confirm("Are you sure you want to run this rule now?") == true) { document.getElementById("run_img" + number).style.visibility = "visible"; document.getElementById("run_img" + number).src= mycustomsettings.plugin_dir_url + "images/running.gif"; var startTime = new Date().getTime(); if(automate == 0) { var data = { action: 'ums_run_my_action', id: number, type: typeId }; } else { var data = { action: 'ums_run_my_action', id: number, type: typeId, rerun_count: automate }; } jQuery.post(ajaxurl, data, function(response) { if(response.trim() == 'CloudFlare') { console.log('CloudFlare retry request: ' + automate + "."); automate++; ums_sleepFor(5000); runNowManual(number, typeId, automate); } else { if(response.trim() == 'ok') { document.getElementById("run_img" + number).src= mycustomsettings.plugin_dir_url + "images/ok.gif"; } else { if(response.trim() == 'nochange') { document.getElementById("run_img" + number).src= mycustomsettings.plugin_dir_url + "images/nochange.gif"; } else { document.getElementById("run_img" + number).src= mycustomsettings.plugin_dir_url + "images/failed.gif"; } } } }).fail( function(xhr) { var endTime = new Date().getTime(); if(endTime - startTime > 10000) { //console.log('Ajax related failure: "' + xhr.statusText + '" in loop: ' + automate + ", retrying."); //automate++; //runNowManual(number, typeId, automate); } else { document.getElementById("run_img" + number).src= mycustomsettings.plugin_dir_url + "images/failed.gif"; console.log('Unrecoverable error: "' + xhr.statusText + '" in loop: ' + automate); } }); } else { return; } } function ums_sleepFor(sleepDuration){ var now = new Date().getTime(); while(new Date().getTime() < now + sleepDuration){ /* Do nothing */ } } function ums_wait(ms){ var start = new Date().getTime(); var end = start; while(end < start + ms) { end = new Date().getTime(); } } function actionsChangedManual(ruleId, selectedValue, typeId) { if (selectedValue==='run') { if(unsaved){ alert("You have unsaved changes on this page. Please save your changes before manually running rules!"); return; } runNowManual(ruleId, typeId, 0); } else { if (selectedValue==='trash') { deletePostsManual(ruleId, 'trash', typeId); } else { deletePostsManual(ruleId, 'delete', typeId); } } } jQuery(document).ready(function() { jQuery('.ums_image_button').on('click', function(){ tb_show('',"media-upload.php?type=image&TB_iframe=true"); window.send_to_editor = function(html) { var url = jQuery(html).attr('src'); jQuery('#cr_input_box').val(url); tb_remove(); }; }); }); function thisonChangeHandler(cb) { if(cb.checked == true) { jQuery("input.activateDeactivateClass:checkbox").each( function () { jQuery(this).prop('checked', true); }); } else { jQuery("input.activateDeactivateClass:checkbox").each( function () { jQuery(this).prop('checked', false); }); } } var codemodalfzr = document.getElementById('mymodalfzr'); var btn = document.getElementById("mybtnfzr"); var span = document.getElementById("ums_close"); var ok = document.getElementById("ums_ok"); if(btn != null) { btn.onclick = function() { codemodalfzr.style.display = "block"; } } if(span != null) { span.onclick = function() { codemodalfzr.style.display = "none"; } } if(ok != null) { ok.onclick = function() { codemodalfzr.style.display = "none"; } } window.onclick = function(event) { if (event.target == codemodalfzr) { codemodalfzr.style.display = "none"; } } jQuery("#myForm").on('submit', function (e) { jQuery(this).on('submit', function() { return false; }); e.preventDefault(); var changedCheckboxes = []; var this_master = jQuery(this); jQuery('button[type=submit], input[type=submit]').prop('disabled',true); this_master.find('input[type="checkbox"]').each( function () { var checkbox_this = jQuery(this); if (checkbox_this.attr("id") !== "exclusion") { if( checkbox_this.is(":checked") == true ) { checkbox_this.attr('value','1'); } else { checkbox_this.prop('checked',true); checkbox_this.attr('value','0'); changedCheckboxes.push(checkbox_this); } } }); if (typeof mycustomsettings.max_input_vars !== 'undefined' && jQuery('input, textarea, select, button').length >= mycustomsettings.max_input_vars) { this_master.append("Saving settings, please wait..."); var coderevolution_max_input_var_data = this_master.serialize(); this_master.find("table").remove(); this_master.append(""); this_master.find("input.coderevolution_max_input_var_data").val(coderevolution_max_input_var_data); } setTimeout(() => { this.submit(); changedCheckboxes.forEach(function(item) { item.prop('checked', false); }); }, 10); }); function createAdmin(i) { var modals = []; var btns = []; var spans = []; var oks = []; var btns = []; var myarr = []; modals = document.getElementById("mymodalfzr" + i); btns = document.getElementById("mybtnfzr" + i); spans = document.getElementById("ums_close" + i); oks = document.getElementById("ums_ok" + i); btns.onclick = function(e) { modals.style.display = "block"; } spans.onclick = function(e) { modals.style.display = "none"; } oks.onclick = function(e) { modals.style.display = "none"; } modals.addEventListener("click", function(e) { if (e.target !== this) return; modals.style.display = "none"; }, false); }